From 55b84f4e7c06e9a6113e5cd5021917186a1d199f Mon Sep 17 00:00:00 2001 From: baldurk Date: Thu, 29 Oct 2020 16:27:31 +0000 Subject: [PATCH] Test that creating root signatures identical to internal sigs works OK --- util/test/demos/d3d12/d3d12_parameter_zoo.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/util/test/demos/d3d12/d3d12_parameter_zoo.cpp b/util/test/demos/d3d12/d3d12_parameter_zoo.cpp index ea8006c55..fe5fe23ee 100644 --- a/util/test/demos/d3d12/d3d12_parameter_zoo.cpp +++ b/util/test/demos/d3d12/d3d12_parameter_zoo.cpp @@ -63,6 +63,13 @@ float4 main() : SV_Target0 psoCreator.GraphicsDesc.StreamOutput.NumStrides = 0xcccccccc; psoCreator.GraphicsDesc.StreamOutput.pBufferStrides = (UINT *)0x1234; + ID3D12RootSignaturePtr duplicateSig = MakeSig( + { + cbvParam(D3D12_SHADER_VISIBILITY_PIXEL, 0, 0), + constParam(D3D12_SHADER_VISIBILITY_PIXEL, 0, 1, 1), + }, + D3D12_ROOT_SIGNATURE_FLAG_NONE); + ID3D12PipelineStatePtr pso = psoCreator; // if D3D12.4 (??) is available, use different interfaces @@ -124,6 +131,9 @@ float4 main() : SV_Target0 ID3D12ResourcePtr bb = StartUsingBackbuffer(cmd, D3D12_RESOURCE_STATE_RENDER_TARGET); + // force duplicate signature to be used + cmd->SetGraphicsRootSignature(duplicateSig); + if(debug) debug->AssertResourceState(bb, D3D12_RESOURCE_STATE_RENDER_TARGET, 0);