Test that empty execute indirects don't crash

This commit is contained in:
baldurk
2021-04-29 11:26:14 +01:00
parent f28a3a548f
commit aac9e762bc
@@ -147,6 +147,9 @@ float4 main() : SV_Target0
.RTV() .RTV()
.InitialState(D3D12_RESOURCE_STATE_RENDER_TARGET); .InitialState(D3D12_RESOURCE_STATE_RENDER_TARGET);
ID3D12CommandSignaturePtr cmdsig = MakeCommandSig(NULL, {vbArg(0), drawArg()});
ID3D12ResourcePtr argBuf = MakeBuffer().Upload().Size(1024);
while(Running()) while(Running())
{ {
ID3D12GraphicsCommandListPtr cmd = GetCommandBuffer(); ID3D12GraphicsCommandListPtr cmd = GetCommandBuffer();
@@ -206,6 +209,10 @@ float4 main() : SV_Target0
cmd->DrawIndexedInstanced(3, 1, 0, 0, 0); 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); FinishUsingBackbuffer(cmd, D3D12_RESOURCE_STATE_RENDER_TARGET);
if(debug) if(debug)