GAPIT · Graphics API Debugger

The GAPID package contains a command line tool named gapit that can be used to capture, replay and query traces from the command line. You can find the gapit executable in your GAPID install location. The default install location varies by platform: C:\Program Files (x86)\gapid\gapit.exe on Windows, /Applications/GAPID.app/Contents/MacOS/gapit on Mac OS X, or /opt/gapid/gapit on linux.

GAPIT Help

CommandShort help

benchmark

Runs a set of benchmarking tests on an application

commands

Prints the command tree for a .gfxtrace file

create_graph_visualization

Create graph visualization file from capture

devices

Lists the devices available

dump

Dump a textual representation of a .gfxtrace file

dump_fbo

Extract all framebuffer observations from a trace.

dump_pipeline

Prints the bound pipeline and descriptor sets for a point in a .gfxtrace file

dump_replay

Prints textual representation of a replay payload.

dump_resources

Dump all shaders at a particular command from a .gfxtrace

export_replay

Export replay vm instruction and assets.

make_doc

Generate documentation for all commands.

memory

Prints memory metrics about a capture file

packages

Prints information about packages installed on a device

profile

Profile a replay to get the time of executing the commands.

replace_resource

Produce a new trace with the given resource replaced at the given command

report

Check a capture replays without issues

screenshot

Produce a screenshot at a particular command from a .gfxtrace file

state

Prints the state tree for a point in a .gfxtrace file

stats

Prints information about a capture file

status

Attaches to an existing gapis, and provides status

stress-test

Performs evil things on GAPIS to try to break it

trace

Captures a gfx trace from an application

trim

(WIP) Trims a gfx trace to the dependencies of the requested frames

unpack

Displays the raw protos in a protopack file

video

Produce a video or sequence of frames from a .gfxtrace filebenchmark

Runs a set of benchmarking tests on an application

Usage: GAPIT [GAPIT-flags] benchmark [benchmark-flags]

GAPIT-flags: -analytics string If non-empty enable analytics using the specified user-id -args string A single string that will be parsed into extra individual arguments -crashreport Automatically send crash reports to Google -decodestack string Decode a stackdump generated by this executable -log-file string The file to store the logs in -log-level value The severity to enable logs at [one of: "Verbose", "Debug", "Info", "Warning", "Error", "Fatal"] (default Info) -log-stacks If true, stack traces are logged for all errors (default true) -log-status Log status updates as they happen -log-style value The style to use when printing the log [one of: "raw", "brief", "normal", "detailed"] (default normal) -profile-cpu string write cpu profile to file -profile-mem string write mem profile to file -profile-trace string write a trace to file -runfiles string Location of the runfiles manifest -version Display the application version benchmark-flags: -additionalargs string additional arguments to pass to the application -api string only capture the given API valid options are gles and vulkan -device string Device to use. Either 'host' or the friendly name of the device -dumptrace string dump a systrace of gapis -env value List of environment variables to set, X=Y -gapir-args string The arguments to be passed to gapir -gapir-device string Device to use. Either 'host' or the friendly name of the device -gapir-env value List of environment variables to set, X=Y -gapir-nofallback Do not fallback to another device if the requested one could not be found -gapir-os string Os of the device to use. -gapir-serial string Serial of the device to use. -gapir-ssh-config string The ssh config to use for finding remote devices -gapis-args string The arguments to be passed to gapis -gapis-disablelog Disable the log output -gapis-port int gapis tcp port to connect to, 0 means start new instance. -gapis-profile-pprof string produce a pprof file -gapis-profile-trace string produce a trace file -gapis-token string The auth token to use when connecting to an existing server. -noopt disables optimization of the replay stream -numframes int how many frames to capture -os string Os of the device to use. -outputcsv outputs data in CSV-friendly format -serial string Serial of the device to use. -ssh-config string The ssh config to use for finding remote devices -startframe int perform a MEC trace starting at this frame -uri string uri of the application to trace -workingdir string working directory for the application

Back

commands

Prints the command tree for a .gfxtrace file

Usage: GAPIT [GAPIT-flags] commands [commands-flags]

GAPIT-flags: -analytics string If non-empty enable analytics using the specified user-id -args string A single string that will be parsed into extra individual arguments -crashreport Automatically send crash reports to Google -decodestack string Decode a stackdump generated by this executable -log-file string The file to store the logs in -log-level value The severity to enable logs at [one of: "Verbose", "Debug", "Info", "Warning", "Error", "Fatal"] (default Info) -log-stacks If true, stack traces are logged for all errors (default true) -log-status Log status updates as they happen -log-style value The style to use when printing the log [one of: "raw", "brief", "normal", "detailed"] (default normal) -profile-cpu string write cpu profile to file -profile-mem string write mem profile to file -profile-trace string write a trace to file -runfiles string Location of the runfiles manifest -version Display the application version commands-flags: -allowincompleteframe Make a group for incomplete frames -captureid if true then interpret the capture file argument as a capture ID that is already loaded in gapis -context int Filter to the i'th context. (default -1) -gapir-args string The arguments to be passed to gapir -gapir-device string Device to use. Either 'host' or the friendly name of the device -gapir-env value List of environment variables to set, X=Y -gapir-nofallback Do not fallback to another device if the requested one could not be found -gapir-os string Os of the device to use. -gapir-serial string Serial of the device to use. -gapir-ssh-config string The ssh config to use for finding remote devices -gapis-args string The arguments to be passed to gapis -gapis-disablelog Disable the log output -gapis-port int gapis tcp port to connect to, 0 means start new instance. -gapis-profile-pprof string produce a pprof file -gapis-profile-trace string produce a trace file -gapis-token string The auth token to use when connecting to an existing server. -groupbyapi Group commands by api -groupbycontext Group commands by context -groupbydrawcall Group commands by draw call -groupbyframe Group commands by frame -groupbythread Group commands by thread -groupbyusermarkers Group commands by user markers -includenocontextgroups Include no context groups -maxchildren int Maximum children per tree node. -name string Filter to commands and groups with the specified name. -observations-data if true then display the bytes read and written by each command. Implies Ranges. -observations-ranges if true then display the read and write ranges made by each command. -raw if true then the value of constants, instead of their names, will be dumped.

