From 1ceb9ee6e7cf7b7520b646871612ef44d445b6e6 Mon Sep 17 00:00:00 2001 From: baldurk Date: Fri, 28 Oct 2016 17:42:11 +0200 Subject: [PATCH] Don't crash if no RTVs are set with SingleHandleRT true --- renderdoc/driver/d3d12/d3d12_state.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/renderdoc/driver/d3d12/d3d12_state.cpp b/renderdoc/driver/d3d12/d3d12_state.cpp index 00487e264..907071751 100644 --- a/renderdoc/driver/d3d12/d3d12_state.cpp +++ b/renderdoc/driver/d3d12/d3d12_state.cpp @@ -87,12 +87,15 @@ vector D3D12RenderState::GetRTVIDs() const if(rtSingle) { - const D3D12Descriptor *descs = DescriptorFromPortableHandle(GetResourceManager(), rts[0]); - - for(UINT i = 0; i < rts.size(); i++) + if(!rts.empty()) { - RDCASSERT(descs[i].GetType() == D3D12Descriptor::TypeRTV); - ret.push_back(GetResID(descs[i].nonsamp.resource)); + const D3D12Descriptor *descs = DescriptorFromPortableHandle(GetResourceManager(), rts[0]); + + for(UINT i = 0; i < rts.size(); i++) + { + RDCASSERT(descs[i].GetType() == D3D12Descriptor::TypeRTV); + ret.push_back(GetResID(descs[i].nonsamp.resource)); + } } } else