示例:这是 CreateGraphicsPipelineState 的调试日志,它告诉我出了什么问题:
D3D12 ERROR: ID3D12Device::CreateGraphicsPipelineState: Root Signature doesn't match Vertex Shader: Shader CBV descriptor range (RegisterSpace=0, NumDescriptors=1, BaseShaderRegister=0) is not fully bound in root signature
但是,对 windows FormatMessage(MESSAGE_FROM_SYSTEM...) 的调用将返回完全相同的错误:
The parameter is incorrect.
第一个显然更有用......我们曾经有 dxerr.lib,我们在 DXUT 中有 dxerr.cpp 的源代码。但这不包括 DX12。我看不到任何着色器工具可以检索错误并将其从 API 呈现给用户。