Back

create_graph_visualization

Create graph visualization file from capture

Usage: GAPIT [GAPIT-flags] create_graph_visualization [create_graph_visualization-flags]

GAPIT-flags: -analytics string If non-empty enable analytics using the specified user-id -args string A single string that will be parsed into extra individual arguments -crashreport Automatically send crash reports to Google -decodestack string Decode a stackdump generated by this executable -log-file string The file to store the logs in -log-level value The severity to enable logs at [one of: "Verbose", "Debug", "Info", "Warning", "Error", "Fatal"] (default Info) -log-stacks If true, stack traces are logged for all errors (default true) -log-status Log status updates as they happen -log-style value The style to use when printing the log [one of: "raw", "brief", "normal", "detailed"] (default normal) -profile-cpu string write cpu profile to file -profile-mem string write mem profile to file -profile-trace string write a trace to file -runfiles string Location of the runfiles manifest -version Display the application version create_graph_visualization-flags: -format string output format of the graph: 'pbtxt' (Tensorboard) or 'dot' (Graphviz) -gapis-args string The arguments to be passed to gapis -gapis-disablelog Disable the log output -gapis-port int gapis tcp port to connect to, 0 means start new instance. -gapis-profile-pprof string produce a pprof file -gapis-profile-trace string produce a trace file -gapis-token string The auth token to use when connecting to an existing server. -out string path to save graph visualization

Back

devices

Lists the devices available

Usage: GAPIT [GAPIT-flags] devices [devices-flags]

GAPIT-flags: -analytics string If non-empty enable analytics using the specified user-id -args string A single string that will be parsed into extra individual arguments -crashreport Automatically send crash reports to Google -decodestack string Decode a stackdump generated by this executable -log-file string The file to store the logs in -log-level value The severity to enable logs at [one of: "Verbose", "Debug", "Info", "Warning", "Error", "Fatal"] (default Info) -log-stacks If true, stack traces are logged for all errors (default true) -log-status Log status updates as they happen -log-style value The style to use when printing the log [one of: "raw", "brief", "normal", "detailed"] (default normal) -profile-cpu string write cpu profile to file -profile-mem string write mem profile to file -profile-trace string write a trace to file -runfiles string Location of the runfiles manifest -version Display the application version devices-flags: -gapis-args string The arguments to be passed to gapis -gapis-disablelog Disable the log output -gapis-port int gapis tcp port to connect to, 0 means start new instance. -gapis-profile-pprof string produce a pprof file -gapis-profile-trace string produce a trace file -gapis-token string The auth token to use when connecting to an existing server. -os value Only display devices of the given OS kind [one of: "UnknownOS", "Windows", "OSX", "Linux", "Android", "Stadia"] (default UnknownOS)

Back

dump

Dump a textual representation of a .gfxtrace file

Usage: GAPIT [GAPIT-flags] dump [dump-flags]

GAPIT-flags: -analytics string If non-empty enable analytics using the specified user-id -args string A single string that will be parsed into extra individual arguments -crashreport Automatically send crash reports to Google -decodestack string Decode a stackdump generated by this executable -log-file string The file to store the logs in -log-level value The severity to enable logs at [one of: "Verbose", "Debug", "Info", "Warning", "Error", "Fatal"] (default Info) -log-stacks If true, stack traces are logged for all errors (default true) -log-status Log status updates as they happen -log-style value The style to use when printing the log [one of: "raw", "brief", "normal", "detailed"] (default normal) -profile-cpu string write cpu profile to file -profile-mem string write mem profile to file -profile-trace string write a trace to file -runfiles string Location of the runfiles manifest -version Display the application version dump-flags: -captureid if true then interpret the capture file argument as a capture ID that is already loaded in gapis -gapir-args string The arguments to be passed to gapir -gapir-device string Device to use. Either 'host' or the friendly name of the device -gapir-env value List of environment variables to set, X=Y -gapir-nofallback Do not fallback to another device if the requested one could not be found -gapir-os string Os of the device to use. -gapir-serial string Serial of the device to use. -gapir-ssh-config string The ssh config to use for finding remote devices -gapis-args string The arguments to be passed to gapis -gapis-disablelog Disable the log output -gapis-port int gapis tcp port to connect to, 0 means start new instance. -gapis-profile-pprof string produce a pprof file -gapis-profile-trace string produce a trace file -gapis-token string The auth token to use when connecting to an existing server. -observations-data if true then display the bytes read and written by each command. Implies Ranges. -observations-ranges if true then display the read and write ranges made by each command. -raw if true then the value of constants, instead of their names, will be dumped. -showabiinfo if true then show information of the ABI used for the trace. -showdeviceinfo if true then show originating device information.

Back

dump_fbo

Extract all framebuffer observations from a trace.

Usage: GAPIT [GAPIT-flags] dump_fbo [dump_fbo-flags]

