Vulkan-Samples
Vulkan-Samples copied to clipboard
Postprocess shaders offline
Once we have generated SPIRV offline there are a few things that we can now do to benefit the project
- Bundle the SPIRV into a header so that it is compiled into the executable
- Perform reflection on the SPIRV ahead of time
- Identify broken functionality
- Identify any divergence between HLSL and GLSL versions of the shader
- Generate shader documentation of expected inputs and outputs
Not all of the above points are important. However, there is some value in defining some process where we can achieve the above over time.
Acceptance Criteria
- Create an executable that can be used to reflect and post-process shaders
- Check that GLSL/HLSL shaders contain the same interfaces (inputs and outputs match)
- Add a CI task to run the shader check if any shaders have been altered in a PR
- (optional) Bundle the SPIRV so that we don't need to load from the file system