From aac9e762bca3ee44f86487bb704f1a929efcc653 Mon Sep 17 00:00:00 2001 From: baldurk Date: Thu, 29 Apr 2021 11:26:14 +0100 Subject: [PATCH] Test that empty execute indirects don't crash --- util/test/demos/d3d12/d3d12_parameter_zoo.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/util/test/demos/d3d12/d3d12_parameter_zoo.cpp b/util/test/demos/d3d12/d3d12_parameter_zoo.cpp index 1a133c72c..14964972b 100644 --- a/util/test/demos/d3d12/d3d12_parameter_zoo.cpp +++ b/util/test/demos/d3d12/d3d12_parameter_zoo.cpp @@ -147,6 +147,9 @@ float4 main() : SV_Target0 .RTV() .InitialState(D3D12_RESOURCE_STATE_RENDER_TARGET); + ID3D12CommandSignaturePtr cmdsig = MakeCommandSig(NULL, {vbArg(0), drawArg()}); + ID3D12ResourcePtr argBuf = MakeBuffer().Upload().Size(1024); + while(Running()) { ID3D12GraphicsCommandListPtr cmd = GetCommandBuffer(); @@ -206,6 +209,10 @@ float4 main() : SV_Target0 cmd->DrawIndexedInstanced(3, 1, 0, 0, 0); + setMarker(cmd, "Empty indirect execute"); + + cmd->ExecuteIndirect(cmdsig, 0, argBuf, 0, NULL, 0); + FinishUsingBackbuffer(cmd, D3D12_RESOURCE_STATE_RENDER_TARGET); if(debug)