GAPIT-flags: -analytics string If non-empty enable analytics using the specified user-id -args string A single string that will be parsed into extra individual arguments -crashreport Automatically send crash reports to Google -decodestack string Decode a stackdump generated by this executable -log-file string The file to store the logs in -log-level value The severity to enable logs at [one of: "Verbose", "Debug", "Info", "Warning", "Error", "Fatal"] (default Info) -log-stacks If true, stack traces are logged for all errors (default true) -log-status Log status updates as they happen -log-style value The style to use when printing the log [one of: "raw", "brief", "normal", "detailed"] (default normal) -profile-cpu string write cpu profile to file -profile-mem string write mem profile to file -profile-trace string write a trace to file -runfiles string Location of the runfiles manifest -version Display the application version dump_fbo-flags: -captureid if true then interpret the capture file argument as a capture ID that is already loaded in gapis -context int Filter to the i'th context. -gapir-args string The arguments to be passed to gapir -gapir-device string Device to use. Either 'host' or the friendly name of the device -gapir-env value List of environment variables to set, X=Y -gapir-nofallback Do not fallback to another device if the requested one could not be found -gapir-os string Os of the device to use. -gapir-serial string Serial of the device to use. -gapir-ssh-config string The ssh config to use for finding remote devices -gapis-args string The arguments to be passed to gapis -gapis-disablelog Disable the log output -gapis-port int gapis tcp port to connect to, 0 means start new instance. -gapis-profile-pprof string produce a pprof file -gapis-profile-trace string produce a trace file -gapis-token string The auth token to use when connecting to an existing server. -out string output framebuffer directory path

Back

dump_pipeline

Prints the bound pipeline and descriptor sets for a point in a .gfxtrace file

Usage: GAPIT [GAPIT-flags] dump_pipeline [dump_pipeline-flags]

GAPIT-flags: -analytics string If non-empty enable analytics using the specified user-id -args string A single string that will be parsed into extra individual arguments -crashreport Automatically send crash reports to Google -decodestack string Decode a stackdump generated by this executable -log-file string The file to store the logs in -log-level value The severity to enable logs at [one of: "Verbose", "Debug", "Info", "Warning", "Error", "Fatal"] (default Info) -log-stacks If true, stack traces are logged for all errors (default true) -log-status Log status updates as they happen -log-style value The style to use when printing the log [one of: "raw", "brief", "normal", "detailed"] (default normal) -profile-cpu string write cpu profile to file -profile-mem string write mem profile to file -profile-trace string write a trace to file -runfiles string Location of the runfiles manifest -version Display the application version dump_pipeline-flags: -at value command/subcommand index to get the pipeline after. Empty for last -captureid if true then interpret the capture file argument as a capture ID that is already loaded in gapis -compute print out the most recently bound compute pipeline instead of graphics pipeline -gapis-args string The arguments to be passed to gapis -gapis-disablelog Disable the log output -gapis-port int gapis tcp port to connect to, 0 means start new instance. -gapis-profile-pprof string produce a pprof file -gapis-profile-trace string produce a trace file -gapis-token string The auth token to use when connecting to an existing server. -print-shaders print the disassembled shaders along with the bound descriptor values

Back

dump_replay

Prints textual representation of a replay payload.

Usage: GAPIT [GAPIT-flags] dump_replay

GAPIT-flags: -analytics string If non-empty enable analytics using the specified user-id -args string A single string that will be parsed into extra individual arguments -crashreport Automatically send crash reports to Google -decodestack string Decode a stackdump generated by this executable -log-file string The file to store the logs in -log-level value The severity to enable logs at [one of: "Verbose", "Debug", "Info", "Warning", "Error", "Fatal"] (default Info) -log-stacks If true, stack traces are logged for all errors (default true) -log-status Log status updates as they happen -log-style value The style to use when printing the log [one of: "raw", "brief", "normal", "detailed"] (default normal) -profile-cpu string write cpu profile to file -profile-mem string write mem profile to file -profile-trace string write a trace to file -runfiles string Location of the runfiles manifest -version Display the application version

Back

dump_resources

Dump all shaders at a particular command from a .gfxtrace

Usage: GAPIT [GAPIT-flags] dump_resources [dump_resources-flags]

GAPIT-flags: -analytics string If non-empty enable analytics using the specified user-id -args string A single string that will be parsed into extra individual arguments -crashreport Automatically send crash reports to Google -decodestack string Decode a stackdump generated by this executable -log-file string The file to store the logs in -log-level value The severity to enable logs at [one of: "Verbose", "Debug", "Info", "Warning", "Error", "Fatal"] (default Info) -log-stacks If true, stack traces are logged for all errors (default true) -log-status Log status updates as they happen -log-style value The style to use when printing the log [one of: "raw", "brief", "normal", "detailed"] (default normal) -profile-cpu string write cpu profile to file -profile-mem string write mem profile to file -profile-trace string write a trace to file -runfiles string Location of the runfiles manifest -version Display the application version dump_resources-flags: -at int command index to dump the resources after (default -1) -captureid if true then interpret the capture file argument as a capture ID that is already loaded in gapis -gapir-args string The arguments to be passed to gapir -gapir-device string Device to use. Either 'host' or the friendly name of the device -gapir-env value List of environment variables to set, X=Y -gapir-nofallback Do not fallback to another device if the requested one could not be found -gapir-os string Os of the device to use. -gapir-serial string Serial of the device to use. -gapir-ssh-config string The ssh config to use for finding remote devices -gapis-args string The arguments to be passed to gapis -gapis-disablelog Disable the log output -gapis-port int gapis tcp port to connect to, 0 means start new instance. -gapis-profile-pprof string produce a pprof file -gapis-profile-trace string produce a trace file -gapis-token string The auth token to use when connecting to an existing server.

