您能绑定一个不同于创建管道的根签名吗?如果是这样的话,它是否必须有完全相同的参数,或者它是否还有一个参数,但是管道会忽略它?
顺便问一下,为什么没有dx12标签?
发布于 2018-10-10 05:38:14
如果使用与使用get创建的PSO不同的根签名(启用了调试设备):
D3D12 ERROR: ID3D12CommandList::DrawInstanced: The currently set Root Signature doesn't
match the currently set Pipeline State Object. This is invalid and can
lead to unexpected behavior. [ EXECUTION ERROR #201: COMMAND_LIST_DRAW_ROOT_SIGNATURE_MISMATCH]
根签名必须严格匹配。因此,您通常尝试设计一些根签名,可以在多个着色器中使用。
另外要注意的是,在某些硬件上,在绘制之前不绑定根签名中的所有插槽是错误的。因此,我在
BasicEffect
中为纹理和非纹理的用于DX 12的DirectX工具包着色器创建不同的根签名。
https://gamedev.stackexchange.com/questions/164384
复制相似问题