From 910940bbaec57a3786e54a85471ea724dd9af937 Mon Sep 17 00:00:00 2001 From: baldurk Date: Sun, 31 Jul 2016 15:56:45 +0700 Subject: [PATCH] Add convenience overload of GetResIDFromAddr just returning the id --- .../driver/d3d12/d3d12_command_list_wrap.cpp | 18 ++++-------------- renderdoc/driver/d3d12/d3d12_resources.h | 11 +++++++++++ 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/renderdoc/driver/d3d12/d3d12_command_list_wrap.cpp b/renderdoc/driver/d3d12/d3d12_command_list_wrap.cpp index 5025af2b1..5bfb984e7 100644 --- a/renderdoc/driver/d3d12/d3d12_command_list_wrap.cpp +++ b/renderdoc/driver/d3d12/d3d12_command_list_wrap.cpp @@ -1213,13 +1213,8 @@ void WrappedID3D12GraphicsCommandList::IASetIndexBuffer(const D3D12_INDEX_BUFFER m_ListRecord->AddChunk(scope.Get()); if(pView) - { - ResourceId id; - UINT64 offs = 0; - WrappedID3D12Resource::GetResIDFromAddr(pView->BufferLocation, id, offs); - - m_ListRecord->MarkResourceFrameReferenced(id, eFrameRef_Read); - } + m_ListRecord->MarkResourceFrameReferenced( + WrappedID3D12Resource::GetResIDFromAddr(pView->BufferLocation), eFrameRef_Read); } } @@ -1276,13 +1271,8 @@ void WrappedID3D12GraphicsCommandList::IASetVertexBuffers(UINT StartSlot, UINT N m_ListRecord->AddChunk(scope.Get()); for(UINT i = 0; i < NumViews; i++) - { - ResourceId id; - UINT64 offs = 0; - WrappedID3D12Resource::GetResIDFromAddr(pViews[i].BufferLocation, id, offs); - - m_ListRecord->MarkResourceFrameReferenced(id, eFrameRef_Read); - } + m_ListRecord->MarkResourceFrameReferenced( + WrappedID3D12Resource::GetResIDFromAddr(pViews[i].BufferLocation), eFrameRef_Read); } } diff --git a/renderdoc/driver/d3d12/d3d12_resources.h b/renderdoc/driver/d3d12/d3d12_resources.h index ac01db05e..2f14de847 100644 --- a/renderdoc/driver/d3d12/d3d12_resources.h +++ b/renderdoc/driver/d3d12/d3d12_resources.h @@ -492,6 +492,17 @@ public: offs = addr - it->start; } + // overload to just return the id in case the offset isn't needed + static ResourceId GetResIDFromAddr(D3D12_GPU_VIRTUAL_ADDRESS addr) + { + ResourceId id; + UINT64 offs; + + GetResIDFromAddr(addr, id, offs); + + return id; + } + enum { TypeEnum = Resource_Resource,