diff --git a/renderdoc/driver/d3d12/d3d12_command_queue_wrap.cpp b/renderdoc/driver/d3d12/d3d12_command_queue_wrap.cpp index 1e8faba9e..7e969a92b 100644 --- a/renderdoc/driver/d3d12/d3d12_command_queue_wrap.cpp +++ b/renderdoc/driver/d3d12/d3d12_command_queue_wrap.cpp @@ -819,10 +819,15 @@ void WrappedID3D12CommandQueue::ExecuteCommandListsInternal(UINT NumCommandLists it != record->bakedCommands->cmdInfo->boundDescs.end(); ++it) { rdcpair &descRange = *it; + WrappedID3D12DescriptorHeap *heap = descRange.first->GetHeap(); + D3D12Descriptor *end = heap->GetDescriptors() + heap->GetNumDescriptors(); for(UINT d = 0; d < descRange.second; ++d) { D3D12Descriptor *desc = descRange.first + d; + if(desc >= end) + break; + ResourceId id, id2; FrameRefType ref = eFrameRef_Read;