Back

export_replay

Export replay vm instruction and assets.

Usage: GAPIT [GAPIT-flags] export_replay [export_replay-flags]

GAPIT-flags: -analytics string If non-empty enable analytics using the specified user-id -args string A single string that will be parsed into extra individual arguments -crashreport Automatically send crash reports to Google -decodestack string Decode a stackdump generated by this executable -log-file string The file to store the logs in -log-level value The severity to enable logs at [one of: "Verbose", "Debug", "Info", "Warning", "Error", "Fatal"] (default Info) -log-stacks If true, stack traces are logged for all errors (default true) -log-status Log status updates as they happen -log-style value The style to use when printing the log [one of: "raw", "brief", "normal", "detailed"] (default normal) -profile-cpu string write cpu profile to file -profile-mem string write mem profile to file -profile-trace string write a trace to file -runfiles string Location of the runfiles manifest -version Display the application version export_replay-flags: -apk string (experimental) name of the stand-alone APK created to perform the replay. This name must be <app_package>.apk (e.g. com.example.replay.apk) -captureid if true then interpret the capture file argument as a capture ID that is already loaded in gapis -context int Filter to the i'th context. -gapir-args string The arguments to be passed to gapir -gapir-device string Device to use. Either 'host' or the friendly name of the device -gapir-env value List of environment variables to set, X=Y -gapir-nofallback Do not fallback to another device if the requested one could not be found -gapir-os string Os of the device to use. -gapir-serial string Serial of the device to use. -gapir-ssh-config string The ssh config to use for finding remote devices -gapis-args string The arguments to be passed to gapis -gapis-disablelog Disable the log output -gapis-port int gapis tcp port to connect to, 0 means start new instance. -gapis-profile-pprof string produce a pprof file -gapis-profile-trace string produce a trace file -gapis-token string The auth token to use when connecting to an existing server. -mode value generate special purposed trace [one of: "plain", "diagnostics", "frames", "timestamps"] (default plain) -originaldevice export replay for the original device -out string output directory for commands and assets (default "replay_export") -sdkpath string Path to Android SDK directory (default: ANDROID_SDK_HOME environment variable)

Back

make_doc

Generate documentation for all commands.

Usage: GAPIT [GAPIT-flags] make_doc

GAPIT-flags: -analytics string If non-empty enable analytics using the specified user-id -args string A single string that will be parsed into extra individual arguments -crashreport Automatically send crash reports to Google -decodestack string Decode a stackdump generated by this executable -log-file string The file to store the logs in -log-level value The severity to enable logs at [one of: "Verbose", "Debug", "Info", "Warning", "Error", "Fatal"] (default Info) -log-stacks If true, stack traces are logged for all errors (default true) -log-status Log status updates as they happen -log-style value The style to use when printing the log [one of: "raw", "brief", "normal", "detailed"] (default normal) -profile-cpu string write cpu profile to file -profile-mem string write mem profile to file -profile-trace string write a trace to file -runfiles string Location of the runfiles manifest -version Display the application version

Back

memory

Prints memory metrics about a capture file

Usage: GAPIT [GAPIT-flags] memory [memory-flags]

GAPIT-flags: -analytics string If non-empty enable analytics using the specified user-id -args string A single string that will be parsed into extra individual arguments -crashreport Automatically send crash reports to Google -decodestack string Decode a stackdump generated by this executable -log-file string The file to store the logs in -log-level value The severity to enable logs at [one of: "Verbose", "Debug", "Info", "Warning", "Error", "Fatal"] (default Info) -log-stacks If true, stack traces are logged for all errors (default true) -log-status Log status updates as they happen -log-style value The style to use when printing the log [one of: "raw", "brief", "normal", "detailed"] (default normal) -profile-cpu string write cpu profile to file -profile-mem string write mem profile to file -profile-trace string write a trace to file -runfiles string Location of the runfiles manifest -version Display the application version memory-flags: -at value command/subcommand index to get the memory after. Empty for last -captureid if true then interpret the capture file argument as a capture ID that is already loaded in gapis -gapis-args string The arguments to be passed to gapis -gapis-disablelog Disable the log output -gapis-port int gapis tcp port to connect to, 0 means start new instance. -gapis-profile-pprof string produce a pprof file -gapis-profile-trace string produce a trace file -gapis-token string The auth token to use when connecting to an existing server.

Back

packages

Prints information about packages installed on a device

Usage: GAPIT [GAPIT-flags] packages [packages-flags]

GAPIT-flags: -analytics string If non-empty enable analytics using the specified user-id -args string A single string that will be parsed into extra individual arguments -crashreport Automatically send crash reports to Google -decodestack string Decode a stackdump generated by this executable -log-file string The file to store the logs in -log-level value The severity to enable logs at [one of: "Verbose", "Debug", "Info", "Warning", "Error", "Fatal"] (default Info) -log-stacks If true, stack traces are logged for all errors (default true) -log-status Log status updates as they happen -log-style value The style to use when printing the log [one of: "raw", "brief", "normal", "detailed"] (default normal) -profile-cpu string write cpu profile to file -profile-mem string write mem profile to file -profile-trace string write a trace to file -runfiles string Location of the runfiles manifest -version Display the application version packages-flags: -adb string Path to the adb executable; leave empty to search the environment -dataheader string marker to write before package data -device string Device to use. Either 'host' or the friendly name of the device -env value List of environment variables to set, X=Y -format value output format [one of: "json", "proto", "proto-string", "list"] (default json) -gapis-args string The arguments to be passed to gapis -gapis-disablelog Disable the log output -gapis-port int gapis tcp port to connect to, 0 means start new instance. -gapis-profile-pprof string produce a pprof file -gapis-profile-trace string produce a trace file -gapis-token string The auth token to use when connecting to an existing server. -icondensity float scale multiplier on icon density. (default 1) -icons if true then package icons are also dumped. -os string Os of the device to use. -out string output file, standard output if none -serial string Serial of the device to use. -ssh-config string The ssh config to use for finding remote devices

