From 42daf8054bf54a10ae5dfe8254e0fe71d254ab5f Mon Sep 17 00:00:00 2001 From: baldurk Date: Tue, 2 Mar 2021 17:08:35 +0000 Subject: [PATCH] Don't crash when replaying ExecuteIndirect with MaxCommandCount == 0 --- renderdoc/driver/d3d12/d3d12_command_list_wrap.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/renderdoc/driver/d3d12/d3d12_command_list_wrap.cpp b/renderdoc/driver/d3d12/d3d12_command_list_wrap.cpp index fedba9988..7a4256bd6 100644 --- a/renderdoc/driver/d3d12/d3d12_command_list_wrap.cpp +++ b/renderdoc/driver/d3d12/d3d12_command_list_wrap.cpp @@ -3594,9 +3594,14 @@ void WrappedID3D12GraphicsCommandList::PatchExecuteIndirect(BakedCmdListInfo &in idx++; eid++; - RDCASSERT(draws[idx].state); + D3D12RenderState state; - D3D12RenderState state = *draws[idx].state; + if(count > 0) + { + RDCASSERT(draws[idx].state); + + state = *draws[idx].state; + } SDChunk *baseChunk = m_Cmd->m_StructuredFile->chunks[draws[idx].draw.events[0].chunkIndex];