Utilities

gpa-injector

Usage:
    gpa-injector [--target-application,-t] <target app> [--layer <layer name>][--working-directory,-w <working directory>] [-- <target argument>...]

     --device-override <int>
                          Force use of a specific graphics device. Use "gpa-help --layer device-override"
			  to list available devices. This option loads the device-override gpa layer.
     --disable-ac-detector
                          If provided, disables anti-cheat detector module (enabled by default).
     --disable-io-redirect
                          If provided, disables standard input output redirection (enabled by default).
     --disable-key-events If provided, disables publishing of keyboard events (enabled by default).
  -K --enable-keyframes   Enable keyframes (disabled by default)
  -h --help               Print this help information
     --hook-api <string>  Comma separated list of apis to hook; valid gfx APIs: all, vulkan, opengl, opencl, d3dall, d3d10, d3d11, d3d12 (default: all)
     --injection-mode <int>
                          0 - SetThreadContext, 1 - CreateRemoteThread (default: SetThreadContext)
  -L --layer <string>     Name of layer to insert; layers are inserted in order appearing on
			  command line (possible layers: api-debug, capture, logging,
			  hud-layer, screenshot, validation). Default: no layers.
			  Optional key value pairs can be provided to the layer
			  --layer name[:key=value,...]. Maximum length of args to any single
			  layer is 512 characters. Example: gpa-injector --layer capture:directory=\my-streams,name=my-stream
  -l --log-file <string>  Direct logging output to the specified file instead 
			  of console (default: console-only). 
			  "#PROC" replaced by attached process name 
			  "#PID" replaced by attached process PID number
  -v --log-level <string> Set log output severity level; valid values are: trace, debug,

			  info, warn, error, fatal (default: info)
  -m --log-mask <string>  Comma separated list of modules to filter in: generic, page-tracker
  -p --page-tracker-mode <int>
                          0 - default, 1 - disabled, 2 - Use shadow buffer approach for 
			  managed Metal buffers, 3 - Force shadow buffer approach for all 
     --skiplist-file <string>
                          A path to the skip-list txt file that 
			  stores process names to skip during the injection. 
  -t --target-application <string>
                          The workload to capture
  -V --version            Print version and build info to the console, then exit
     --waitfordebugger <string>
                          Waits for user input after injecting to a process of specified name.
			  Use "all" to wait on every new process. Provide process name without extension.
  -w --working-directory <string>
                          Path to the working directory for the target application.

To use custom layers, set GPA_LAYER_PATH in your environment 
to point to the location where the layers are installed.
This must be a properly formatted absolute path

Possible return codes:
    0: Execution completed successfully and without error
    1: Execution failed with unspecified error
    2: Execution failed with 'File Not Found'
    3: One or more command-line args are missing or invalid

gpa-player

Usage: gpa-player [options] <stream filename> 
Options:
  -d --delimiters <string>
                          Set the list of range delimiter(s) in the format 'api:class::function'. The list of tokens are delimited by commas.  Example: Metal:MTLCommandBuffer::presentDrawable,Vulkan:vkQueuePresentKHR (default: null)
     --device-override <int>
                          Force use of a specific graphics device. Use "gpa-help --layer device-override" to list available devices. This option loads the device-override gpa layer.
     --disable-pso-filtering
                          Create all pipeline state objects captured in stream. Pipeline state objects filtering is enabled by default.
     --disable-sync-resolving
                          Disable command queue deadlocks resolving during playback.
     --enable-cross-gpu   Run player in cross GPU compatibility mode, this option requires additional time for pre-processing and not 100% guaranteed valid playback on another hardware.
  -f --first-frame <int>  Play only this frame, the number of times specified in repeat-count
  -h --help               Print this help information
  -F --last-frame <int>   Ignored if 'frame' option is not present; if set and valid, this option defines the last 'frame' in a multi-frame range to be played (and potentially repeated if 'repeat-count' is set). 'last-frame' must be strictly greater than 'frame'.
  -l --log-file <string>  Direct logging output to the specified file instead of console (default: console-only)
  -v --log-level <string> Set log output severity level; valid values are: trace, debug, info, warn, error, fatal (default: info)
  -o --offscreen          Playback without visible window
  -s --play-from <int>    Start at this percentage into the stream
     --post-layer <string>
                          Name of layer to insert; post-layers are inserted after the implicit playback layer.
			  Default: no layers. See gpa-injector --layer argument description (--help) for more detail.
     --pre-layer <string> Name of layer to insert; pre-layers are inserted before the implicit playback layer.
			  Default: no layers. See gpa-injector --layer argument description (--help) for more detail.
  -r --repeat-count <int> Repeat playback of the selected frame this many times; only valid if 'frame' is specified
  -V --version            Print version and build info to the console, then exit
     --waitfordebugger    Waits for user input before start of playback