Back

profile

Profile a replay to get the time of executing the commands.

Usage: GAPIT [GAPIT-flags] profile [profile-flags]

GAPIT-flags: -analytics string If non-empty enable analytics using the specified user-id -args string A single string that will be parsed into extra individual arguments -crashreport Automatically send crash reports to Google -decodestack string Decode a stackdump generated by this executable -log-file string The file to store the logs in -log-level value The severity to enable logs at [one of: "Verbose", "Debug", "Info", "Warning", "Error", "Fatal"] (default Info) -log-stacks If true, stack traces are logged for all errors (default true) -log-status Log status updates as they happen -log-style value The style to use when printing the log [one of: "raw", "brief", "normal", "detailed"] (default normal) -profile-cpu string write cpu profile to file -profile-mem string write mem profile to file -profile-trace string write a trace to file -runfiles string Location of the runfiles manifest -version Display the application version profile-flags: -gapir-args string The arguments to be passed to gapir -gapir-device string Device to use. Either 'host' or the friendly name of the device -gapir-env value List of environment variables to set, X=Y -gapir-nofallback Do not fallback to another device if the requested one could not be found -gapir-os string Os of the device to use. -gapir-serial string Serial of the device to use. -gapir-ssh-config string The ssh config to use for finding remote devices -gapis-args string The arguments to be passed to gapis -gapis-disablelog Disable the log output -gapis-port int gapis tcp port to connect to, 0 means start new instance. -gapis-profile-pprof string produce a pprof file -gapis-profile-trace string produce a trace file -gapis-token string The auth token to use when connecting to an existing server. -out string output file to save the profiling result

Back

replace_resource

Produce a new trace with the given resource replaced at the given command

Usage: GAPIT [GAPIT-flags] replace_resource [replace_resource-flags]

GAPIT-flags: -analytics string If non-empty enable analytics using the specified user-id -args string A single string that will be parsed into extra individual arguments -crashreport Automatically send crash reports to Google -decodestack string Decode a stackdump generated by this executable -log-file string The file to store the logs in -log-level value The severity to enable logs at [one of: "Verbose", "Debug", "Info", "Warning", "Error", "Fatal"] (default Info) -log-stacks If true, stack traces are logged for all errors (default true) -log-status Log status updates as they happen -log-style value The style to use when printing the log [one of: "raw", "brief", "normal", "detailed"] (default normal) -profile-cpu string write cpu profile to file -profile-mem string write mem profile to file -profile-trace string write a trace to file -runfiles string Location of the runfiles manifest -version Display the application version replace_resource-flags: -at int command index to replace the resource(s) at (default -1) -captureid if true then interpret the capture file argument as a capture ID that is already loaded in gapis -gapir-args string The arguments to be passed to gapir -gapir-device string Device to use. Either 'host' or the friendly name of the device -gapir-env value List of environment variables to set, X=Y -gapir-nofallback Do not fallback to another device if the requested one could not be found -gapir-os string Os of the device to use. -gapir-serial string Serial of the device to use. -gapir-ssh-config string The ssh config to use for finding remote devices -gapis-args string The arguments to be passed to gapis -gapis-disablelog Disable the log output -gapis-port int gapis tcp port to connect to, 0 means start new instance. -gapis-profile-pprof string produce a pprof file -gapis-profile-trace string produce a trace file -gapis-token string The auth token to use when connecting to an existing server. -handle string required. handle of the resource to replace -outputtracefile string file name for the updated trace (default "newcapture.gfxtrace") -resourcepath string file path for the new resource -skipoutput skip writing the modified trace to a file -updateresourcebinary string shaders only. binary to run for every shader; consumes resource data from standard input and writes to standard output

Back

report

Check a capture replays without issues

Usage: GAPIT [GAPIT-flags] report [report-flags]

GAPIT-flags: -analytics string If non-empty enable analytics using the specified user-id -args string A single string that will be parsed into extra individual arguments -crashreport Automatically send crash reports to Google -decodestack string Decode a stackdump generated by this executable -log-file string The file to store the logs in -log-level value The severity to enable logs at [one of: "Verbose", "Debug", "Info", "Warning", "Error", "Fatal"] (default Info) -log-stacks If true, stack traces are logged for all errors (default true) -log-status Log status updates as they happen -log-style value The style to use when printing the log [one of: "raw", "brief", "normal", "detailed"] (default normal) -profile-cpu string write cpu profile to file -profile-mem string write mem profile to file -profile-trace string write a trace to file -runfiles string Location of the runfiles manifest -version Display the application version report-flags: -captureid if true then interpret the capture file argument as a capture ID that is already loaded in gapis -context int Filter to the i'th context. (default -1) -displaytosurface display the frames rendered in the replay back to the surface -gapir-args string The arguments to be passed to gapir -gapir-device string Device to use. Either 'host' or the friendly name of the device -gapir-env value List of environment variables to set, X=Y -gapir-nofallback Do not fallback to another device if the requested one could not be found -gapir-os string Os of the device to use. -gapir-serial string Serial of the device to use. -gapir-ssh-config string The ssh config to use for finding remote devices -gapis-args string The arguments to be passed to gapis -gapis-disablelog Disable the log output -gapis-port int gapis tcp port to connect to, 0 means start new instance. -gapis-profile-pprof string produce a pprof file -gapis-profile-trace string produce a trace file -gapis-token string The auth token to use when connecting to an existing server. -out string output report path

