Vulkan SPIR-V shader size reduction using spirv-opt
We have introduced passes to spirv-opt that use classic code optimization techniques to address code inefficiencies in a SPIR-V module. Combined with spirv-remap, currently used to remove module-level dead types and functions, these passes can reduce raw SPIR-V size by over 60%, and bring SPIR-V sizes within 40% of DX Byte Code.
Refer to this LunarG white paper to learn how code transformations available as passes in spirv-opt can be used to reduce the size of SPIR-V shaders for the Vulkan graphics API. It provides a sample recipe of the options and describes the specific passes so that users of spirv-opt can best decide how to adjust the recipe and reduce the size of their SPIR-V shaders.
Click below to view the white paper: