Friday, August 09, 2019

Unsigned Shader Code

If you get this error:

D3D12 WARNING: ID3D12ShaderBytecode::CreatePipelineState: Shader is corrupt or in an unrecognized format, or is not signed. Ensure that DXIL.dll is used to sign the shader. This shader and PSO containing it will not be validated. [ EXECUTION WARNING #1243: NON_RETAIL_SHADER_MODEL_WONT_VALIDATE]

Head over here to Graham Wihlidal's blog to understand: https://www.wihlidal.com/blog/pipeline/2018-09-16-dxil-signing-post-compile/


Note this is not going to help if you are trying to compile a (for example) 6.4 shader on a platform that does not yet support 6.4. This is probably a good thing.