SPIRV-REMAP(1) | General Commands Manual | SPIRV-REMAP(1) |
NAME¶
spirv-remap - a utility to compress of SPIR-V binary files
SYNOPSIS¶
spirv-remap [OPTION]...
DESCRIPTION¶
spirv-remap is a utility to improve compression of SPIR-V binary files via entropy reduction, plus optional stripping of debug information and load/store optimization. It transforms SPIR-V to SPIR-V, remapping IDs. The resulting modules have an increased ID range (IDs are not as tightly packed around zero), but will compress better when multiple modules are compressed together, since compressor's dictionary can find better cross module commonality.
Remapping is accomplished via canonicalization. Thus, modules can be compressed one at a time with no loss of quality relative to operating on many modules at once. The command line tool operates on multiple modules only in the trivial repetition sense, for ease of use. The remapper API only accepts a single module at a time.
spirv-remap is currently in an alpha state. Although there are no known remapping defects, it has only been exercised on one real world game shader workload.
OPTIONS¶
- -? --help
- shows help
- -V --version
- shows version
- -v -vv ... --verbose [int]
- sets verbosity. With no verbosity, the command is silent.
- -i --input file1 [file2...]
- files to process
- -o --output DESTDIR
- output directory
- -s --strip-all --strip all
- strips all debug info
- --map (all|types|names|funcs)
- canonicalizes type IDs / named data / function bodies
- --dce (all|types|funcs)
- removes dead types / functions
- --opt (all|loadstore)
- optimizes unneeded loads/stores
- --do-everything
- Synonym for --map all --dce all --opt all --strip all
RETURNS¶
0 on success
a positive integer error on failure.
EXAMPLES¶
- spirv-remap -v --map all --input *.spv --output /tmp/out_dir
- Perform ID remapping on all shaders in "*.spv", writing new files with the same basenames to /tmp/out_dir.
- spirv-remap-linux-64 -v --do-everything --input *.spv --output /tmp/out_dir
- Perform all possible size reductions
Note that
ALSO SEE¶
December 2017 | User Commands |