Back

screenshot

Produce a screenshot at a particular command from a .gfxtrace file

Usage: GAPIT [GAPIT-flags] screenshot [screenshot-flags]

GAPIT-flags: -analytics string If non-empty enable analytics using the specified user-id -args string A single string that will be parsed into extra individual arguments -crashreport Automatically send crash reports to Google -decodestack string Decode a stackdump generated by this executable -log-file string The file to store the logs in -log-level value The severity to enable logs at [one of: "Verbose", "Debug", "Info", "Warning", "Error", "Fatal"] (default Info) -log-stacks If true, stack traces are logged for all errors (default true) -log-status Log status updates as they happen -log-style value The style to use when printing the log [one of: "raw", "brief", "normal", "detailed"] (default normal) -profile-cpu string write cpu profile to file -profile-mem string write mem profile to file -profile-trace string write a trace to file -runfiles string Location of the runfiles manifest -version Display the application version screenshot-flags: -at value command/subcommand index for the screenshot (repeatable) -attachment string the attachment to show (0-3 for color, d for depth, s for stencil) -captureid if true then interpret the capture file argument as a capture ID that is already loaded in gapis -context int Filter to the i'th context. -displaytosurface display the frames rendered in the replay back to the surface -draws create a screenshot of every draw call in the requested frame(s) (only honored if using -frame) -frame value frame index for the screenshot (repeatable). Empty for last -gapir-args string The arguments to be passed to gapir -gapir-device string Device to use. Either 'host' or the friendly name of the device -gapir-env value List of environment variables to set, X=Y -gapir-nofallback Do not fallback to another device if the requested one could not be found -gapir-os string Os of the device to use. -gapir-serial string Serial of the device to use. -gapir-ssh-config string The ssh config to use for finding remote devices -gapis-args string The arguments to be passed to gapis -gapis-disablelog Disable the log output -gapis-port int gapis tcp port to connect to, 0 means start new instance. -gapis-profile-pprof string produce a pprof file -gapis-profile-trace string produce a trace file -gapis-token string The auth token to use when connecting to an existing server. -max-overdraw int the amount of overdraw to map to white in the output -noopt disables optimization of the replay stream -out string output image file (default 'screenshot.png') (default "screenshot.png") -overdraw renders the overdraw instead of the color framebuffer

Back

state

Prints the state tree for a point in a .gfxtrace file

Usage: GAPIT [GAPIT-flags] state [state-flags]

GAPIT-flags: -analytics string If non-empty enable analytics using the specified user-id -args string A single string that will be parsed into extra individual arguments -crashreport Automatically send crash reports to Google -decodestack string Decode a stackdump generated by this executable -log-file string The file to store the logs in -log-level value The severity to enable logs at [one of: "Verbose", "Debug", "Info", "Warning", "Error", "Fatal"] (default Info) -log-stacks If true, stack traces are logged for all errors (default true) -log-status Log status updates as they happen -log-style value The style to use when printing the log [one of: "raw", "brief", "normal", "detailed"] (default normal) -profile-cpu string write cpu profile to file -profile-mem string write mem profile to file -profile-trace string write a trace to file -runfiles string Location of the runfiles manifest -version Display the application version state-flags: -at value command/subcommand index to get the state after. Empty for last -captureid if true then interpret the capture file argument as a capture ID that is already loaded in gapis -depth int How many nodes deep should the state tree be displayed. -1 for all (default -1) -filter value Which path through the tree should we filter to, default All -gapir-args string The arguments to be passed to gapir -gapir-device string Device to use. Either 'host' or the friendly name of the device -gapir-env value List of environment variables to set, X=Y -gapir-nofallback Do not fallback to another device if the requested one could not be found -gapir-os string Os of the device to use. -gapir-serial string Serial of the device to use. -gapir-ssh-config string The ssh config to use for finding remote devices -gapis-args string The arguments to be passed to gapis -gapis-disablelog Disable the log output -gapis-port int gapis tcp port to connect to, 0 means start new instance. -gapis-profile-pprof string produce a pprof file -gapis-profile-trace string produce a trace file -gapis-token string The auth token to use when connecting to an existing server.

Back

stats

Prints information about a capture file

Usage: GAPIT [GAPIT-flags] stats [stats-flags]

GAPIT-flags: -analytics string If non-empty enable analytics using the specified user-id -args string A single string that will be parsed into extra individual arguments -crashreport Automatically send crash reports to Google -decodestack string Decode a stackdump generated by this executable -log-file string The file to store the logs in -log-level value The severity to enable logs at [one of: "Verbose", "Debug", "Info", "Warning", "Error", "Fatal"] (default Info) -log-stacks If true, stack traces are logged for all errors (default true) -log-status Log status updates as they happen -log-style value The style to use when printing the log [one of: "raw", "brief", "normal", "detailed"] (default normal) -profile-cpu string write cpu profile to file -profile-mem string write mem profile to file -profile-trace string write a trace to file -runfiles string Location of the runfiles manifest -version Display the application version stats-flags: -captureid if true then interpret the capture file argument as a capture ID that is already loaded in gapis -frames-count int number of frames after Start to process: -1 for all frames (default -1) -frames-start int frame to start stats from -gapis-args string The arguments to be passed to gapis -gapis-disablelog Disable the log output -gapis-port int gapis tcp port to connect to, 0 means start new instance. -gapis-profile-pprof string produce a pprof file -gapis-profile-trace string produce a trace file -gapis-token string The auth token to use when connecting to an existing server.