To use custom layers, set GPA_LAYER_PATH in your environment 
to point to the location where the layers are installed.
This must be a properly formatted absolute path

Possible return codes:
    0: Execution completed successfully and without error
    1: Execution failed with unspecified error
    2: Execution failed with 'File Not Found'
    3: One or more command-line args are missing or invalid

gpa-stream-info

Usage: gpa-stream-info.exe [options] <stream> 

Displays stream information.

Options:
     --csv                Display only the header data in comma-separated tabular format
  -h --help               Print this help information
  -k --key <string>       Display only the value corresponding to the provided header key
  -V --version            Print version and build info to the console, then exit

Possible return codes:
    0: Execution completed successfully and without error
    1: Execution failed with unspecified error
    2: Execution failed with 'File Not Found'
    3: One or more command-line args are missing or invalid
    4: Data was found, but is corrupted or otherwise unreadable

gpa-stream-analyzer

Usage: gpa-stream-analyzer.exe [options] <stream> 

Displays capture-time performance metrics (i.e. cpu_frame_ms) as a labeled csv data table

Options:
  -d --duration <int>     Stop after the specified number of frames (disabled by default: 0)
  -f --frame <int>        Start with the specified frame (default: 1)
  -h --help               Print this help information
  -V --version            Print version and build info to the console, then exit

Possible return codes:
    0: Execution completed successfully and without error
    1: Execution failed with unspecified error
    2: Execution failed with 'File Not Found'
    3: One or more command-line args are missing or invalid
    4: Data was found, but is corrupted or otherwise unreadable

gpa-cpp-generator

Usage: gpa-cpp-generator.exe <stream> [options] 

Generates C++ source/project files for Stream playback using explicit API calls.

Options:
     --directory <string> Generate all files into the specified directory (default: <stream>)
  -d --duration <int>     Limit the generated C++ API calls to a specified number of frames (defaults to remaining frames: 0)
  -f --frame <int>        Generate explicit C++ API calls, starting with the specified frame (defaults to the first frame: 1)
  -h --help               Print this help information
  -l --log-level <string> Set log output level: trace, debug, info, warn, error, fatal (default: info)
  -m --max-callables-per-file <int>
                          Split frames that contain more than the specified number of callables. (default: 1000)
     --offscreen          Disable code generation to show a window of the output frame sequence
  -V --version            Print version and build info to the console

Possible return codes:
    0: Execution completed successfully and without error
    1: Execution failed with unspecified error
    2: Execution failed with 'File Not Found'
    3: One or more command-line arguments are missing or invalid
    4: Data was found, but is corrupted or otherwise unreadable

gpa-help

Usage: gpaframework/bin/Release/gpa-help [options]

Display help information related to the GPA Framework.

Options:
  -H --help               Print this help information, then exit
     --layer <string>     Display help for the named layer (see --layers)
     --layers             Display a list of layer names, then exit
     --markdown           Display layer help in markdown format
  -V --version            Print version and build info to the console, then exit

Possible return codes:
    0: Execution completed successfully and without error
    1: Execution failed with unspecified error
    3: One or more command-line args are missing or invalid

gpa-system-info

This utility simply prints out information about the system it is run on, there are no command line options.