Пример: вот журнал отладки для 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, и у нас есть источник для dxerr.cpp в DXUT.Но это не распространяется на DX12.Я не вижу возможности для инструмента-шейдера извлечь ошибку и представить ее пользователю из API.