Back

status

Attaches to an existing gapis, and provides status

Usage: GAPIT [GAPIT-flags] status [status-flags]

GAPIT-flags: -analytics string If non-empty enable analytics using the specified user-id -args string A single string that will be parsed into extra individual arguments -crashreport Automatically send crash reports to Google -decodestack string Decode a stackdump generated by this executable -log-file string The file to store the logs in -log-level value The severity to enable logs at [one of: "Verbose", "Debug", "Info", "Warning", "Error", "Fatal"] (default Info) -log-stacks If true, stack traces are logged for all errors (default true) -log-status Log status updates as they happen -log-style value The style to use when printing the log [one of: "raw", "brief", "normal", "detailed"] (default normal) -profile-cpu string write cpu profile to file -profile-mem string write mem profile to file -profile-trace string write a trace to file -runfiles string Location of the runfiles manifest -version Display the application version status-flags: -gapis-args string The arguments to be passed to gapis -gapis-disablelog Disable the log output -gapis-port int gapis tcp port to connect to, 0 means start new instance. -gapis-profile-pprof string produce a pprof file -gapis-profile-trace string produce a trace file -gapis-token string The auth token to use when connecting to an existing server. -memoryupdateinterval int Provides memory updates at the given interval (in ms) -statusupdateinterval int Provides status updates at the given interval (in ms) (default 1000)

Back

stress-test

Performs evil things on GAPIS to try to break it

Usage: GAPIT [GAPIT-flags] stress-test [stress-test-flags]

GAPIT-flags: -analytics string If non-empty enable analytics using the specified user-id -args string A single string that will be parsed into extra individual arguments -crashreport Automatically send crash reports to Google -decodestack string Decode a stackdump generated by this executable -log-file string The file to store the logs in -log-level value The severity to enable logs at [one of: "Verbose", "Debug", "Info", "Warning", "Error", "Fatal"] (default Info) -log-stacks If true, stack traces are logged for all errors (default true) -log-status Log status updates as they happen -log-style value The style to use when printing the log [one of: "raw", "brief", "normal", "detailed"] (default normal) -profile-cpu string write cpu profile to file -profile-mem string write mem profile to file -profile-trace string write a trace to file -runfiles string Location of the runfiles manifest -version Display the application version stress-test-flags: -captureid if true then interpret the capture file argument as a capture ID that is already loaded in gapis -gapir-args string The arguments to be passed to gapir -gapir-device string Device to use. Either 'host' or the friendly name of the device -gapir-env value List of environment variables to set, X=Y -gapir-nofallback Do not fallback to another device if the requested one could not be found -gapir-os string Os of the device to use. -gapir-serial string Serial of the device to use. -gapir-ssh-config string The ssh config to use for finding remote devices -gapis-args string The arguments to be passed to gapis -gapis-disablelog Disable the log output -gapis-port int gapis tcp port to connect to, 0 means start new instance. -gapis-profile-pprof string produce a pprof file -gapis-profile-trace string produce a trace file -gapis-token string The auth token to use when connecting to an existing server.

Back

trace

Captures a gfx trace from an application

Usage: GAPIT [GAPIT-flags] trace [trace-flags]

GAPIT-flags: -analytics string If non-empty enable analytics using the specified user-id -args string A single string that will be parsed into extra individual arguments -crashreport Automatically send crash reports to Google -decodestack string Decode a stackdump generated by this executable -log-file string The file to store the logs in -log-level value The severity to enable logs at [one of: "Verbose", "Debug", "Info", "Warning", "Error", "Fatal"] (default Info) -log-stacks If true, stack traces are logged for all errors (default true) -log-status Log status updates as they happen -log-style value The style to use when printing the log [one of: "raw", "brief", "normal", "detailed"] (default normal) -profile-cpu string write cpu profile to file -profile-mem string write mem profile to file -profile-trace string write a trace to file -runfiles string Location of the runfiles manifest -version Display the application version trace-flags: -additionalargs string additional arguments to pass to the application -api string only capture the given API valid options are gles and vulkan -capture-frames int only capture the given number of frames. 0 for all -clear-cache clear package data before running it -device string Device to use. Either 'host' or the friendly name of the device -disable-pcs disable pre-compiled shaders (default true) -disable-unknown-extensions Hide unknown extensions from the application. -env value List of environment variables to set, X=Y -for duration duration to trace for -gapis-args string The arguments to be passed to gapis -gapis-disablelog Disable the log output -gapis-port int gapis tcp port to connect to, 0 means start new instance. -gapis-profile-pprof string produce a pprof file -gapis-profile-trace string produce a trace file -gapis-token string The auth token to use when connecting to an existing server. -local-port int connect to an application already running on the server using this port -no-buffer Do not buffer the output, this helps if the application crashes -observe-draws uint capture the framebuffer every n draws (0 to disable) -observe-frames uint capture the framebuffer every n frames (0 to disable) -os string Os of the device to use. -out string the file to generate -pipename string The name of the pipe to connect/listen to. -record-errors record device error state -record-tracetimes record trace timing into the capture -serial string Serial of the device to use. -ssh-config string The ssh config to use for finding remote devices -start-at-frame int defers the start of the trace until given frame. Only valid for Vulkan. Not compatible with start-defer. -start-defer defers the start of the trace until <enter> is pressed. Only valid for Vulkan. -uri string uri of the application to trace -workingdir string working directory for the application

