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.