Back

trim

(WIP) Trims a gfx trace to the dependencies of the requested frames

Usage: GAPIT [GAPIT-flags] trim [trim-flags]

GAPIT-flags: -analytics string If non-empty enable analytics using the specified user-id -args string A single string that will be parsed into extra individual arguments -crashreport Automatically send crash reports to Google -decodestack string Decode a stackdump generated by this executable -log-file string The file to store the logs in -log-level value The severity to enable logs at [one of: "Verbose", "Debug", "Info", "Warning", "Error", "Fatal"] (default Info) -log-stacks If true, stack traces are logged for all errors (default true) -log-status Log status updates as they happen -log-style value The style to use when printing the log [one of: "raw", "brief", "normal", "detailed"] (default normal) -profile-cpu string write cpu profile to file -profile-mem string write mem profile to file -profile-trace string write a trace to file -runfiles string Location of the runfiles manifest -version Display the application version trim-flags: -captureid if true then interpret the capture file argument as a capture ID that is already loaded in gapis -commands Treat every command as its own frame -context int Filter to the i'th context. -extracommands value Additional commands to include (along with their dependencies) -frames-count int number of frames to include: -1 for all frames (default -1) (default -1) -frames-start int first frame to include (default 0) -gapir-args string The arguments to be passed to gapir -gapir-device string Device to use. Either 'host' or the friendly name of the device -gapir-env value List of environment variables to set, X=Y -gapir-nofallback Do not fallback to another device if the requested one could not be found -gapir-os string Os of the device to use. -gapir-serial string Serial of the device to use. -gapir-ssh-config string The ssh config to use for finding remote devices -gapis-args string The arguments to be passed to gapis -gapis-disablelog Disable the log output -gapis-port int gapis tcp port to connect to, 0 means start new instance. -gapis-profile-pprof string produce a pprof file -gapis-profile-trace string produce a trace file -gapis-token string The auth token to use when connecting to an existing server. -out string gfxtrace file to save the trimmed capture

Back

unpack

Displays the raw protos in a protopack file

Usage: GAPIT [GAPIT-flags] unpack [unpack-flags]

GAPIT-flags: -analytics string If non-empty enable analytics using the specified user-id -args string A single string that will be parsed into extra individual arguments -crashreport Automatically send crash reports to Google -decodestack string Decode a stackdump generated by this executable -log-file string The file to store the logs in -log-level value The severity to enable logs at [one of: "Verbose", "Debug", "Info", "Warning", "Error", "Fatal"] (default Info) -log-stacks If true, stack traces are logged for all errors (default true) -log-status Log status updates as they happen -log-style value The style to use when printing the log [one of: "raw", "brief", "normal", "detailed"] (default normal) -profile-cpu string write cpu profile to file -profile-mem string write mem profile to file -profile-trace string write a trace to file -runfiles string Location of the runfiles manifest -version Display the application version unpack-flags: -verbose if true, then output will not be truncated

Back

video

Produce a video or sequence of frames from a .gfxtrace file

Usage: GAPIT [GAPIT-flags] video [video-flags]

GAPIT-flags: -analytics string If non-empty enable analytics using the specified user-id -args string A single string that will be parsed into extra individual arguments -crashreport Automatically send crash reports to Google -decodestack string Decode a stackdump generated by this executable -log-file string The file to store the logs in -log-level value The severity to enable logs at [one of: "Verbose", "Debug", "Info", "Warning", "Error", "Fatal"] (default Info) -log-stacks If true, stack traces are logged for all errors (default true) -log-status Log status updates as they happen -log-style value The style to use when printing the log [one of: "raw", "brief", "normal", "detailed"] (default normal) -profile-cpu string write cpu profile to file -profile-mem string write mem profile to file -profile-trace string write a trace to file -runfiles string Location of the runfiles manifest -version Display the application version video-flags: -captureid if true then interpret the capture file argument as a capture ID that is already loaded in gapis -commands Treat every command as its own frame -context int Filter to the i'th context. -fps int frames per second (default 5) -frames-count int number of frames after Start to capture: -1 for all frames (default -1) -frames-minimum int return error when less than this number of frames is found (default 1) -frames-start int frame to start capture from -gapir-args string The arguments to be passed to gapir -gapir-device string Device to use. Either 'host' or the friendly name of the device -gapir-env value List of environment variables to set, X=Y -gapir-nofallback Do not fallback to another device if the requested one could not be found -gapir-os string Os of the device to use. -gapir-serial string Serial of the device to use. -gapir-ssh-config string The ssh config to use for finding remote devices -gapis-args string The arguments to be passed to gapis -gapis-disablelog Disable the log output -gapis-port int gapis tcp port to connect to, 0 means start new instance. -gapis-profile-pprof string produce a pprof file -gapis-profile-trace string produce a trace file -gapis-token string The auth token to use when connecting to an existing server. -max-height int maximum video height (default 1280) -max-width int maximum video width (default 1920) -noopt disables optimization of the replay stream -out string output video path -text string summary prefix (use '║' for aligned columns, '¶' for new line) -type value type of output to produce [one of: "auto", "sxs", "regular", "frames"] (default auto)

Back