diff --git a/renderdoc/api/replay/renderdoc_replay.h b/renderdoc/api/replay/renderdoc_replay.h index 7aede352d..44b084bca 100644 --- a/renderdoc/api/replay/renderdoc_replay.h +++ b/renderdoc/api/replay/renderdoc_replay.h @@ -717,7 +717,7 @@ created resources. See :meth:`BuildTargetShader`, :meth:`RemoveReplacement`. -:param ResourceId original: The id of the original resource that should be substituted. +:param ResourceId original: The id of the resource that should be substituted. :param ResourceId replacement: The id of the new resource that should be used instead. )"); virtual void ReplaceResource(ResourceId original, ResourceId replacement) = 0; @@ -731,7 +731,7 @@ re-initialise any data, including e.g. bindless feedback, printf results or mesh See :meth:`ReplaceResource`. -:param ResourceId id: The id of the original resource that was previously being substituted. +:param ResourceId id: The id of the resource that was previously being substituted. )"); virtual void RemoveReplacement(ResourceId id) = 0; diff --git a/renderdoc/core/resource_manager.h b/renderdoc/core/resource_manager.h index 788fb46da..084271967 100644 --- a/renderdoc/core/resource_manager.h +++ b/renderdoc/core/resource_manager.h @@ -549,14 +549,9 @@ bool ResourceRecord::MarkResourceFrameReferenced(ResourceId id, FrameRefType ref // the resource manager is a utility class that's not required but is likely wanted by any API // implementation. // It keeps track of resource records, which resources are alive and allows you to query for them by -// ID. It tracks -// which resources are marked as dirty (needing their initial contents fetched before capture). +// ID. It tracks which resources are marked as dirty (needing their initial contents fetched before capture). // // For APIs that wrap their resources it provides tracking for that. -// -// In the replay application it will also track which 'live' resources are representing which -// 'original' -// resources from the application when it was captured. template class ResourceManager : public ResourceRecordHandler { @@ -638,23 +633,20 @@ public: // Replay-side methods // Live resources to replace serialised IDs - void AddLiveResource(ResourceId origid, WrappedResourceType livePtr); - bool HasLiveResource(ResourceId origid); - WrappedResourceType GetLiveResource(ResourceId origid, bool optional = false); - void EraseLiveResource(ResourceId origid); + void AddLiveResource(ResourceId id, WrappedResourceType livePtr); + bool HasLiveResource(ResourceId id); + WrappedResourceType GetLiveResource(ResourceId id, bool optional = false); + void EraseLiveResource(ResourceId id); // when asked for a given id, return the resource for a replacement id void ReplaceResource(ResourceId from, ResourceId to); bool HasReplacement(ResourceId from); void RemoveReplacement(ResourceId id); - // get the original ID for a real ID that may be a replacement. i.e. if ID 123 is ID 10000005 - // live, and 10000005 live is replaced with 10000839, then calling this function with either ID - // 10000005 or ID 10000839 will return ID 123. - ResourceId GetUnreplacedOriginalID(ResourceId id); + // get the canonical ID for an ID that may be the id a replacement. i.e. if ID 123 is replaced + // with 456, then calling this function with either ID 123 or ID 456 will return ID 123. + ResourceId GetUnreplacedID(ResourceId id); - // fetch original ID for a real ID or vice-versa. - ResourceId GetOriginalID(ResourceId id); ResourceId GetLiveID(ResourceId id); // Serialise in which resources need initial contents and set them up. @@ -757,10 +749,7 @@ protected: // capture and replay. std::unordered_map m_CurrentResourceMap; - // used during replay - maps back and forth from original id to live id and vice-versa - std::unordered_map m_OriginalIDs, m_LiveIDs; - - // used during replay - holds resources allocated and the original id that they represent + // used during replay - holds resources allocated for replay std::unordered_map m_LiveResourceMap; // used during capture - holds resource records by id. @@ -770,7 +759,7 @@ protected: // used during replay - holds current resource replacements // replaced -> replacement std::unordered_map m_Replacements; - // replacement -> replaced (for looking up original IDs) + // replacement -> replaced (for looking up canonical IDs) std::unordered_map m_Replaced; // During initial resources preparation, persistent resources are @@ -1848,64 +1837,63 @@ typename Configuration::WrappedResourceType ResourceManager::GetW } template -void ResourceManager::AddLiveResource(ResourceId origid, WrappedResourceType livePtr) +void ResourceManager::AddLiveResource(ResourceId id, WrappedResourceType livePtr) { SCOPED_LOCK_OPTIONAL(m_Lock, m_Capturing); - if(origid == ResourceId() || livePtr == (WrappedResourceType)RecordType::NullResource) + if(id == ResourceId() || livePtr == (WrappedResourceType)RecordType::NullResource) { RDCERR("Invalid state adding resource mapping - id is invalid or live pointer is NULL"); } - m_OriginalIDs[GetID(livePtr)] = origid; - m_LiveIDs[origid] = GetID(livePtr); + RDCASSERT(id == GetID(livePtr)); - if(m_LiveResourceMap.find(origid) != m_LiveResourceMap.end()) + if(m_LiveResourceMap.find(id) != m_LiveResourceMap.end()) { - RDCERR("Releasing live resource for duplicate creation: %s", ToStr(origid).c_str()); - ResourceTypeRelease(m_LiveResourceMap[origid]); - m_LiveResourceMap.erase(origid); + RDCERR("Releasing live resource for duplicate creation: %s", ToStr(id).c_str()); + ResourceTypeRelease(m_LiveResourceMap[id]); + m_LiveResourceMap.erase(id); } - m_LiveResourceMap[origid] = livePtr; + m_LiveResourceMap[id] = livePtr; } template -bool ResourceManager::HasLiveResource(ResourceId origid) +bool ResourceManager::HasLiveResource(ResourceId id) { SCOPED_LOCK_OPTIONAL(m_Lock, m_Capturing); - if(origid == ResourceId()) + if(id == ResourceId()) return false; - return (m_Replacements.find(origid) != m_Replacements.end() || - m_LiveResourceMap.find(origid) != m_LiveResourceMap.end()); + return (m_Replacements.find(id) != m_Replacements.end() || + m_LiveResourceMap.find(id) != m_LiveResourceMap.end()); } template typename Configuration::WrappedResourceType ResourceManager::GetLiveResource( - ResourceId origid, bool optional) + ResourceId id, bool optional) { SCOPED_LOCK_OPTIONAL(m_Lock, m_Capturing); - if(origid == ResourceId()) + if(id == ResourceId()) return (WrappedResourceType)RecordType::NullResource; #if DISABLED(RDOC_RELEASE) if(!optional) { - RDCASSERT(HasLiveResource(origid), origid); + RDCASSERT(HasLiveResource(id), id); } #endif { - auto it = m_Replacements.find(origid); + auto it = m_Replacements.find(id); if(it != m_Replacements.end()) return GetLiveResource(it->second); } { - auto it = m_LiveResourceMap.find(origid); + auto it = m_LiveResourceMap.find(id); if(it != m_LiveResourceMap.end()) return it->second; } @@ -1914,13 +1902,13 @@ typename Configuration::WrappedResourceType ResourceManager::GetL } template -void ResourceManager::EraseLiveResource(ResourceId origid) +void ResourceManager::EraseLiveResource(ResourceId id) { SCOPED_LOCK_OPTIONAL(m_Lock, m_Capturing); - RDCASSERT(HasLiveResource(origid), origid); + RDCASSERT(HasLiveResource(id), id); - m_LiveResourceMap.erase(origid); + m_LiveResourceMap.erase(id); } template @@ -1973,17 +1961,7 @@ void ResourceManager::ReleaseCurrentResource(ResourceId id) } template -ResourceId ResourceManager::GetOriginalID(ResourceId id) -{ - if(id == ResourceId()) - return id; - - RDCASSERT(m_OriginalIDs.find(id) != m_OriginalIDs.end(), id); - return m_OriginalIDs[id]; -} - -template -ResourceId ResourceManager::GetUnreplacedOriginalID(ResourceId id) +ResourceId ResourceManager::GetUnreplacedID(ResourceId id) { if(id == ResourceId()) return id; @@ -1991,8 +1969,7 @@ ResourceId ResourceManager::GetUnreplacedOriginalID(ResourceId id if(m_Replaced.find(id) != m_Replaced.end()) return m_Replaced[id]; - RDCASSERT(m_OriginalIDs.find(id) != m_OriginalIDs.end(), id); - return m_OriginalIDs[id]; + return id; } template @@ -2005,6 +1982,5 @@ ResourceId ResourceManager::GetLiveID(ResourceId id) if(it != m_Replacements.end()) return it->second; - RDCASSERT(m_LiveIDs.find(id) != m_LiveIDs.end(), id); - return m_LiveIDs[id]; + return id; } diff --git a/renderdoc/driver/d3d11/d3d11_context.cpp b/renderdoc/driver/d3d11/d3d11_context.cpp index c37bfd7c5..992022c89 100644 --- a/renderdoc/driver/d3d11/d3d11_context.cpp +++ b/renderdoc/driver/d3d11/d3d11_context.cpp @@ -1160,16 +1160,16 @@ void WrappedID3D11DeviceContext::AddAction(const ActionDescription &a) { action.outputs[i] = ResourceId(); if(m_CurrentPipelineState->OM.RenderTargets[i]) - action.outputs[i] = m_pDevice->GetResourceManager()->GetOriginalID( + action.outputs[i] = ((WrappedID3D11RenderTargetView1 *)m_CurrentPipelineState->OM.RenderTargets[i]) - ->GetResourceResID()); + ->GetResourceResID(); } { action.depthOut = ResourceId(); if(m_CurrentPipelineState->OM.DepthView) - action.depthOut = m_pDevice->GetResourceManager()->GetOriginalID( - ((WrappedID3D11DepthStencilView *)m_CurrentPipelineState->OM.DepthView)->GetResourceResID()); + action.depthOut = + ((WrappedID3D11DepthStencilView *)m_CurrentPipelineState->OM.DepthView)->GetResourceResID(); } // markers don't increment action ID diff --git a/renderdoc/driver/d3d11/d3d11_context1_wrap.cpp b/renderdoc/driver/d3d11/d3d11_context1_wrap.cpp index 05facd189..7b7f44359 100644 --- a/renderdoc/driver/d3d11/d3d11_context1_wrap.cpp +++ b/renderdoc/driver/d3d11/d3d11_context1_wrap.cpp @@ -447,10 +447,8 @@ bool WrappedID3D11DeviceContext::Serialise_CopySubresourceRegion1( if(IsLoading(m_State)) { - ResourceId dstLiveID = GetIDForDeviceChild(pDstResource); - ResourceId srcLiveID = GetIDForDeviceChild(pSrcResource); - ResourceId dstOrigID = GetResourceManager()->GetOriginalID(dstLiveID); - ResourceId srcOrigID = GetResourceManager()->GetOriginalID(srcLiveID); + ResourceId dstID = GetIDForDeviceChild(pDstResource); + ResourceId srcID = GetIDForDeviceChild(pSrcResource); AddEvent(); @@ -459,25 +457,25 @@ bool WrappedID3D11DeviceContext::Serialise_CopySubresourceRegion1( if(pDstResource && pSrcResource) { - action.copySource = srcOrigID; + action.copySource = srcID; action.copySourceSubresource = Subresource(GetMipForSubresource(pSrcResource, SrcSubresource), GetSliceForSubresource(pSrcResource, SrcSubresource)); - action.copyDestination = dstOrigID; + action.copyDestination = dstID; action.copyDestinationSubresource = Subresource(GetMipForSubresource(pDstResource, DstSubresource), GetSliceForSubresource(pDstResource, DstSubresource)); if(m_CurEventID) { - if(dstLiveID == srcLiveID) + if(dstID == srcID) { - m_ResourceUses[dstLiveID].push_back(EventUsage(m_CurEventID, ResourceUsage::Copy)); + m_ResourceUses[dstID].push_back(EventUsage(m_CurEventID, ResourceUsage::Copy)); } else { - m_ResourceUses[dstLiveID].push_back(EventUsage(m_CurEventID, ResourceUsage::CopyDst)); - m_ResourceUses[srcLiveID].push_back(EventUsage(m_CurEventID, ResourceUsage::CopySrc)); + m_ResourceUses[dstID].push_back(EventUsage(m_CurEventID, ResourceUsage::CopyDst)); + m_ResourceUses[srcID].push_back(EventUsage(m_CurEventID, ResourceUsage::CopySrc)); } } } @@ -571,7 +569,7 @@ bool WrappedID3D11DeviceContext::Serialise_ClearView(SerialiserType &ser, ID3D11 { m_ResourceUses[resid].push_back( EventUsage(m_CurEventID, ResourceUsage::Clear, GetIDForDeviceChild(pView))); - action.copyDestination = GetResourceManager()->GetOriginalID(resid); + action.copyDestination = resid; action.copyDestinationSubresource = Subresource(); const ResourceRange &range = GetResourceRange(pView); @@ -1829,21 +1827,20 @@ bool WrappedID3D11DeviceContext::Serialise_DiscardResource(SerialiserType &ser, if(IsLoading(m_State)) { - ResourceId dstLiveID = GetIDForDeviceChild(pResource); - ResourceId dstOrigID = GetResourceManager()->GetOriginalID(dstLiveID); + ResourceId dstID = GetIDForDeviceChild(pResource); AddEvent(); ActionDescription action; action.flags |= ActionFlags::Clear; - action.copyDestination = dstOrigID; + action.copyDestination = dstID; action.copyDestinationSubresource = Subresource(); AddAction(action); if(pResource) - m_ResourceUses[dstLiveID].push_back(EventUsage(m_CurEventID, ResourceUsage::Discard)); + m_ResourceUses[dstID].push_back(EventUsage(m_CurEventID, ResourceUsage::Discard)); } } @@ -1928,7 +1925,7 @@ bool WrappedID3D11DeviceContext::Serialise_DiscardView(SerialiserType &ser, ID3D { const ResourceRange &range = GetResourceRange(pResourceView); ResourceId resid = GetViewResourceResID(pResourceView); - action.copyDestination = m_pDevice->GetResourceManager()->GetOriginalID(resid); + action.copyDestination = resid; action.copyDestinationSubresource = Subresource(range.GetMinMip(), range.GetMinSlice()); m_ResourceUses[resid].push_back( EventUsage(m_CurEventID, ResourceUsage::Discard, GetIDForDeviceChild(pResourceView))); @@ -2063,7 +2060,7 @@ bool WrappedID3D11DeviceContext::Serialise_DiscardView1(SerialiserType &ser, { const ResourceRange &range = GetResourceRange(pResourceView); ResourceId resid = GetViewResourceResID(pResourceView); - action.copyDestination = m_pDevice->GetResourceManager()->GetOriginalID(resid); + action.copyDestination = resid; action.copyDestinationSubresource = Subresource(range.GetMinMip(), range.GetMinSlice()); m_ResourceUses[resid].push_back( EventUsage(m_CurEventID, ResourceUsage::Discard, GetIDForDeviceChild(pResourceView))); diff --git a/renderdoc/driver/d3d11/d3d11_context_wrap.cpp b/renderdoc/driver/d3d11/d3d11_context_wrap.cpp index b16ca1d4e..7edd201cb 100644 --- a/renderdoc/driver/d3d11/d3d11_context_wrap.cpp +++ b/renderdoc/driver/d3d11/d3d11_context_wrap.cpp @@ -5680,10 +5680,8 @@ bool WrappedID3D11DeviceContext::Serialise_CopySubresourceRegion( if(IsLoading(m_State)) { - ResourceId dstLiveID = GetIDForDeviceChild(pDstResource); - ResourceId srcLiveID = GetIDForDeviceChild(pSrcResource); - ResourceId dstOrigID = GetResourceManager()->GetOriginalID(dstLiveID); - ResourceId srcOrigID = GetResourceManager()->GetOriginalID(srcLiveID); + ResourceId dstID = GetIDForDeviceChild(pDstResource); + ResourceId srcID = GetIDForDeviceChild(pSrcResource); AddEvent(); @@ -5692,26 +5690,26 @@ bool WrappedID3D11DeviceContext::Serialise_CopySubresourceRegion( if(pDstResource && pSrcResource) { - action.copySource = srcOrigID; + action.copySource = srcID; action.copySourceSubresource = Subresource(GetMipForSubresource(pSrcResource, SrcSubresource), GetSliceForSubresource(pSrcResource, SrcSubresource)); - action.copyDestination = dstOrigID; + action.copyDestination = dstID; action.copyDestinationSubresource = Subresource(GetMipForSubresource(pDstResource, DstSubresource), GetSliceForSubresource(pDstResource, DstSubresource)); if(m_CurEventID) { - if(dstLiveID == srcLiveID) + if(dstID == srcID) { - m_ResourceUses[dstLiveID].push_back(EventUsage(m_CurEventID, ResourceUsage::Copy)); + m_ResourceUses[dstID].push_back(EventUsage(m_CurEventID, ResourceUsage::Copy)); } else { - m_ResourceUses[dstLiveID].push_back(EventUsage(m_CurEventID, ResourceUsage::CopyDst)); - m_ResourceUses[srcLiveID].push_back(EventUsage(m_CurEventID, ResourceUsage::CopySrc)); + m_ResourceUses[dstID].push_back(EventUsage(m_CurEventID, ResourceUsage::CopyDst)); + m_ResourceUses[srcID].push_back(EventUsage(m_CurEventID, ResourceUsage::CopySrc)); } } } @@ -5837,10 +5835,8 @@ bool WrappedID3D11DeviceContext::Serialise_CopyResource(SerialiserType &ser, if(IsLoading(m_State)) { - ResourceId dstLiveID = GetIDForDeviceChild(pDstResource); - ResourceId srcLiveID = GetIDForDeviceChild(pSrcResource); - ResourceId dstOrigID = GetResourceManager()->GetOriginalID(dstLiveID); - ResourceId srcOrigID = GetResourceManager()->GetOriginalID(srcLiveID); + ResourceId dstID = GetIDForDeviceChild(pDstResource); + ResourceId srcID = GetIDForDeviceChild(pSrcResource); AddEvent(); @@ -5849,21 +5845,21 @@ bool WrappedID3D11DeviceContext::Serialise_CopyResource(SerialiserType &ser, if(pDstResource && pSrcResource) { - action.copySource = srcOrigID; + action.copySource = srcID; action.copySourceSubresource = Subresource(); - action.copyDestination = dstOrigID; + action.copyDestination = dstID; action.copyDestinationSubresource = Subresource(); if(m_CurEventID) { - if(dstLiveID == srcLiveID) + if(dstID == srcID) { - m_ResourceUses[dstLiveID].push_back(EventUsage(m_CurEventID, ResourceUsage::Copy)); + m_ResourceUses[dstID].push_back(EventUsage(m_CurEventID, ResourceUsage::Copy)); } else { - m_ResourceUses[dstLiveID].push_back(EventUsage(m_CurEventID, ResourceUsage::CopyDst)); - m_ResourceUses[srcLiveID].push_back(EventUsage(m_CurEventID, ResourceUsage::CopySrc)); + m_ResourceUses[dstID].push_back(EventUsage(m_CurEventID, ResourceUsage::CopyDst)); + m_ResourceUses[srcID].push_back(EventUsage(m_CurEventID, ResourceUsage::CopySrc)); } } } @@ -6277,30 +6273,28 @@ bool WrappedID3D11DeviceContext::Serialise_CopyStructureCount(SerialiserType &se { WrappedID3D11UnorderedAccessView1 *view = (WrappedID3D11UnorderedAccessView1 *)pSrcView; - ResourceId dstLiveID = GetIDForDeviceChild(pDstBuffer); - ResourceId srcLiveID = view->GetResourceResID(); - ResourceId dstOrigID = GetResourceManager()->GetOriginalID(dstLiveID); - ResourceId srcOrigID = GetResourceManager()->GetOriginalID(srcLiveID); + ResourceId dstID = GetIDForDeviceChild(pDstBuffer); + ResourceId srcID = view->GetResourceResID(); AddEvent(); ActionDescription action; action.flags |= ActionFlags::Copy; - action.copySource = srcOrigID; + action.copySource = srcID; action.copySourceSubresource = Subresource(); - action.copyDestination = dstOrigID; + action.copyDestination = dstID; action.copyDestinationSubresource = Subresource(); if(m_CurEventID) { - if(dstLiveID == srcLiveID) + if(dstID == srcID) { - m_ResourceUses[dstLiveID].push_back(EventUsage(m_CurEventID, ResourceUsage::Copy)); + m_ResourceUses[dstID].push_back(EventUsage(m_CurEventID, ResourceUsage::Copy)); } else { - m_ResourceUses[dstLiveID].push_back(EventUsage(m_CurEventID, ResourceUsage::CopyDst)); - m_ResourceUses[srcLiveID].push_back(EventUsage(m_CurEventID, ResourceUsage::CopySrc)); + m_ResourceUses[dstID].push_back(EventUsage(m_CurEventID, ResourceUsage::CopyDst)); + m_ResourceUses[srcID].push_back(EventUsage(m_CurEventID, ResourceUsage::CopySrc)); } } @@ -6387,10 +6381,8 @@ bool WrappedID3D11DeviceContext::Serialise_ResolveSubresource(SerialiserType &se if(IsLoading(m_State)) { - ResourceId dstLiveID = GetIDForDeviceChild(pDstResource); - ResourceId srcLiveID = GetIDForDeviceChild(pSrcResource); - ResourceId dstOrigID = GetResourceManager()->GetOriginalID(dstLiveID); - ResourceId srcOrigID = GetResourceManager()->GetOriginalID(srcLiveID); + ResourceId dstID = GetIDForDeviceChild(pDstResource); + ResourceId srcID = GetIDForDeviceChild(pSrcResource); AddEvent(); @@ -6399,25 +6391,25 @@ bool WrappedID3D11DeviceContext::Serialise_ResolveSubresource(SerialiserType &se if(pDstResource && pSrcResource) { - action.copySource = srcOrigID; + action.copySource = srcID; action.copySourceSubresource = Subresource(GetMipForSubresource(pSrcResource, SrcSubresource), GetSliceForSubresource(pSrcResource, SrcSubresource)); - action.copyDestination = dstOrigID; + action.copyDestination = dstID; action.copyDestinationSubresource = Subresource(GetMipForSubresource(pDstResource, DstSubresource), GetSliceForSubresource(pDstResource, DstSubresource)); if(m_CurEventID) { - if(dstLiveID == srcLiveID) + if(dstID == srcID) { - m_ResourceUses[dstLiveID].push_back(EventUsage(m_CurEventID, ResourceUsage::Resolve)); + m_ResourceUses[dstID].push_back(EventUsage(m_CurEventID, ResourceUsage::Resolve)); } else { - m_ResourceUses[dstLiveID].push_back(EventUsage(m_CurEventID, ResourceUsage::ResolveDst)); - m_ResourceUses[srcLiveID].push_back(EventUsage(m_CurEventID, ResourceUsage::ResolveSrc)); + m_ResourceUses[dstID].push_back(EventUsage(m_CurEventID, ResourceUsage::ResolveDst)); + m_ResourceUses[srcID].push_back(EventUsage(m_CurEventID, ResourceUsage::ResolveSrc)); } } } @@ -6651,8 +6643,7 @@ bool WrappedID3D11DeviceContext::Serialise_ClearRenderTargetView( { m_ResourceUses[view->GetResourceResID()].push_back( EventUsage(m_CurEventID, ResourceUsage::Clear, view->GetResourceID())); - action.copyDestination = - m_pDevice->GetResourceManager()->GetOriginalID(view->GetResourceResID()); + action.copyDestination = view->GetResourceResID(); D3D11_RENDER_TARGET_VIEW_DESC viewDesc; view->GetDesc(&viewDesc); action.copyDestinationSubresource = @@ -6734,8 +6725,7 @@ bool WrappedID3D11DeviceContext::Serialise_ClearUnorderedAccessViewUint( { m_ResourceUses[view->GetResourceResID()].push_back( EventUsage(m_CurEventID, ResourceUsage::Clear, view->GetResourceID())); - action.copyDestination = - m_pDevice->GetResourceManager()->GetOriginalID(view->GetResourceResID()); + action.copyDestination = view->GetResourceResID(); action.copyDestinationSubresource = Subresource(); } @@ -6813,8 +6803,7 @@ bool WrappedID3D11DeviceContext::Serialise_ClearUnorderedAccessViewFloat( { m_ResourceUses[view->GetResourceResID()].push_back( EventUsage(m_CurEventID, ResourceUsage::Clear, view->GetResourceID())); - action.copyDestination = - m_pDevice->GetResourceManager()->GetOriginalID(view->GetResourceResID()); + action.copyDestination = view->GetResourceResID(); action.copyDestinationSubresource = Subresource(); } @@ -6898,8 +6887,7 @@ bool WrappedID3D11DeviceContext::Serialise_ClearDepthStencilView( { m_ResourceUses[view->GetResourceResID()].push_back( EventUsage(m_CurEventID, ResourceUsage::Clear, view->GetResourceID())); - action.copyDestination = - m_pDevice->GetResourceManager()->GetOriginalID(view->GetResourceResID()); + action.copyDestination = view->GetResourceResID(); D3D11_DEPTH_STENCIL_VIEW_DESC viewDesc; view->GetDesc(&viewDesc); action.copyDestinationSubresource = diff --git a/renderdoc/driver/d3d11/d3d11_debug.h b/renderdoc/driver/d3d11/d3d11_debug.h index c5cdbbcc4..01f6f065d 100644 --- a/renderdoc/driver/d3d11/d3d11_debug.h +++ b/renderdoc/driver/d3d11/d3d11_debug.h @@ -117,7 +117,6 @@ public: { BufferDescription buf; - // no original ID for this one buf.resourceId = pair.first; buf.length = 4; buf.gpuAddress = 0; diff --git a/renderdoc/driver/d3d11/d3d11_device.cpp b/renderdoc/driver/d3d11/d3d11_device.cpp index 7cad78d9e..b0b9ee409 100644 --- a/renderdoc/driver/d3d11/d3d11_device.cpp +++ b/renderdoc/driver/d3d11/d3d11_device.cpp @@ -1509,7 +1509,7 @@ RDResult WrappedID3D11Device::ReadLogInitialisation(RDCFile *rdc, bool storeStru for(const BufferDescription &b : counterBuffers) { ID3D11UnorderedAccessView *uav = GetDebugManager()->GetCounterBufferUAV(b.resourceId); - ResourceId uavId = GetResourceManager()->GetOriginalID(GetIDForDeviceChild(uav)); + ResourceId uavId = GetIDForDeviceChild(uav); ResourceDescription &uavDesc = GetReplay()->GetResourceDesc(uavId); ResourceDescription &bufDesc = GetReplay()->GetResourceDesc(b.resourceId); @@ -2868,7 +2868,7 @@ void WrappedID3D11Device::AddResourceCurChunk(ResourceId id) void WrappedID3D11Device::DerivedResource(ID3D11DeviceChild *parent, ResourceId child) { - ResourceId parentId = GetResourceManager()->GetOriginalID(GetIDForDeviceChild(parent)); + ResourceId parentId = GetIDForDeviceChild(parent); if(GetReplay()->GetResourceDesc(parentId).derivedResources.contains(child)) return; @@ -2888,7 +2888,7 @@ bool WrappedID3D11Device::Serialise_SetShaderDebugPath(SerialiserType &ser, if(IsReplayingAndReading() && pResource) { - ResourceId resId = GetResourceManager()->GetOriginalID(GetIDForDeviceChild(pResource)); + ResourceId resId = GetIDForDeviceChild(pResource); AddResourceCurChunk(resId); @@ -2941,8 +2941,7 @@ bool WrappedID3D11Device::Serialise_SetResourceName(SerialiserType &ser, if(IsReplayingAndReading() && pResource) { - ResourceDescription &descr = GetReplay()->GetResourceDesc( - GetResourceManager()->GetOriginalID(GetIDForDeviceChild(pResource))); + ResourceDescription &descr = GetReplay()->GetResourceDesc(GetIDForDeviceChild(pResource)); if(Name && Name[0]) descr.SetCustomName(Name); AddResourceCurChunk(descr); diff --git a/renderdoc/driver/d3d11/d3d11_replay.cpp b/renderdoc/driver/d3d11/d3d11_replay.cpp index aabe3ce92..4e503dc22 100644 --- a/renderdoc/driver/d3d11/d3d11_replay.cpp +++ b/renderdoc/driver/d3d11/d3d11_replay.cpp @@ -481,7 +481,7 @@ BufferDescription D3D11Replay::GetBuffer(ResourceId id) rdcstr str = GetDebugName(d3dbuf); - ret.resourceId = m_pDevice->GetResourceManager()->GetOriginalID(it->first); + ret.resourceId = it->first; D3D11_BUFFER_DESC desc; it->second.m_Buffer->GetDesc(&desc); @@ -516,7 +516,7 @@ TextureDescription D3D11Replay::GetTexture(ResourceId id) D3D11_TEXTURE1D_DESC desc; d3dtex->GetDesc(&desc); - tex.resourceId = m_pDevice->GetResourceManager()->GetOriginalID(it1D->first); + tex.resourceId = it1D->first; tex.dimension = 1; tex.width = desc.Width; tex.height = 1; @@ -566,7 +566,7 @@ TextureDescription D3D11Replay::GetTexture(ResourceId id) if(d3dtex->m_RealDescriptor) desc.Format = d3dtex->m_RealDescriptor->Format; - tex.resourceId = m_pDevice->GetResourceManager()->GetOriginalID(it2D->first); + tex.resourceId = it2D->first; tex.dimension = 2; tex.width = desc.Width; tex.height = desc.Height; @@ -623,7 +623,7 @@ TextureDescription D3D11Replay::GetTexture(ResourceId id) D3D11_TEXTURE3D_DESC desc; d3dtex->GetDesc(&desc); - tex.resourceId = m_pDevice->GetResourceManager()->GetOriginalID(it3D->first); + tex.resourceId = it3D->first; tex.dimension = 3; tex.width = desc.Width; tex.height = desc.Height; @@ -771,7 +771,7 @@ void D3D11Replay::SavePipelineState(uint32_t eventId) ResourceId layoutId = GetIDForDeviceChild(rs->IA.Layout); - ret.inputAssembly.resourceId = rm->GetOriginalID(layoutId); + ret.inputAssembly.resourceId = layoutId; ret.inputAssembly.bytecode = GetShader(ResourceId(), layoutId, ShaderEntryPoint()); ret.inputAssembly.layouts.resize(vec.size()); @@ -794,13 +794,12 @@ void D3D11Replay::SavePipelineState(uint32_t eventId) { D3D11Pipe::VertexBuffer &vb = ret.inputAssembly.vertexBuffers[i]; - vb.resourceId = rm->GetOriginalID(GetIDForDeviceChild(rs->IA.VBs[i])); + vb.resourceId = GetIDForDeviceChild(rs->IA.VBs[i]); vb.byteOffset = rs->IA.Offsets[i]; vb.byteStride = rs->IA.Strides[i]; } - ret.inputAssembly.indexBuffer.resourceId = - rm->GetOriginalID(GetIDForDeviceChild(rs->IA.IndexBuffer)); + ret.inputAssembly.indexBuffer.resourceId = GetIDForDeviceChild(rs->IA.IndexBuffer); ret.inputAssembly.indexBuffer.byteOffset = rs->IA.IndexOffset; switch(rs->IA.IndexFormat) { @@ -838,7 +837,7 @@ void D3D11Replay::SavePipelineState(uint32_t eventId) if(shad != NULL) refl = &shad->GetDetails(); - dst.resourceId = rm->GetUnreplacedOriginalID(id); + dst.resourceId = rm->GetUnreplacedID(id); dst.reflection = refl; dst.classInstances.reserve(src.NumInstances); @@ -868,7 +867,7 @@ void D3D11Replay::SavePipelineState(uint32_t eventId) ret.streamOut.outputs.resize(D3D11_SO_BUFFER_SLOT_COUNT); for(size_t s = 0; s < D3D11_SO_BUFFER_SLOT_COUNT; s++) { - ret.streamOut.outputs[s].resourceId = rm->GetOriginalID(GetIDForDeviceChild(rs->SO.Buffers[s])); + ret.streamOut.outputs[s].resourceId = GetIDForDeviceChild(rs->SO.Buffers[s]); ret.streamOut.outputs[s].byteOffset = rs->SO.Offsets[s]; } @@ -933,7 +932,7 @@ void D3D11Replay::SavePipelineState(uint32_t eventId) : ConservativeRaster::Disabled; } - ret.rasterizer.state.resourceId = rm->GetOriginalID(GetIDForDeviceChild(rs->RS.State)); + ret.rasterizer.state.resourceId = GetIDForDeviceChild(rs->RS.State); } else { @@ -983,7 +982,7 @@ void D3D11Replay::SavePipelineState(uint32_t eventId) { Descriptor &descriptor = ret.outputMerger.renderTargets[i]; - descriptor.view = rm->GetOriginalID(GetIDForDeviceChild(rs->OM.RenderTargets[i])); + descriptor.view = GetIDForDeviceChild(rs->OM.RenderTargets[i]); if(descriptor.view != ResourceId()) { @@ -997,7 +996,7 @@ void D3D11Replay::SavePipelineState(uint32_t eventId) descriptor.elementByteSize = desc.Format == DXGI_FORMAT_UNKNOWN ? 1 : GetByteSize(1, 1, 1, desc.Format, 0); - descriptor.resource = rm->GetOriginalID(GetIDForDeviceChild(res)); + descriptor.resource = GetIDForDeviceChild(res); descriptor.type = DescriptorType::ReadWriteImage; descriptor.format = MakeResourceFormat(desc.Format); @@ -1071,7 +1070,7 @@ void D3D11Replay::SavePipelineState(uint32_t eventId) { Descriptor &descriptor = ret.outputMerger.depthTarget; - descriptor.view = rm->GetOriginalID(GetIDForDeviceChild(rs->OM.DepthView)); + descriptor.view = GetIDForDeviceChild(rs->OM.DepthView); if(descriptor.view != ResourceId()) { @@ -1093,7 +1092,7 @@ void D3D11Replay::SavePipelineState(uint32_t eventId) if(desc.Flags & D3D11_DSV_READ_ONLY_STENCIL) ret.outputMerger.stencilReadOnly = true; - descriptor.resource = rm->GetOriginalID(GetIDForDeviceChild(res)); + descriptor.resource = GetIDForDeviceChild(res); descriptor.type = DescriptorType::ReadWriteImage; descriptor.format = MakeResourceFormat(desc.Format); @@ -1159,8 +1158,7 @@ void D3D11Replay::SavePipelineState(uint32_t eventId) D3D11_BLEND_DESC desc; rs->OM.BlendState->GetDesc(&desc); - ret.outputMerger.blendState.resourceId = - rm->GetOriginalID(GetIDForDeviceChild(rs->OM.BlendState)); + ret.outputMerger.blendState.resourceId = GetIDForDeviceChild(rs->OM.BlendState); ret.outputMerger.blendState.alphaToCoverage = desc.AlphaToCoverageEnable == TRUE; ret.outputMerger.blendState.independentBlend = desc.IndependentBlendEnable == TRUE; @@ -1237,8 +1235,7 @@ void D3D11Replay::SavePipelineState(uint32_t eventId) ret.outputMerger.depthStencilState.depthWrites = desc.DepthWriteMask == D3D11_DEPTH_WRITE_MASK_ALL; ret.outputMerger.depthStencilState.stencilEnable = desc.StencilEnable == TRUE; - ret.outputMerger.depthStencilState.resourceId = - rm->GetOriginalID(GetIDForDeviceChild(rs->OM.DepthStencilState)); + ret.outputMerger.depthStencilState.resourceId = GetIDForDeviceChild(rs->OM.DepthStencilState); ret.outputMerger.depthStencilState.frontFace.function = MakeCompareFunc(desc.FrontFace.StencilFunc); @@ -1300,7 +1297,7 @@ void D3D11Replay::SavePipelineState(uint32_t eventId) // Predication ///////////////////////////////////////////////// - ret.predication.resourceId = rm->GetOriginalID(GetIDForDeviceChild(rs->Predicate)); + ret.predication.resourceId = GetIDForDeviceChild(rs->Predicate); ret.predication.value = rs->PredicateValue == TRUE ? true : false; ret.predication.isPassing = rs->PredicationWouldPass(); } @@ -1318,7 +1315,6 @@ rdcarray D3D11Replay::GetDescriptors(ResourceId descriptorStore, } D3D11RenderState *rs = m_pDevice->GetImmediateContext()->GetCurrentPipelineState(); - D3D11ResourceManager *rm = m_pDevice->GetResourceManager(); size_t count = 0; for(const DescriptorRange &r : ranges) @@ -1341,7 +1337,7 @@ rdcarray D3D11Replay::GetDescriptors(ResourceId descriptorStore, { ret[dst].type = DescriptorType::ConstantBuffer; - ret[dst].resource = rm->GetOriginalID(GetIDForDeviceChild(src.ConstantBuffers[idx.idx])); + ret[dst].resource = GetIDForDeviceChild(src.ConstantBuffers[idx.idx]); ret[dst].byteOffset = src.CBOffsets[idx.idx] * sizeof(Vec4f); ret[dst].byteSize = src.CBCounts[idx.idx] * sizeof(Vec4f); } @@ -1349,7 +1345,7 @@ rdcarray D3D11Replay::GetDescriptors(ResourceId descriptorStore, { ID3D11ShaderResourceView *view = src.SRVs[idx.idx]; - ret[dst].view = rm->GetOriginalID(GetIDForDeviceChild(view)); + ret[dst].view = GetIDForDeviceChild(view); ret[dst].type = DescriptorType::Image; if(ret[dst].view != ResourceId()) @@ -1365,7 +1361,7 @@ rdcarray D3D11Replay::GetDescriptors(ResourceId descriptorStore, ret[dst].elementByteSize = desc.Format == DXGI_FORMAT_UNKNOWN ? 1 : GetByteSize(1, 1, 1, desc.Format, 0); - ret[dst].resource = rm->GetOriginalID(GetIDForDeviceChild(res)); + ret[dst].resource = GetIDForDeviceChild(res); ret[dst].textureType = MakeTextureDim(desc.ViewDimension); @@ -1466,7 +1462,7 @@ rdcarray D3D11Replay::GetDescriptors(ResourceId descriptorStore, else if(idx.idx >= rs->OM.UAVStartSlot) view = rs->OM.UAVs[idx.idx - rs->OM.UAVStartSlot]; - ret[dst].view = rm->GetOriginalID(GetIDForDeviceChild(view)); + ret[dst].view = GetIDForDeviceChild(view); ret[dst].type = DescriptorType::ReadWriteImage; if(ret[dst].view != ResourceId()) @@ -1494,7 +1490,7 @@ rdcarray D3D11Replay::GetDescriptors(ResourceId descriptorStore, ret[dst].secondary = GetDebugManager()->GetCounterBufferID(view); } - ret[dst].resource = rm->GetOriginalID(GetIDForDeviceChild(res)); + ret[dst].resource = GetIDForDeviceChild(res); ret[dst].format = MakeResourceFormat(desc.Format); @@ -1565,7 +1561,6 @@ rdcarray D3D11Replay::GetSamplerDescriptors(ResourceId descri } D3D11RenderState *rs = m_pDevice->GetImmediateContext()->GetCurrentPipelineState(); - D3D11ResourceManager *rm = m_pDevice->GetResourceManager(); size_t count = 0; for(const DescriptorRange &r : ranges) @@ -1589,7 +1584,7 @@ rdcarray D3D11Replay::GetSamplerDescriptors(ResourceId descri ID3D11SamplerState *samp = srcArr[(uint32_t)idx.stage]->Samplers[idx.idx]; ret[dst].type = DescriptorType::Sampler; - ret[dst].object = rm->GetOriginalID(GetIDForDeviceChild(samp)); + ret[dst].object = GetIDForDeviceChild(samp); if(ret[dst].object != ResourceId()) { diff --git a/renderdoc/driver/d3d12/d3d12_command_list1_wrap.cpp b/renderdoc/driver/d3d12/d3d12_command_list1_wrap.cpp index 867da2f5a..c9714de19 100644 --- a/renderdoc/driver/d3d12/d3d12_command_list1_wrap.cpp +++ b/renderdoc/driver/d3d12/d3d12_command_list1_wrap.cpp @@ -52,7 +52,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_AtomicCopyBufferUINT( return false; } - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); if(IsActiveReplaying(m_State)) { @@ -84,8 +84,8 @@ bool WrappedID3D12GraphicsCommandList::Serialise_AtomicCopyBufferUINT( m_Cmd->AddEvent(); ActionDescription action; - action.copySource = GetResourceManager()->GetOriginalID(GetResID(pSrcBuffer)); - action.copyDestination = GetResourceManager()->GetOriginalID(GetResID(pDstBuffer)); + action.copySource = GetResID(pSrcBuffer); + action.copyDestination = GetResID(pDstBuffer); action.flags |= ActionFlags::Copy; @@ -165,7 +165,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_AtomicCopyBufferUINT64( return false; } - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); if(IsActiveReplaying(m_State)) { @@ -197,8 +197,8 @@ bool WrappedID3D12GraphicsCommandList::Serialise_AtomicCopyBufferUINT64( m_Cmd->AddEvent(); ActionDescription action; - action.copySource = GetResourceManager()->GetOriginalID(GetResID(pSrcBuffer)); - action.copyDestination = GetResourceManager()->GetOriginalID(GetResID(pDstBuffer)); + action.copySource = GetResID(pSrcBuffer); + action.copyDestination = GetResID(pDstBuffer); action.flags |= ActionFlags::Copy; @@ -287,7 +287,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_OMSetDepthBounds(SerialiserType return false; } - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); bool stateUpdate = false; @@ -375,7 +375,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_SetSamplePositions( return false; } - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); bool stateUpdate = false; @@ -457,7 +457,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_ResolveSubresourceRegion( return false; } - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); if(IsActiveReplaying(m_State)) { @@ -480,8 +480,8 @@ bool WrappedID3D12GraphicsCommandList::Serialise_ResolveSubresourceRegion( m_Cmd->AddEvent(); ActionDescription action; - action.copySource = GetResourceManager()->GetOriginalID(GetResID(pSrcResource)); - action.copyDestination = GetResourceManager()->GetOriginalID(GetResID(pDstResource)); + action.copySource = GetResID(pSrcResource); + action.copyDestination = GetResID(pDstResource); action.flags |= ActionFlags::Resolve; @@ -564,7 +564,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_SetViewInstanceMask(SerialiserT return false; } - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); bool stateUpdate = false; diff --git a/renderdoc/driver/d3d12/d3d12_command_list2_wrap.cpp b/renderdoc/driver/d3d12/d3d12_command_list2_wrap.cpp index 6d82fb17f..d1736b4a3 100644 --- a/renderdoc/driver/d3d12/d3d12_command_list2_wrap.cpp +++ b/renderdoc/driver/d3d12/d3d12_command_list2_wrap.cpp @@ -46,7 +46,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_WriteBufferImmediate( return false; } - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); if(IsActiveReplaying(m_State)) { diff --git a/renderdoc/driver/d3d12/d3d12_command_list4_wrap.cpp b/renderdoc/driver/d3d12/d3d12_command_list4_wrap.cpp index 157586762..7827a9b9d 100644 --- a/renderdoc/driver/d3d12/d3d12_command_list4_wrap.cpp +++ b/renderdoc/driver/d3d12/d3d12_command_list4_wrap.cpp @@ -211,7 +211,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_BeginRenderPass( return false; } - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); // patch the parameters so that we point into our local CPU descriptor handles that are up // to date @@ -555,7 +555,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_EndRenderPass(SerialiserType &s return false; } - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); bool stateUpdate = false; @@ -1003,7 +1003,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_BuildRaytracingAccelerationStru if(IsReplayingAndReading()) { - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); BakedCmdListInfo &bakedCmdInfo = m_Cmd->m_BakedCmdListInfo[m_Cmd->m_LastCmdListID]; BakedCmdListInfo::PatchRaytracing &patchInfo = bakedCmdInfo.m_patchRaytracingInfo[bakedCmdInfo.curEventID]; @@ -1369,7 +1369,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_EmitRaytracingAccelerationStruc return false; } - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); if(IsActiveReplaying(m_State)) { @@ -1389,8 +1389,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_EmitRaytracingAccelerationStruc m_Cmd->AddEvent(); ActionDescription action; - action.copyDestination = GetResourceManager()->GetOriginalID( - WrappedID3D12Resource::GetResIDFromAddr(Desc.DestBuffer)); + action.copyDestination = WrappedID3D12Resource::GetResIDFromAddr(Desc.DestBuffer); action.copyDestinationSubresource = Subresource(); action.flags |= ActionFlags::Copy; @@ -1480,7 +1479,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_CopyRaytracingAccelerationStruc if(IsReplayingAndReading()) { - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); if(IsActiveReplaying(m_State)) { @@ -1737,7 +1736,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_SetPipelineState1(SerialiserTyp return false; } - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); bool stateUpdate = false; @@ -1816,7 +1815,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_DispatchRays(SerialiserType &se return false; } - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); const D3D12RenderState &state = m_Cmd->m_BakedCmdListInfo[m_Cmd->m_LastCmdListID].state; diff --git a/renderdoc/driver/d3d12/d3d12_command_list5_wrap.cpp b/renderdoc/driver/d3d12/d3d12_command_list5_wrap.cpp index 8f7b28b6c..9bafc58ad 100644 --- a/renderdoc/driver/d3d12/d3d12_command_list5_wrap.cpp +++ b/renderdoc/driver/d3d12/d3d12_command_list5_wrap.cpp @@ -65,7 +65,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_RSSetShadingRate( return false; } - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); bool stateUpdate = false; @@ -159,7 +159,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_RSSetShadingRateImage(Serialise return false; } - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); bool stateUpdate = false; diff --git a/renderdoc/driver/d3d12/d3d12_command_list6_wrap.cpp b/renderdoc/driver/d3d12/d3d12_command_list6_wrap.cpp index cf7c4e8c9..5182caeb8 100644 --- a/renderdoc/driver/d3d12/d3d12_command_list6_wrap.cpp +++ b/renderdoc/driver/d3d12/d3d12_command_list6_wrap.cpp @@ -54,7 +54,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_DispatchMesh(SerialiserType &se return false; } - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); if(IsActiveReplaying(m_State)) { diff --git a/renderdoc/driver/d3d12/d3d12_command_list7_wrap.cpp b/renderdoc/driver/d3d12/d3d12_command_list7_wrap.cpp index 0aefe6e7e..8e06c2dc6 100644 --- a/renderdoc/driver/d3d12/d3d12_command_list7_wrap.cpp +++ b/renderdoc/driver/d3d12/d3d12_command_list7_wrap.cpp @@ -45,7 +45,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_Barrier(SerialiserType &ser, UI return false; } - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); rdcarray filteredUnwrappedBuf; rdcarray filteredUnwrappedTex; diff --git a/renderdoc/driver/d3d12/d3d12_command_list8_wrap.cpp b/renderdoc/driver/d3d12/d3d12_command_list8_wrap.cpp index 15dbc94eb..7ee0aba48 100644 --- a/renderdoc/driver/d3d12/d3d12_command_list8_wrap.cpp +++ b/renderdoc/driver/d3d12/d3d12_command_list8_wrap.cpp @@ -45,7 +45,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_OMSetFrontAndBackStencilRef(Ser return false; } - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); bool stateUpdate = false; diff --git a/renderdoc/driver/d3d12/d3d12_command_list9_wrap.cpp b/renderdoc/driver/d3d12/d3d12_command_list9_wrap.cpp index 409afef26..ed9718141 100644 --- a/renderdoc/driver/d3d12/d3d12_command_list9_wrap.cpp +++ b/renderdoc/driver/d3d12/d3d12_command_list9_wrap.cpp @@ -46,7 +46,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_RSSetDepthBias(SerialiserType & return false; } - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); bool stateUpdate = false; @@ -118,7 +118,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_IASetIndexBufferStripCutValue( return false; } - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); bool stateUpdate = false; diff --git a/renderdoc/driver/d3d12/d3d12_command_list_wrap.cpp b/renderdoc/driver/d3d12/d3d12_command_list_wrap.cpp index 57a6f6e0f..49a96c0f9 100644 --- a/renderdoc/driver/d3d12/d3d12_command_list_wrap.cpp +++ b/renderdoc/driver/d3d12/d3d12_command_list_wrap.cpp @@ -481,7 +481,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_ResourceBarrier( if(IsReplayingAndReading()) { - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); rdcarray filtered; { @@ -630,7 +630,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_ClearState(SerialiserType &ser, if(IsReplayingAndReading()) { - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); bool stateUpdate = false; @@ -710,7 +710,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_IASetPrimitiveTopology( if(IsReplayingAndReading()) { - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); bool stateUpdate = false; @@ -773,7 +773,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_RSSetViewports(SerialiserType & if(IsReplayingAndReading()) { - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); bool stateUpdate = false; @@ -840,7 +840,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_RSSetScissorRects(SerialiserTyp if(IsReplayingAndReading()) { - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); bool stateUpdate = false; @@ -905,7 +905,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_OMSetBlendFactor(SerialiserType if(IsReplayingAndReading()) { - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); bool stateUpdate = false; @@ -962,7 +962,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_OMSetStencilRef(SerialiserType if(IsReplayingAndReading()) { - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); bool stateUpdate = false; @@ -1023,7 +1023,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_SetDescriptorHeaps( if(IsReplayingAndReading()) { - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); rdcarray heapIDs; rdcarray heaps; @@ -1106,7 +1106,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_IASetIndexBuffer(SerialiserType if(IsReplayingAndReading()) { - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); bool stateUpdate = false; @@ -1186,7 +1186,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_IASetVertexBuffers( if(IsReplayingAndReading()) { - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); bool stateUpdate = false; @@ -1265,7 +1265,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_SOSetTargets( if(IsReplayingAndReading()) { - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); bool stateUpdate = false; @@ -1344,7 +1344,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_SetPipelineState(SerialiserType if(IsReplayingAndReading()) { - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); bool stateUpdate = false; @@ -1513,7 +1513,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_OMSetRenderTargets( if(IsReplayingAndReading()) { - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); rdcarray unwrappedRTs; unwrappedRTs.resize(RTVs.size()); @@ -1637,7 +1637,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_SetComputeRootSignature( if(IsReplayingAndReading()) { - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); bool stateUpdate = false; @@ -1724,7 +1724,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_SetComputeRootDescriptorTable( if(IsReplayingAndReading()) { - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); bool stateUpdate = false; @@ -1839,7 +1839,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_SetComputeRoot32BitConstant( if(IsReplayingAndReading()) { - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); bool stateUpdate = false; @@ -1917,7 +1917,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_SetComputeRoot32BitConstants( if(IsReplayingAndReading()) { - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); bool stateUpdate = false; @@ -2002,7 +2002,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_SetComputeRootConstantBufferVie if(IsReplayingAndReading()) { - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); if(ValidateRootGPUVA(BufferLocation)) return true; @@ -2087,7 +2087,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_SetComputeRootShaderResourceVie if(IsReplayingAndReading()) { - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); if(ValidateRootGPUVA(BufferLocation)) return true; @@ -2172,7 +2172,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_SetComputeRootUnorderedAccessVi if(IsReplayingAndReading()) { - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); if(ValidateRootGPUVA(BufferLocation)) return true; @@ -2260,7 +2260,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_SetGraphicsRootSignature( if(IsReplayingAndReading()) { - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); bool stateUpdate = false; @@ -2336,7 +2336,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_SetGraphicsRootDescriptorTable( if(IsReplayingAndReading()) { - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); bool stateUpdate = false; @@ -2443,7 +2443,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_SetGraphicsRoot32BitConstant( if(IsReplayingAndReading()) { - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); bool stateUpdate = false; @@ -2515,7 +2515,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_SetGraphicsRoot32BitConstants( if(IsReplayingAndReading()) { - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); bool stateUpdate = false; @@ -2594,7 +2594,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_SetGraphicsRootConstantBufferVi if(IsReplayingAndReading()) { - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); if(ValidateRootGPUVA(BufferLocation)) return true; @@ -2673,7 +2673,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_SetGraphicsRootShaderResourceVi if(IsReplayingAndReading()) { - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); if(ValidateRootGPUVA(BufferLocation)) return true; @@ -2752,7 +2752,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_SetGraphicsRootUnorderedAccessV if(IsReplayingAndReading()) { - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); if(ValidateRootGPUVA(BufferLocation)) return true; @@ -2837,7 +2837,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_BeginQuery(SerialiserType &ser, if(IsReplayingAndReading()) { - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); if(IsActiveReplaying(m_State)) { @@ -2885,7 +2885,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_EndQuery(SerialiserType &ser, if(IsReplayingAndReading()) { - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); if(IsActiveReplaying(m_State)) { @@ -2937,7 +2937,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_ResolveQueryData( if(IsReplayingAndReading()) { - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); if(IsActiveReplaying(m_State)) { @@ -2993,7 +2993,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_SetPredication(SerialiserType & if(IsReplayingAndReading()) { - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); // don't replay predication at all } @@ -3040,7 +3040,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_SetMarker(SerialiserType &ser, if(IsReplayingAndReading()) { - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); if(IsActiveReplaying(m_State)) { @@ -3112,7 +3112,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_BeginEvent(SerialiserType &ser, if(IsReplayingAndReading()) { - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); if(IsActiveReplaying(m_State)) { @@ -3174,7 +3174,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_EndEvent(SerialiserType &ser) if(IsReplayingAndReading()) { - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); if(IsActiveReplaying(m_State)) { @@ -3243,7 +3243,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_DrawInstanced(SerialiserType &s if(IsReplayingAndReading()) { - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); if(IsActiveReplaying(m_State)) { @@ -3322,7 +3322,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_DrawIndexedInstanced( if(IsReplayingAndReading()) { - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); if(IsActiveReplaying(m_State)) { @@ -3402,7 +3402,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_Dispatch(SerialiserType &ser, U if(IsReplayingAndReading()) { - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); if(IsActiveReplaying(m_State)) { @@ -3469,7 +3469,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_ExecuteBundle(SerialiserType &s { m_pDevice->APIProps.D3D12Bundle = true; - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); if(IsActiveReplaying(m_State)) { @@ -4141,7 +4141,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_ExecuteIndirect( if(IsReplayingAndReading()) { - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); BakedCmdListInfo &cmdInfo = m_Cmd->m_BakedCmdListInfo[m_Cmd->m_LastCmdListID]; @@ -4625,7 +4625,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_ClearDepthStencilView( if(IsReplayingAndReading()) { - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); if(IsActiveReplaying(m_State)) { @@ -4660,7 +4660,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_ClearDepthStencilView( ActionDescription action; action.flags |= ActionFlags::Clear | ActionFlags::ClearDepthStencil; - action.copyDestination = GetResourceManager()->GetOriginalID(descriptor->GetResResourceId()); + action.copyDestination = descriptor->GetResResourceId(); action.copyDestinationSubresource = Subresource(GetMipForDsv(descriptor->GetDSV()), GetSliceForDsv(descriptor->GetDSV())); m_Cmd->AddAction(action); @@ -4730,7 +4730,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_ClearRenderTargetView( if(IsReplayingAndReading()) { - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); if(IsActiveReplaying(m_State)) { @@ -4761,7 +4761,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_ClearRenderTargetView( ActionDescription action; action.flags |= ActionFlags::Clear | ActionFlags::ClearColor; - action.copyDestination = GetResourceManager()->GetOriginalID(descriptor->GetResResourceId()); + action.copyDestination = descriptor->GetResResourceId(); action.copyDestinationSubresource = Subresource(GetMipForRtv(descriptor->GetRTV()), GetSliceForRtv(descriptor->GetRTV())); m_Cmd->AddAction(action); @@ -4833,7 +4833,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_ClearUnorderedAccessViewUint( if(IsReplayingAndReading()) { - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); if(IsActiveReplaying(m_State)) { @@ -4865,7 +4865,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_ClearUnorderedAccessViewUint( ActionDescription action; action.flags |= ActionFlags::Clear; - action.copyDestination = GetResourceManager()->GetOriginalID(GetResID(pResource)); + action.copyDestination = GetResID(pResource); action.copyDestinationSubresource = Subresource(); m_Cmd->AddAction(action); @@ -4944,7 +4944,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_ClearUnorderedAccessViewFloat( if(IsReplayingAndReading()) { - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); if(IsActiveReplaying(m_State)) { @@ -4976,7 +4976,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_ClearUnorderedAccessViewFloat( ActionDescription action; action.flags |= ActionFlags::Clear; - action.copyDestination = GetResourceManager()->GetOriginalID(GetResID(pResource)); + action.copyDestination = GetResID(pResource); action.copyDestinationSubresource = Subresource(); m_Cmd->AddAction(action); @@ -5038,7 +5038,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_DiscardResource(SerialiserType if(IsReplayingAndReading()) { - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); if(IsActiveReplaying(m_State)) { @@ -5065,7 +5065,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_DiscardResource(SerialiserType ActionDescription action; action.flags |= ActionFlags::Clear; - action.copyDestination = GetResourceManager()->GetOriginalID(GetResID(pResource)); + action.copyDestination = GetResID(pResource); action.copyDestinationSubresource = Subresource(); m_Cmd->AddAction(action); @@ -5120,7 +5120,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_CopyBufferRegion(SerialiserType if(IsReplayingAndReading()) { - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); if(IsActiveReplaying(m_State)) { @@ -5148,9 +5148,9 @@ bool WrappedID3D12GraphicsCommandList::Serialise_CopyBufferRegion(SerialiserType m_Cmd->AddEvent(); ActionDescription action; - action.copySource = GetResourceManager()->GetOriginalID(GetResID(pSrcBuffer)); + action.copySource = GetResID(pSrcBuffer); action.copySourceSubresource = Subresource(); - action.copyDestination = GetResourceManager()->GetOriginalID(GetResID(pDstBuffer)); + action.copyDestination = GetResID(pDstBuffer); action.copyDestinationSubresource = Subresource(); action.flags |= ActionFlags::Copy; @@ -5216,7 +5216,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_CopyTextureRegion( if(IsReplayingAndReading()) { - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); D3D12_TEXTURE_COPY_LOCATION unwrappedDst = dst; unwrappedDst.pResource = Unwrap(unwrappedDst.pResource); @@ -5248,8 +5248,8 @@ bool WrappedID3D12GraphicsCommandList::Serialise_CopyTextureRegion( ResourceId liveSrc = GetResID(src.pResource); ResourceId liveDst = GetResID(dst.pResource); - ResourceId origSrc = GetResourceManager()->GetOriginalID(liveSrc); - ResourceId origDst = GetResourceManager()->GetOriginalID(liveDst); + ResourceId origSrc = liveSrc; + ResourceId origDst = liveDst; ActionDescription action; action.flags |= ActionFlags::Copy; @@ -5335,7 +5335,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_CopyResource(SerialiserType &se if(IsReplayingAndReading()) { - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); if(IsActiveReplaying(m_State)) { @@ -5360,9 +5360,9 @@ bool WrappedID3D12GraphicsCommandList::Serialise_CopyResource(SerialiserType &se m_Cmd->AddEvent(); ActionDescription action; - action.copySource = GetResourceManager()->GetOriginalID(GetResID(pSrcResource)); + action.copySource = GetResID(pSrcResource); action.copySourceSubresource = Subresource(); - action.copyDestination = GetResourceManager()->GetOriginalID(GetResID(pDstResource)); + action.copyDestination = GetResID(pDstResource); action.copyDestinationSubresource = Subresource(); action.flags |= ActionFlags::Copy; @@ -5425,7 +5425,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_ResolveSubresource( if(IsReplayingAndReading()) { - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); if(IsActiveReplaying(m_State)) { @@ -5453,12 +5453,12 @@ bool WrappedID3D12GraphicsCommandList::Serialise_ResolveSubresource( m_Cmd->AddEvent(); ActionDescription action; - action.copySource = GetResourceManager()->GetOriginalID(GetResID(pSrcResource)); + action.copySource = GetResID(pSrcResource); action.copySourceSubresource = Subresource(GetMipForSubresource(pSrcResource, SrcSubresource), GetSliceForSubresource(pSrcResource, SrcSubresource)); - action.copyDestination = GetResourceManager()->GetOriginalID(GetResID(pDstResource)); + action.copyDestination = GetResID(pDstResource); action.copyDestinationSubresource = Subresource(GetMipForSubresource(pDstResource, DstSubresource), GetSliceForSubresource(pDstResource, DstSubresource)); @@ -5532,7 +5532,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_CopyTiles( if(IsReplayingAndReading()) { - m_Cmd->m_LastCmdListID = GetResourceManager()->GetOriginalID(GetResID(pCommandList)); + m_Cmd->m_LastCmdListID = GetResID(pCommandList); if(IsActiveReplaying(m_State)) { @@ -5566,8 +5566,8 @@ bool WrappedID3D12GraphicsCommandList::Serialise_CopyTiles( if(Flags & D3D12_TILE_COPY_FLAG_SWIZZLED_TILED_RESOURCE_TO_LINEAR_BUFFER) std::swap(liveSrc, liveDst); - ResourceId origSrc = GetResourceManager()->GetOriginalID(liveSrc); - ResourceId origDst = GetResourceManager()->GetOriginalID(liveDst); + ResourceId origSrc = liveSrc; + ResourceId origDst = liveDst; ActionDescription action; action.flags |= ActionFlags::Copy; diff --git a/renderdoc/driver/d3d12/d3d12_command_queue_wrap.cpp b/renderdoc/driver/d3d12/d3d12_command_queue_wrap.cpp index baf610e30..0df3026dc 100644 --- a/renderdoc/driver/d3d12/d3d12_command_queue_wrap.cpp +++ b/renderdoc/driver/d3d12/d3d12_command_queue_wrap.cpp @@ -475,8 +475,7 @@ bool WrappedID3D12CommandQueue::Serialise_ExecuteCommandLists(SerialiserType &se if(m_PrevQueueId != GetResID(pQueue)) { RDCDEBUG("Previous queue execution was on queue %s, now executing %s, syncing GPU", - ToStr(GetResourceManager()->GetOriginalID(m_PrevQueueId)).c_str(), - ToStr(GetResourceManager()->GetOriginalID(GetResID(pQueue))).c_str()); + ToStr(m_PrevQueueId).c_str(), ToStr(GetResID(pQueue)).c_str()); if(m_PrevQueueId != ResourceId()) m_pDevice->DeviceWaitForIdle(); @@ -492,7 +491,7 @@ bool WrappedID3D12CommandQueue::Serialise_ExecuteCommandLists(SerialiserType &se for(uint32_t i = 0; i < NumCommandLists; i++) { - ResourceId cmd = GetResourceManager()->GetOriginalID(GetResID(ppCommandLists[i])); + ResourceId cmd = GetResID(ppCommandLists[i]); ID3D12CommandList *list = Unwrap(ppCommandLists[i]); real->ExecuteCommandLists(1, &list); @@ -558,7 +557,7 @@ bool WrappedID3D12CommandQueue::Serialise_ExecuteCommandLists(SerialiserType &se continue; } - if(id < GetResourceManager()->GetOriginalID(blasCheck->GetResourceID())) + if(id < blasCheck->GetResourceID()) { RDCERR("%s[%u]: BLAS referenced by TLAS is newer than TLAS", ToStr(id).c_str(), desc); continue; @@ -607,7 +606,7 @@ bool WrappedID3D12CommandQueue::Serialise_ExecuteCommandLists(SerialiserType &se for(uint32_t c = 0; c < NumCommandLists; c++) { - ResourceId cmd = GetResourceManager()->GetOriginalID(GetResID(ppCommandLists[c])); + ResourceId cmd = GetResID(ppCommandLists[c]); BakedCmdListInfo &cmdListInfo = m_Cmd.m_BakedCmdListInfo[cmd]; @@ -700,7 +699,7 @@ bool WrappedID3D12CommandQueue::Serialise_ExecuteCommandLists(SerialiserType &se // advance m_CurEventID to match the events added when reading for(uint32_t c = 0; c < NumCommandLists; c++) { - ResourceId cmd = GetResourceManager()->GetOriginalID(GetResID(ppCommandLists[c])); + ResourceId cmd = GetResID(ppCommandLists[c]); m_Cmd.m_RootEventID += m_Cmd.m_BakedCmdListInfo[cmd].eventCount; m_Cmd.m_RootActionID += m_Cmd.m_BakedCmdListInfo[cmd].actionCount; @@ -737,7 +736,7 @@ bool WrappedID3D12CommandQueue::Serialise_ExecuteCommandLists(SerialiserType &se for(uint32_t c = 0; c < NumCommandLists; c++) { - ResourceId cmdId = GetResourceManager()->GetOriginalID(GetResID(ppCommandLists[c])); + ResourceId cmdId = GetResID(ppCommandLists[c]); // account for the virtual label at the start of the events here // so it matches up to baseEvent diff --git a/renderdoc/driver/d3d12/d3d12_commands.cpp b/renderdoc/driver/d3d12/d3d12_commands.cpp index 844566af9..16bbc6fd0 100644 --- a/renderdoc/driver/d3d12/d3d12_commands.cpp +++ b/renderdoc/driver/d3d12/d3d12_commands.cpp @@ -2385,13 +2385,12 @@ void D3D12CommandData::AddAction(const ActionDescription &a) for(size_t i = 0; i < ARRAY_COUNT(action.outputs); i++) { if(i < rts.size()) - action.outputs[i] = m_pDevice->GetResourceManager()->GetOriginalID(rts[i]); + action.outputs[i] = rts[i]; else action.outputs[i] = ResourceId(); } - action.depthOut = m_pDevice->GetResourceManager()->GetOriginalID( - m_BakedCmdListInfo[m_LastCmdListID].state.GetDSVID()); + action.depthOut = m_BakedCmdListInfo[m_LastCmdListID].state.GetDSVID(); } // markers don't increment action ID diff --git a/renderdoc/driver/d3d12/d3d12_device.cpp b/renderdoc/driver/d3d12/d3d12_device.cpp index e5ba20f68..6a4ca5954 100644 --- a/renderdoc/driver/d3d12/d3d12_device.cpp +++ b/renderdoc/driver/d3d12/d3d12_device.cpp @@ -2116,11 +2116,11 @@ bool WrappedID3D12Device::Serialise_MapDataWrite(SerialiserType &ser, ID3D12Reso // it. bool gpuUpload = false; - ResourceId origid; + ResourceId id; if(IsReplayingAndReading() && Resource) { - origid = GetResourceManager()->GetOriginalID(GetResID(Resource)); - if(m_UploadResourceIds.find(origid) != m_UploadResourceIds.end()) + id = GetResID(Resource); + if(m_UploadResourceIds.find(id) != m_UploadResourceIds.end()) gpuUpload = true; } @@ -2238,7 +2238,7 @@ bool WrappedID3D12Device::Serialise_MapDataWrite(SerialiserType &ser, ID3D12Reso SetObjName(uploadBuf, StringFormat::Fmt("Map data write, %llu bytes for %s/%u @ %llu", rangeSize, - ToStr(origid).c_str(), Subresource, cmd.m_CurChunkOffset)); + ToStr(id).c_str(), Subresource, cmd.m_CurChunkOffset)); D3D12_RANGE maprange = {0, 0}; void *dst = NULL; @@ -2395,8 +2395,8 @@ bool WrappedID3D12Device::Serialise_WriteToSubresource(SerialiserType &ser, ID3D if(IsLoading(m_State)) cmd.AddCPUUsage(GetResID(Resource), ResourceUsage::CPUWrite); - ResourceId origid = GetResourceManager()->GetOriginalID(GetResID(Resource)); - if(m_UploadResourceIds.find(origid) != m_UploadResourceIds.end()) + ResourceId id = GetResID(Resource); + if(m_UploadResourceIds.find(id) != m_UploadResourceIds.end()) { ID3D12Resource *uploadBuf = GetUploadBuffer(cmd.m_CurChunkOffset, dataSize); @@ -3839,7 +3839,7 @@ void WrappedID3D12Device::DumpDRED(D3D12_AUTO_BREADCRUMB_NODE *node, ID3D12CommandList *cmd = (ID3D12CommandList *)GetResourceManager()->GetWrapper(node->pCommandList); if(cmd) - cmdName = ToStr(GetResourceManager()->GetOriginalID(GetResID(cmd))); + cmdName = ToStr(GetResID(cmd)); } if(node->pCommandQueueDebugNameA) @@ -3852,7 +3852,7 @@ void WrappedID3D12Device::DumpDRED(D3D12_AUTO_BREADCRUMB_NODE *node, ID3D12CommandQueue *q = (ID3D12CommandQueue *)GetResourceManager()->GetWrapper(node->pCommandList); if(q) - qName = ToStr(GetResourceManager()->GetOriginalID(GetResID(q))); + qName = ToStr(GetResID(q)); } uint32_t lastExecuted = *node->pLastBreadcrumbValue; @@ -4017,9 +4017,9 @@ bool WrappedID3D12Device::Serialise_SetName(SerialiserType &ser, ID3D12DeviceChi if(IsReplayingAndReading() && pResource) { - ResourceId origId = GetResourceManager()->GetOriginalID(GetResID(pResource)); + ResourceId id = GetResID(pResource); - ResourceDescription &descr = GetReplay()->GetResourceDesc(origId); + ResourceDescription &descr = GetReplay()->GetResourceDesc(id); if(Name && Name[0]) { descr.SetCustomName(Name); @@ -4104,9 +4104,8 @@ bool WrappedID3D12Device::Serialise_CreateAS(SerialiserType &ser, ID3D12Resource { RDCLOG("Creating %s AS %s at %s + %llu (%llu bytes): %llx remapped to %llx", type == D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL ? "blas" : "tlas", - ToStr(asId).c_str(), - ToStr(GetResourceManager()->GetOriginalID(GetResID(pResource))).c_str(), - resourceOffset, byteSize, asbWrappedResource->GetOriginalVA() + resourceOffset, + ToStr(asId).c_str(), ToStr(GetResID(pResource)).c_str(), resourceOffset, byteSize, + asbWrappedResource->GetOriginalVA() + resourceOffset, accStructAtOffset->GetVirtualAddress()); RDCASSERTEQUAL(accStructAtOffset->GetVirtualAddress(), @@ -5190,7 +5189,7 @@ void WrappedID3D12Device::DerivedResource(ID3D12DeviceChild *parent, ResourceId if(!parent) return; - ResourceId parentId = GetResourceManager()->GetOriginalID(GetResID(parent)); + ResourceId parentId = GetResID(parent); DerivedResource(parentId, child); } diff --git a/renderdoc/driver/d3d12/d3d12_dxil_debug.cpp b/renderdoc/driver/d3d12/d3d12_dxil_debug.cpp index 01dc3a7f7..08bc63101 100644 --- a/renderdoc/driver/d3d12/d3d12_dxil_debug.cpp +++ b/renderdoc/driver/d3d12/d3d12_dxil_debug.cpp @@ -2111,7 +2111,7 @@ ShaderDirectAccess D3D12APIWrapper::FetchShaderDirectAccess(DescriptorType type, if(heapType == HeapDescriptorType::Sampler) { RDCASSERTEQUAL(CategoryForDescriptorType(type), DescriptorCategory::Sampler); - return ShaderDirectAccess(type, rm->GetOriginalID(heapId), byteOffset, byteSize); + return ShaderDirectAccess(type, heapId, byteOffset, byteSize); } } else @@ -2120,7 +2120,7 @@ ShaderDirectAccess D3D12APIWrapper::FetchShaderDirectAccess(DescriptorType type, if(heapType == HeapDescriptorType::CBV_SRV_UAV) { RDCASSERTNOTEQUAL(CategoryForDescriptorType(type), DescriptorCategory::Sampler); - return ShaderDirectAccess(type, rm->GetOriginalID(heapId), byteOffset, byteSize); + return ShaderDirectAccess(type, heapId, byteOffset, byteSize); } } } diff --git a/renderdoc/driver/d3d12/d3d12_initstate.cpp b/renderdoc/driver/d3d12/d3d12_initstate.cpp index 9436407b8..249fcc883 100644 --- a/renderdoc/driver/d3d12/d3d12_initstate.cpp +++ b/renderdoc/driver/d3d12/d3d12_initstate.cpp @@ -1590,7 +1590,7 @@ bool D3D12ResourceManager::Serialise_InitialState(SerialiserType &ser, ResourceI continue; } - if(id < GetOriginalID(blasCheck->GetResourceID())) + if(id < blasCheck->GetResourceID()) { RDCWARN(" %u: BLAS referenced by TLAS is newer than TLAS - possibly stale TLAS", i); instances[i].AccelerationStructure = 0; @@ -2221,8 +2221,7 @@ void D3D12ResourceManager::Apply_InitialState(ID3D12DeviceChild *live, D3D12Init if(D3D12_Debug_RT_Auditing()) { - RDCLOG("Apply TLAS - Rebuilding %s to %llx", - ToStr(GetOriginalID(as->GetResourceID())).c_str(), + RDCLOG("Apply TLAS - Rebuilding %s to %llx", ToStr(as->GetResourceID()).c_str(), desc.DestAccelerationStructureData); // verify that all children we intended to reference have now been built. @@ -2263,7 +2262,7 @@ void D3D12ResourceManager::Apply_InitialState(ID3D12DeviceChild *live, D3D12Init if(!data.cachedBuiltAS) return; - ResourceId origId = GetOriginalID(as->GetResourceID()); + ResourceId id = as->GetResourceID(); UINT numPostBuilds = 0; D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC postDesc[2] = {}; @@ -2290,7 +2289,7 @@ void D3D12ResourceManager::Apply_InitialState(ID3D12DeviceChild *live, D3D12Init if(D3D12_Debug_RT_Auditing()) { - RDCLOG("Apply BLAS - Caching %s to %llx then copying to %llx", ToStr(origId).c_str(), + RDCLOG("Apply BLAS - Caching %s to %llx then copying to %llx", ToStr(id).c_str(), desc.DestAccelerationStructureData, as->GetVirtualAddress()); if(GetRTManager()->PostbuildReadbackBuffer) @@ -2331,9 +2330,8 @@ void D3D12ResourceManager::Apply_InitialState(ID3D12DeviceChild *live, D3D12Init if(D3D12_Debug_RT_Auditing()) { - RDCLOG("Apply BLAS - Copying %s from %llx to %llx", - ToStr(GetOriginalID(as->GetResourceID())).c_str(), data.cachedBuiltAS->Address(), - as->GetVirtualAddress()); + RDCLOG("Apply BLAS - Copying %s from %llx to %llx", ToStr(as->GetResourceID()).c_str(), + data.cachedBuiltAS->Address(), as->GetVirtualAddress()); } } diff --git a/renderdoc/driver/d3d12/d3d12_manager.h b/renderdoc/driver/d3d12/d3d12_manager.h index 599c0daeb..5274dddf2 100644 --- a/renderdoc/driver/d3d12/d3d12_manager.h +++ b/renderdoc/driver/d3d12/d3d12_manager.h @@ -398,9 +398,6 @@ public: D3D12_GPU_DESCRIPTOR_HANDLE GetGPU() const; PortableHandle GetPortableHandle() const; - // these IDs are the live IDs during replay, not the original IDs. Treat them as if you called - // GetResID(resource). - // // descriptor heap itself ResourceId GetHeapResourceId() const; // diff --git a/renderdoc/driver/d3d12/d3d12_replay.cpp b/renderdoc/driver/d3d12/d3d12_replay.cpp index 4251f7e24..031757e04 100644 --- a/renderdoc/driver/d3d12/d3d12_replay.cpp +++ b/renderdoc/driver/d3d12/d3d12_replay.cpp @@ -417,7 +417,7 @@ rdcarray D3D12Replay::GetTextures() BufferDescription D3D12Replay::GetBuffer(ResourceId id) { BufferDescription ret = {}; - ret.resourceId = m_pDevice->GetResourceManager()->GetOriginalID(id); + ret.resourceId = id; auto it = m_pDevice->GetResourceList().find(id); @@ -459,7 +459,7 @@ BufferDescription D3D12Replay::GetBuffer(ResourceId id) TextureDescription D3D12Replay::GetTexture(ResourceId id) { TextureDescription ret = {}; - ret.resourceId = m_pDevice->GetResourceManager()->GetOriginalID(id); + ret.resourceId = id; auto it = m_pDevice->GetResourceList().find(id); @@ -759,7 +759,7 @@ void D3D12Replay::FillDescriptor(Descriptor &dst, const D3D12Descriptor *src) } dst = {}; - dst.resource = rm->GetOriginalID(src->GetResResourceId()); + dst.resource = src->GetResResourceId(); if(dst.resource == ResourceId()) { @@ -842,13 +842,13 @@ void D3D12Replay::FillDescriptor(Descriptor &dst, const D3D12Descriptor *src) D3D12AccelerationStructure *as = NULL; if(asRes->GetAccStructIfExist(dst.byteOffset, &as)) { - dst.resource = rm->GetOriginalID(as->GetResourceID()); + dst.resource = as->GetResourceID(); dst.byteOffset = 0; dst.byteSize = as->Size(); } else { - dst.resource = rm->GetOriginalID(asID); + dst.resource = asID; } } else @@ -929,7 +929,7 @@ void D3D12Replay::FillDescriptor(Descriptor &dst, const D3D12Descriptor *src) fmt = uav.Format; - dst.secondary = rm->GetOriginalID(src->GetCounterResourceId()); + dst.secondary = src->GetCounterResourceId(); dst.textureType = MakeTextureDim(uav.ViewDimension); @@ -1002,7 +1002,7 @@ void D3D12Replay::FillDescriptor(Descriptor &dst, const D3D12Descriptor *src) fmt = rtv.Format; - dst.secondary = rm->GetOriginalID(src->GetCounterResourceId()); + dst.secondary = src->GetCounterResourceId(); dst.textureType = MakeTextureDim(rtv.ViewDimension); @@ -1054,7 +1054,7 @@ void D3D12Replay::FillDescriptor(Descriptor &dst, const D3D12Descriptor *src) fmt = dsv.Format; - dst.secondary = rm->GetOriginalID(src->GetCounterResourceId()); + dst.secondary = src->GetCounterResourceId(); dst.textureType = MakeTextureDim(dsv.ViewDimension); if(dsv.ViewDimension == D3D12_DSV_DIMENSION_TEXTURE1D) @@ -1148,7 +1148,7 @@ void D3D12Replay::FillRootDescriptor(Descriptor &dst, const D3D12RenderState::Si ID3D12Resource *buf = rm->GetCurrentAs(src.id); - dst.resource = rm->GetOriginalID(src.id); + dst.resource = src.id; dst.byteOffset = src.offset; if(buf) dst.byteSize = uint32_t(buf->GetDesc().Width - dst.byteOffset); @@ -1162,7 +1162,7 @@ void D3D12Replay::FillRootDescriptor(Descriptor &dst, const D3D12RenderState::Si ID3D12Resource *buf = rm->GetCurrentAs(src.id); // parameters from resource/view - dst.resource = rm->GetOriginalID(src.id); + dst.resource = src.id; dst.textureType = TextureType::Buffer; dst.format = MakeResourceFormat(DXGI_FORMAT_R32_TYPELESS); @@ -1180,7 +1180,7 @@ void D3D12Replay::FillRootDescriptor(Descriptor &dst, const D3D12RenderState::Si ID3D12Resource *buf = rm->GetCurrentAs(src.id); // parameters from resource/view - dst.resource = rm->GetOriginalID(src.id); + dst.resource = src.id; dst.textureType = TextureType::Buffer; dst.format = MakeResourceFormat(DXGI_FORMAT_R32_TYPELESS); @@ -1215,7 +1215,7 @@ void D3D12Replay::SavePipelineState(uint32_t eventId) D3D12ResourceManager *rm = m_pDevice->GetResourceManager(); - state.pipelineResourceId = rm->GetUnreplacedOriginalID(rs.pipe); + state.pipelineResourceId = rm->GetUnreplacedID(rs.pipe); WrappedID3D12PipelineState *pipe = NULL; @@ -1258,13 +1258,13 @@ void D3D12Replay::SavePipelineState(uint32_t eventId) { D3D12Pipe::VertexBuffer &vb = state.inputAssembly.vertexBuffers[i]; - vb.resourceId = rm->GetOriginalID(rs.vbuffers[i].buf); + vb.resourceId = rs.vbuffers[i].buf; vb.byteOffset = rs.vbuffers[i].offs; vb.byteSize = rs.vbuffers[i].size; vb.byteStride = rs.vbuffers[i].stride; } - state.inputAssembly.indexBuffer.resourceId = rm->GetOriginalID(rs.ibuffer.buf); + state.inputAssembly.indexBuffer.resourceId = rs.ibuffer.buf; state.inputAssembly.indexBuffer.byteOffset = rs.ibuffer.offs; state.inputAssembly.indexBuffer.byteSize = rs.ibuffer.size; state.inputAssembly.indexBuffer.byteStride = rs.ibuffer.bytewidth; @@ -1280,7 +1280,7 @@ void D3D12Replay::SavePipelineState(uint32_t eventId) { WrappedID3D12Shader *sh = (WrappedID3D12Shader *)pipe->compute->CS.pShaderBytecode; - state.computeShader.resourceId = rm->GetUnreplacedOriginalID(sh->GetResourceID()); + state.computeShader.resourceId = rm->GetUnreplacedID(sh->GetResourceID()); state.computeShader.stage = ShaderStage::Compute; state.computeShader.reflection = &sh->GetDetails(); } @@ -1324,7 +1324,7 @@ void D3D12Replay::SavePipelineState(uint32_t eventId) if(sh) { - dst.resourceId = rm->GetUnreplacedOriginalID(sh->GetResourceID()); + dst.resourceId = rm->GetUnreplacedID(sh->GetResourceID()); dst.reflection = &sh->GetDetails(); } else @@ -1345,7 +1345,7 @@ void D3D12Replay::SavePipelineState(uint32_t eventId) WrappedID3D12RootSignature *rootSig = rm->GetCurrentAs(sig.rootsig); - state.rootSignature.resourceId = rm->GetOriginalID(GetResID(rootSig)); + state.rootSignature.resourceId = GetResID(rootSig); state.rootSignature.parameters.clear(); state.rootSignature.staticSamplers.clear(); @@ -1364,7 +1364,7 @@ void D3D12Replay::SavePipelineState(uint32_t eventId) { if(i < rootElems.size()) { - dst.heap = rm->GetOriginalID(rootElems[i].id); + dst.heap = rootElems[i].id; dst.heapByteOffset = (uint32_t)rootElems[i].offset; } @@ -1480,7 +1480,7 @@ void D3D12Replay::SavePipelineState(uint32_t eventId) state.descriptorHeaps.clear(); for(ResourceId id : rs.heaps) - state.descriptorHeaps.push_back(rm->GetOriginalID(id)); + state.descriptorHeaps.push_back(id); if(pipe && pipe->IsGraphics()) { @@ -1493,12 +1493,11 @@ void D3D12Replay::SavePipelineState(uint32_t eventId) state.streamOut.outputs.resize(rs.streamouts.size()); for(size_t s = 0; s < rs.streamouts.size(); s++) { - state.streamOut.outputs[s].resourceId = rm->GetOriginalID(rs.streamouts[s].buf); + state.streamOut.outputs[s].resourceId = rs.streamouts[s].buf; state.streamOut.outputs[s].byteOffset = rs.streamouts[s].offs; state.streamOut.outputs[s].byteSize = rs.streamouts[s].size; - state.streamOut.outputs[s].writtenCountResourceId = - rm->GetOriginalID(rs.streamouts[s].countbuf); + state.streamOut.outputs[s].writtenCountResourceId = rs.streamouts[s].countbuf; state.streamOut.outputs[s].writtenCountByteOffset = rs.streamouts[s].countoffs; } @@ -1586,7 +1585,7 @@ void D3D12Replay::SavePipelineState(uint32_t eventId) dst.shadingRateCombiners = {combiners[0], combiners[1]}; - dst.shadingRateImage = rm->GetOriginalID(rs.shadingRateImage); + dst.shadingRateImage = rs.shadingRateImage; } state.rasterizer.scissors.resize(rs.scissors.size()); @@ -1716,7 +1715,7 @@ void D3D12Replay::SavePipelineState(uint32_t eventId) { D3D12Pipe::ResourceData &res = state.resourceStates[i]; - res.resourceId = rm->GetOriginalID(it->first); + res.resourceId = it->first; res.states.resize(it->second.size()); for(size_t l = 0; l < it->second.size(); l++) @@ -1787,7 +1786,7 @@ rdcarray D3D12Replay::GetDescriptors(ResourceId descriptorStore, d.view = ResourceId(); // we pretend that the pipeline has all root constants appended together as its blob of // data, so calculate local 'offset' into the root constants - d.resource = rm->GetOriginalID(descriptorStore); + d.resource = descriptorStore; d.byteOffset = 0; for(uint32_t root = 0; root < rootIndex; root++) @@ -1833,7 +1832,7 @@ rdcarray D3D12Replay::GetDescriptors(ResourceId descriptorStore, WrappedID3D12Resource::GetResIDFromAddr(cbv.BufferLocation, ret[dst].resource, ret[dst].byteOffset); - ret[dst].resource = rm->GetOriginalID(ret[dst].resource); + ret[dst].resource = ret[dst].resource; ret[dst].byteSize = cbv.SizeInBytes; } else if(desc->GetType() == D3D12DescriptorType::Sampler) @@ -1975,11 +1974,9 @@ rdcarray D3D12Replay::GetDescriptorAccess(uint32_t eventId) for(DescriptorAccess &access : ret) { if(access.type == DescriptorType::Sampler) - access.descriptorStore = - samplerHeap ? rm->GetOriginalID(samplerHeap->GetResourceID()) : ResourceId(); + access.descriptorStore = samplerHeap ? samplerHeap->GetResourceID() : ResourceId(); else - access.descriptorStore = - resourceHeap ? rm->GetOriginalID(resourceHeap->GetResourceID()) : ResourceId(); + access.descriptorStore = resourceHeap ? resourceHeap->GetResourceID() : ResourceId(); // for direct heap access, don't do anything more if(access.index == DescriptorAccess::NoShaderBinding) @@ -1994,7 +1991,7 @@ rdcarray D3D12Replay::GetDescriptorAccess(uint32_t eventId) // this as root signature descriptor storage if(access.type == DescriptorType::Sampler && rootIndex >= rootSig.sigelems.size()) { - access.descriptorStore = rm->GetOriginalID(rootSig.rootsig); + access.descriptorStore = rootSig.rootsig; // the access byteOffset is the index of the static sampler continue; } @@ -2016,7 +2013,7 @@ rdcarray D3D12Replay::GetDescriptorAccess(uint32_t eventId) // somewhat arbitrary (we could use the command buffer, or the root signature), we just need // to be able to distinguish it in GetDescriptors and GetBufferData. Since we don't have // other types of virtual constants to handle we can use the pipeline state directly - access.descriptorStore = rm->GetOriginalID(pipe->GetResourceID()); + access.descriptorStore = pipe->GetResourceID(); access.byteOffset = rootIndex; } else @@ -3653,7 +3650,7 @@ void D3D12Replay::RefreshDerivedReplacements() for(WrappedID3D12PipelineState *pipe : m_pDevice->GetPipelineList()) { ResourceId pipesrcid = pipe->GetResourceID(); - ResourceId origsrcid = rm->GetOriginalID(pipesrcid); + ResourceId origsrcid = pipesrcid; // only look at pipelines from the capture, no replay-time programs. if(origsrcid == pipesrcid) @@ -3674,19 +3671,19 @@ void D3D12Replay::RefreshDerivedReplacements() ResourceId shaders[NumShaderStages]; if(pipe->VS()) - shaders[0] = rm->GetOriginalID(pipe->VS()->GetResourceID()); + shaders[0] = pipe->VS()->GetResourceID(); if(pipe->HS()) - shaders[1] = rm->GetOriginalID(pipe->HS()->GetResourceID()); + shaders[1] = pipe->HS()->GetResourceID(); if(pipe->DS()) - shaders[2] = rm->GetOriginalID(pipe->DS()->GetResourceID()); + shaders[2] = pipe->DS()->GetResourceID(); if(pipe->GS()) - shaders[3] = rm->GetOriginalID(pipe->GS()->GetResourceID()); + shaders[3] = pipe->GS()->GetResourceID(); if(pipe->PS()) - shaders[4] = rm->GetOriginalID(pipe->PS()->GetResourceID()); + shaders[4] = pipe->PS()->GetResourceID(); if(pipe->AS()) - shaders[6] = rm->GetOriginalID(pipe->AS()->GetResourceID()); + shaders[6] = pipe->AS()->GetResourceID(); if(pipe->MS()) - shaders[7] = rm->GetOriginalID(pipe->MS()->GetResourceID()); + shaders[7] = pipe->MS()->GetResourceID(); for(size_t i = 0; i < ARRAY_COUNT(shaders); i++) { @@ -3697,7 +3694,7 @@ void D3D12Replay::RefreshDerivedReplacements() } else { - if(rm->HasReplacement(rm->GetOriginalID(pipe->CS()->GetResourceID()))) + if(rm->HasReplacement(pipe->CS()->GetResourceID())) { usesReplacedShader = true; } @@ -3722,8 +3719,8 @@ void D3D12Replay::RefreshDerivedReplacements() { WrappedID3D12Shader *stage = (WrappedID3D12Shader *)shaders[s]->pShaderBytecode; - // remap through the original ID to pick up any replacements - stage = rm->GetLiveAs(rm->GetOriginalID(stage->GetResourceID())); + // this will pick up any replacements + stage = rm->GetLiveAs(stage->GetResourceID()); *shaders[s] = stage->GetDesc(); } @@ -3737,8 +3734,8 @@ void D3D12Replay::RefreshDerivedReplacements() WrappedID3D12Shader *stage = pipe->CS(); - // remap through the original ID to pick up any replacements - stage = rm->GetLiveAs(rm->GetOriginalID(stage->GetResourceID())); + // this will pick up any replacements + stage = rm->GetLiveAs(stage->GetResourceID()); desc.CS = stage->GetDesc(); diff --git a/renderdoc/driver/d3d12/d3d12_resources.cpp b/renderdoc/driver/d3d12/d3d12_resources.cpp index f51bde62d..fdf996f6d 100644 --- a/renderdoc/driver/d3d12/d3d12_resources.cpp +++ b/renderdoc/driver/d3d12/d3d12_resources.cpp @@ -871,7 +871,7 @@ void WrappedID3D12PipelineState::ProcessDescriptorAccess() } D3D12ShaderExportDatabase::D3D12ShaderExportDatabase(ResourceId id, D3D12RTManager *rayManager) - : RefCounter12(NULL), objectOriginalId(id), m_RayManager(rayManager) + : RefCounter12(NULL), objectId(id), m_RayManager(rayManager) { m_RayManager->RegisterExportDatabase(this); } @@ -1257,7 +1257,7 @@ void D3D12ShaderExportDatabase::AddExport(const rdcstr &exportName) { // store the wrapped identifier here in this database, ready to return to the application in // this object or any child objects. - wrappedIdentifiers.push_back({objectOriginalId, (uint32_t)ownExports.size()}); + wrappedIdentifiers.push_back({objectId, (uint32_t)ownExports.size()}); // store the unwrapping information to go into the giant lookup table ownExports.push_back({}); @@ -1327,7 +1327,7 @@ void D3D12ShaderExportDatabase::InheritExport(const rdcstr &exportName, ownExports.push_back({}); // we expect this identifier to have come from the object we're inheriting - RDCASSERTEQUAL(wrappedIdentifiers.back().id, existing->objectOriginalId); + RDCASSERTEQUAL(wrappedIdentifiers.back().id, existing->objectId); // which means we can copy any root signature it had associated even if it wasn't complete ownExports.back() = existing->ownExports[wrappedIdentifiers.back().index]; @@ -1336,7 +1336,7 @@ void D3D12ShaderExportDatabase::InheritExport(const rdcstr &exportName, memcpy(ownExports.back().real, identifier, sizeof(ShaderIdentifier)); // and re-point this to point to ourselves when queried as we have the best data for it. - wrappedIdentifiers.back() = {objectOriginalId, (uint32_t)ownExports.size() - 1}; + wrappedIdentifiers.back() = {objectId, (uint32_t)ownExports.size() - 1}; // if this is an incomplete hitgroup, also grab the hitgroup component data if(exportLookups.back().hitgroup) @@ -1369,7 +1369,7 @@ void D3D12ShaderExportDatabase::ApplyRoot(SubObjectPriority priority, const rdcs void D3D12ShaderExportDatabase::ApplyRoot(const ShaderIdentifier &identifier, SubObjectPriority priority, uint32_t localRootSigIndex) { - if(identifier.id == objectOriginalId) + if(identifier.id == objectId) { // set this anywhere we have a looser/lower priority association already (including the most // common case presumably where one isn't set at all) @@ -1400,7 +1400,7 @@ void D3D12ShaderExportDatabase::UpdateHitGroupAssociations() { // if the export is our own (ie. not complete and finished in a parent), we might need to // update its root sig - if(wrappedIdentifiers[e].id == objectOriginalId) + if(wrappedIdentifiers[e].id == objectId) { // if the hit group got a code association already we assume it must match, but a DXIL // association or a default association could be overridden since it's unclear if a @@ -1415,7 +1415,7 @@ void D3D12ShaderExportDatabase::UpdateHitGroupAssociations() { if(shaderExport == exportLookups[e2].name || shaderExport == exportLookups[e2].altName) { - RDCASSERTEQUAL(wrappedIdentifiers[e2].id, objectOriginalId); + RDCASSERTEQUAL(wrappedIdentifiers[e2].id, objectId); uint32_t idx = wrappedIdentifiers[e2].index; ApplyRoot(wrappedIdentifiers[e], ownExports[idx].rootSigPrio, ownExports[idx].localRootSigIndex); diff --git a/renderdoc/driver/d3d12/d3d12_resources.h b/renderdoc/driver/d3d12/d3d12_resources.h index 5dba2032c..e8b39e6c6 100644 --- a/renderdoc/driver/d3d12/d3d12_resources.h +++ b/renderdoc/driver/d3d12/d3d12_resources.h @@ -1144,7 +1144,7 @@ public: void SetObjectProperties(ID3D12StateObjectProperties *obj) { m_StateObjectProps = obj; } - ResourceId GetResourceId() { return objectOriginalId; } + ResourceId GetResourceId() { return objectId; } void GrowFrom(D3D12ShaderExportDatabase *existing) { InheritAllCollectionExports(existing); } void PopulateDatabase(size_t NumSubobjects, const D3D12_STATE_SUBOBJECT *subobjects); @@ -1181,9 +1181,9 @@ public: private: // the state object that originally created this export database. Some of our shader identifiers // may come from other databases, but when uploading the unwrap buffer we store information such - // that if we want to unwrap an identifier that comes from this id we look up into unwrappedOwnExports - // below. This is the original ID since this is used to look up identifiers that came from the application - ResourceId objectOriginalId; + // that if we want to unwrap an identifier that comes from this id we look up into + // unwrappedOwnExports below. + ResourceId objectId; rdcarray parents; diff --git a/renderdoc/driver/d3d12/d3d12_serialise.cpp b/renderdoc/driver/d3d12/d3d12_serialise.cpp index 42ef479af..5a1511037 100644 --- a/renderdoc/driver/d3d12/d3d12_serialise.cpp +++ b/renderdoc/driver/d3d12/d3d12_serialise.cpp @@ -107,10 +107,8 @@ void DoSerialiseViaResourceId(SerialiserType &ser, Interface *&el) ResourceId id; - if(ser.IsWriting()) + if(ser.IsWriting() || ser.IsStructurising()) id = GetResID(el); - if(ser.IsStructurising() && rm) - id = rm->GetOriginalID(GetResID(el)); DoSerialise(ser, id); @@ -262,8 +260,6 @@ void DoSerialise(SerialiserType &ser, D3D12_CPU_DESCRIPTOR_HANDLE &el) if(ser.IsWriting() || ser.IsStructurising()) ph = ToPortableHandle(el); - if(ser.IsStructurising() && rm) - ph.heap = rm->GetOriginalID(ph.heap); DoSerialise(ser, ph); @@ -285,8 +281,6 @@ void DoSerialise(SerialiserType &ser, D3D12_GPU_DESCRIPTOR_HANDLE &el) if(ser.IsWriting() || ser.IsStructurising()) ph = ToPortableHandle(el); - if(ser.IsStructurising() && rm) - ph.heap = rm->GetOriginalID(ph.heap); DoSerialise(ser, ph); @@ -313,11 +307,6 @@ void DoSerialise(SerialiserType &ser, DynamicDescriptorCopy &el) dst = ToPortableHandle(el.dst); src = ToPortableHandle(el.src); } - if(ser.IsStructurising() && rm) - { - dst.heap = rm->GetOriginalID(dst.heap); - src.heap = rm->GetOriginalID(src.heap); - } ser.Serialise("dst"_lit, dst).Important(); ser.Serialise("src"_lit, src).Important(); @@ -347,8 +336,6 @@ void DoSerialise(SerialiserType &ser, D3D12BufferLocation &el) if(ser.IsWriting() || ser.IsStructurising()) WrappedID3D12Resource::GetResIDFromAddrAllowOutOfBounds(el.Location, buffer, offs); - if(ser.IsStructurising() && rm) - buffer = rm->GetOriginalID(buffer); ser.Serialise("Buffer"_lit, buffer).Important(); ser.Serialise("Offset"_lit, offs).OffsetOrSize(); @@ -394,11 +381,6 @@ void DoSerialise(SerialiserType &ser, D3D12ASLocation &el, bool useSideband) } } } - if(ser.IsStructurising() && rm) - { - buffer = rm->GetOriginalID(buffer); - asId = rm->GetOriginalID(asId); - } // we get a little dynamic with this. If we successfully got an AS (or it was a zero location) // then we only display the AS's ID since no offset is needed. If for some reason the AS didn't @@ -498,9 +480,6 @@ void DoSerialise(SerialiserType &ser, D3D12Descriptor &el) { ResourceId Resource = el.data.nonsamp.resource; - if(ser.IsStructurising()) - Resource = rm->GetOriginalID(Resource); - ser.Serialise("Resource"_lit, Resource).TypedAs("ID3D12Resource *"_lit).Important(); // convert to Live ID on replay @@ -521,9 +500,6 @@ void DoSerialise(SerialiserType &ser, D3D12Descriptor &el) { ResourceId Resource = el.data.nonsamp.resource; - if(ser.IsStructurising()) - Resource = rm->GetOriginalID(Resource); - ser.Serialise("Resource"_lit, Resource).TypedAs("ID3D12Resource *"_lit).Important(); // convert to Live ID on replay @@ -538,9 +514,6 @@ void DoSerialise(SerialiserType &ser, D3D12Descriptor &el) { ResourceId Resource = el.data.nonsamp.resource; - if(ser.IsStructurising()) - Resource = rm->GetOriginalID(Resource); - ser.Serialise("Resource"_lit, Resource).TypedAs("ID3D12Resource *"_lit).Important(); // convert to Live ID on replay @@ -556,12 +529,6 @@ void DoSerialise(SerialiserType &ser, D3D12Descriptor &el) ResourceId Resource = el.data.nonsamp.resource; ResourceId CounterResource = el.data.nonsamp.counterResource; - if(ser.IsStructurising()) - { - Resource = rm->GetOriginalID(Resource); - CounterResource = rm->GetOriginalID(CounterResource); - } - ser.Serialise("Resource"_lit, Resource).TypedAs("ID3D12Resource *"_lit).Important(); ser.Serialise("CounterResource"_lit, CounterResource).TypedAs("ID3D12Resource *"_lit); diff --git a/renderdoc/driver/gl/gl_driver.cpp b/renderdoc/driver/gl/gl_driver.cpp index f3b01b4c5..191fcc191 100644 --- a/renderdoc/driver/gl/gl_driver.cpp +++ b/renderdoc/driver/gl/gl_driver.cpp @@ -1812,7 +1812,7 @@ void WrappedOpenGL::RefreshDerivedReplacements() ResourceId progsrcid = it->first; const ProgramData &progdata = it->second; - ResourceId origsrcid = GetResourceManager()->GetOriginalID(progsrcid); + ResourceId origsrcid = progsrcid; // only look at programs from the capture, no replay-time programs. if(origsrcid == progsrcid) @@ -1834,8 +1834,7 @@ void WrappedOpenGL::RefreshDerivedReplacements() for(size_t i = 0; i < NumShaderStages; i++) { - if(GetResourceManager()->HasReplacement( - GetResourceManager()->GetOriginalID(progdata.stageShaders[i]))) + if(GetResourceManager()->HasReplacement(progdata.stageShaders[i])) { usesReplacedShader = true; break; @@ -1852,13 +1851,13 @@ void WrappedOpenGL::RefreshDerivedReplacements() ResourceId progdstid = GetResourceManager()->GetResID(ProgramRes(GetCtx(), progdst)); - // attach shaders, going via the original ID to pick up replacements + // attach shaders, this will pick up replacements for(size_t i = 0; i < NumShaderStages; i++) { if(progdata.stageShaders[i] != ResourceId()) { - ResourceId shaderorigid = GetResourceManager()->GetOriginalID(progdata.stageShaders[i]); - glAttachShader(progdst, GetResourceManager()->GetLiveResource(shaderorigid).name); + glAttachShader(progdst, + GetResourceManager()->GetLiveResource(progdata.stageShaders[i]).name); } } @@ -1946,7 +1945,7 @@ void WrappedOpenGL::RefreshDerivedReplacements() ResourceId pipesrcid = it->first; const PipelineData &pipedata = it->second; - ResourceId origsrcid = GetResourceManager()->GetOriginalID(pipesrcid); + ResourceId origsrcid = pipesrcid; // only look at programs from the capture, no replay-time programs. if(origsrcid == pipesrcid) @@ -1963,8 +1962,7 @@ void WrappedOpenGL::RefreshDerivedReplacements() for(size_t i = 0; i < NumShaderStages; i++) { - if(GetResourceManager()->HasReplacement( - GetResourceManager()->GetOriginalID(pipedata.stagePrograms[i]))) + if(GetResourceManager()->HasReplacement(pipedata.stagePrograms[i])) { usesReplacedProgram = true; break; @@ -1980,14 +1978,13 @@ void WrappedOpenGL::RefreshDerivedReplacements() ResourceId pipedstid = GetResourceManager()->GetResID(ProgramPipeRes(GetCtx(), pipedst)); - // attach programs, going via the original ID to pick up replacements + // attach programs, this will pick up replacements for(size_t i = 0; i < NumShaderStages; i++) { if(pipedata.stagePrograms[i] != ResourceId()) { - ResourceId progorigid = GetResourceManager()->GetOriginalID(pipedata.stagePrograms[i]); glUseProgramStages(pipedst, ShaderBit(i), - GetResourceManager()->GetLiveResource(progorigid).name); + GetResourceManager()->GetLiveResource(pipedata.stagePrograms[i]).name); } } @@ -2731,8 +2728,7 @@ bool WrappedOpenGL::Serialise_Present(SerialiserType &ser) eGL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME, (GLint *)&col); - action.copyDestination = GetResourceManager()->GetOriginalID( - GetResourceManager()->GetResID(TextureRes(GetCtx(), col))); + action.copyDestination = GetResourceManager()->GetResID(TextureRes(GetCtx(), col)); action.customName = StringFormat::Fmt("%s(%s)", ToStr(gl_CurChunk).c_str(), ToStr(action.copyDestination).c_str()); @@ -3352,7 +3348,7 @@ void WrappedOpenGL::AddResource(ResourceId id, ResourceType type, const char *de void WrappedOpenGL::DerivedResource(GLResource parent, ResourceId child) { - ResourceId parentId = GetResourceManager()->GetOriginalID(GetResourceManager()->GetResID(parent)); + ResourceId parentId = GetResourceManager()->GetResID(parent); if(GetReplay()->GetResourceDesc(parentId).derivedResources.contains(child)) return; @@ -3377,7 +3373,7 @@ void WrappedOpenGL::AddResourceInitChunk(GLResource res) if(m_CurEventID == 0) { GLResourceManager *rm = GetResourceManager(); - AddResourceCurChunk(rm->GetOriginalID(rm->GetResID(res))); + AddResourceCurChunk(rm->GetResID(res)); } } @@ -3618,8 +3614,7 @@ bool WrappedOpenGL::ProcessChunk(ReadSerialiser &ser, GLChunk chunk) eGL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME, (GLint *)&col); - action.copyDestination = GetResourceManager()->GetOriginalID( - GetResourceManager()->GetResID(TextureRes(GetCtx(), col))); + action.copyDestination = GetResourceManager()->GetResID(TextureRes(GetCtx(), col)); AddAction(action); } @@ -5723,11 +5718,9 @@ void WrappedOpenGL::AddAction(const ActionDescription &a) eGL_DRAW_FRAMEBUFFER, dbEnum, eGL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE, (GLint *)&type); if(type == eGL_TEXTURE) - action.outputs[att] = GetResourceManager()->GetOriginalID( - GetResourceManager()->GetResID(TextureRes(GetCtx(), depth))); + action.outputs[att] = GetResourceManager()->GetResID(TextureRes(GetCtx(), depth)); else - action.outputs[att] = GetResourceManager()->GetOriginalID( - GetResourceManager()->GetResID(RenderbufferRes(GetCtx(), depth))); + action.outputs[att] = GetResourceManager()->GetResID(RenderbufferRes(GetCtx(), depth)); att++; } @@ -5739,11 +5732,9 @@ void WrappedOpenGL::AddAction(const ActionDescription &a) GL.glGetFramebufferAttachmentParameteriv(eGL_DRAW_FRAMEBUFFER, eGL_DEPTH_ATTACHMENT, eGL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE, (GLint *)&type); if(type == eGL_TEXTURE) - action.depthOut = GetResourceManager()->GetOriginalID( - GetResourceManager()->GetResID(TextureRes(GetCtx(), depth))); + action.depthOut = GetResourceManager()->GetResID(TextureRes(GetCtx(), depth)); else - action.depthOut = GetResourceManager()->GetOriginalID( - GetResourceManager()->GetResID(RenderbufferRes(GetCtx(), depth))); + action.depthOut = GetResourceManager()->GetResID(RenderbufferRes(GetCtx(), depth)); } // markers don't increment action ID diff --git a/renderdoc/driver/gl/gl_initstate.cpp b/renderdoc/driver/gl/gl_initstate.cpp index 74e5cf69e..8fefa1ccd 100644 --- a/renderdoc/driver/gl/gl_initstate.cpp +++ b/renderdoc/driver/gl/gl_initstate.cpp @@ -260,7 +260,7 @@ void GLResourceManager::ContextPrepare_InitialState(GLResource res) } else if(res.Namespace == eResTexture) { - PrepareTextureInitialContents(id, id, res); + PrepareTextureInitialContents(id, res); return; } else if(res.Namespace == eResFramebuffer) @@ -547,10 +547,7 @@ void GLResourceManager::ContextPrepare_InitialState(GLResource res) RDCERR("Unexpected type of resource requiring initial state"); } - if(IsReplayMode(m_State)) - SetInitialContents(GetOriginalID(id), initContents); - else - SetInitialContents(id, initContents); + SetInitialContents(id, initContents); } bool GLResourceManager::Prepare_InitialState(GLResource res) @@ -605,10 +602,9 @@ bool GLResourceManager::Prepare_InitialState(GLResource res) return true; } -void GLResourceManager::PrepareTextureInitialContents(ResourceId liveid, ResourceId origid, - GLResource res) +void GLResourceManager::PrepareTextureInitialContents(ResourceId id, GLResource res) { - WrappedOpenGL::TextureData &details = m_Driver->m_Textures[liveid]; + WrappedOpenGL::TextureData &details = m_Driver->m_Textures[id]; GLInitialContents initContents; @@ -977,7 +973,7 @@ void GLResourceManager::PrepareTextureInitialContents(ResourceId liveid, Resourc (GLint *)&state.texBufSize); } - SetInitialContents(origid, initContents); + SetInitialContents(id, initContents); } uint64_t GLResourceManager::GetSize_InitialState(ResourceId resid, const GLInitialContents &initial) @@ -1900,7 +1896,7 @@ void GLResourceManager::Create_InitialState(ResourceId id, GLResource live, bool // in future if we skip RT contents for write-before-read RTs, we could mark // textures to be cleared instead of copied. - PrepareTextureInitialContents(GetID(live), id, live); + PrepareTextureInitialContents(id, live); } else if(live.Namespace == eResBuffer) { @@ -2483,7 +2479,7 @@ void GLResourceManager::Apply_InitialState(GLResource live, GLInitialContents &i stages |= ShaderBit(b); // go via ID to pick up replacements - ResourceId id = GetOriginalID(GetID(data.programs[a])); + ResourceId id = GetID(data.programs[a]); GLuint prog = GetLiveResource(id).name; // bind the program on all relevant stages @@ -2497,7 +2493,7 @@ void GLResourceManager::Apply_InitialState(GLResource live, GLInitialContents &i // shared if(data.programs[5].name) { - ResourceId id = GetOriginalID(GetID(data.programs[5])); + ResourceId id = GetID(data.programs[5]); GLuint prog = GetLiveResource(id).name; m_Driver->glUseProgramStages(live.name, eGL_COMPUTE_SHADER_BIT, prog); diff --git a/renderdoc/driver/gl/gl_manager.h b/renderdoc/driver/gl/gl_manager.h index 97a89ddd8..6cc4c6806 100644 --- a/renderdoc/driver/gl/gl_manager.h +++ b/renderdoc/driver/gl/gl_manager.h @@ -332,7 +332,7 @@ private: bool Prepare_InitialState(GLResource res); uint64_t GetSize_InitialState(ResourceId resid, const GLInitialContents &initial); - void PrepareTextureInitialContents(ResourceId liveid, ResourceId origid, GLResource res); + void PrepareTextureInitialContents(ResourceId id, GLResource res); void Create_InitialState(ResourceId id, GLResource live, bool hasData); void Apply_InitialState(GLResource live, GLInitialContents &initial); diff --git a/renderdoc/driver/gl/gl_replay.cpp b/renderdoc/driver/gl/gl_replay.cpp index 9a6a43bfe..07e973b91 100644 --- a/renderdoc/driver/gl/gl_replay.cpp +++ b/renderdoc/driver/gl/gl_replay.cpp @@ -439,7 +439,7 @@ void GLReplay::CacheTexture(ResourceId id) WrappedOpenGL::TextureData &res = m_pDriver->m_Textures[id]; WrappedOpenGL &drv = *m_pDriver; - tex.resourceId = m_pDriver->GetResourceManager()->GetOriginalID(id); + tex.resourceId = id; if(res.resource.Namespace == eResUnknown || res.curType == eGL_NONE) { @@ -700,7 +700,7 @@ BufferDescription GLReplay::GetBuffer(ResourceId id) WrappedOpenGL &drv = *m_pDriver; - ret.resourceId = m_pDriver->GetResourceManager()->GetOriginalID(id); + ret.resourceId = id; GLint prevBind = 0; if(res.curType != eGL_NONE) @@ -854,11 +854,11 @@ void GLReplay::SavePipelineState(uint32_t eventId) GLuint vao = 0; drv.glGetIntegerv(eGL_VERTEX_ARRAY_BINDING, (GLint *)&vao); - pipe.vertexInput.vertexArrayObject = rm->GetOriginalID(rm->GetResID(VertexArrayRes(ctx, vao))); + pipe.vertexInput.vertexArrayObject = rm->GetResID(VertexArrayRes(ctx, vao)); GLuint ibuffer = 0; drv.glGetIntegerv(eGL_ELEMENT_ARRAY_BUFFER_BINDING, (GLint *)&ibuffer); - pipe.vertexInput.indexBuffer = rm->GetOriginalID(rm->GetResID(BufferRes(ctx, ibuffer))); + pipe.vertexInput.indexBuffer = rm->GetResID(BufferRes(ctx, ibuffer)); pipe.vertexInput.primitiveRestart = rs.Enabled[GLRenderState::eEnabled_PrimitiveRestart] || rs.Enabled[GLRenderState::eEnabled_PrimitiveRestartFixedIndex]; @@ -885,8 +885,7 @@ void GLReplay::SavePipelineState(uint32_t eventId) { GLuint buffer = GetBoundVertexBuffer(i); - pipe.vertexInput.vertexBuffers[i].resourceId = - rm->GetOriginalID(rm->GetResID(BufferRes(ctx, buffer))); + pipe.vertexInput.vertexBuffers[i].resourceId = rm->GetResID(BufferRes(ctx, buffer)); drv.glGetIntegeri_v(eGL_VERTEX_BINDING_STRIDE, i, (GLint *)&pipe.vertexInput.vertexBuffers[i].byteStride); @@ -1088,7 +1087,7 @@ void GLReplay::SavePipelineState(uint32_t eventId) ResourceId id = rm->GetResID(ProgramPipeRes(ctx, curPipe)); const WrappedOpenGL::PipelineData &pipeDetails = m_pDriver->GetPipeline(id); - pipe.pipelineResourceId = rm->GetUnreplacedOriginalID(id); + pipe.pipelineResourceId = rm->GetUnreplacedID(id); for(size_t i = 0; i < ARRAY_COUNT(pipeDetails.stageShaders); i++) { @@ -1133,8 +1132,8 @@ void GLReplay::SavePipelineState(uint32_t eventId) if(progForStage[i]) { progForStage[i] = rm->GetCurrentResource(progIds[i]).name; - stages[i]->programResourceId = rm->GetUnreplacedOriginalID(progIds[i]); - stages[i]->shaderResourceId = rm->GetUnreplacedOriginalID(shadIds[i]); + stages[i]->programResourceId = rm->GetUnreplacedID(progIds[i]); + stages[i]->shaderResourceId = rm->GetUnreplacedID(shadIds[i]); const WrappedOpenGL::ShaderData &shaderDetails = m_pDriver->GetShader(shadIds[i]); @@ -1461,8 +1460,7 @@ void GLReplay::SavePipelineState(uint32_t eventId) drv.glGetIntegerv(eGL_TRANSFORM_FEEDBACK_BINDING, (GLint *)&feedback); if(feedback != 0) - pipe.transformFeedback.feedbackResourceId = - rm->GetOriginalID(rm->GetResID(FeedbackRes(ctx, feedback))); + pipe.transformFeedback.feedbackResourceId = rm->GetResID(FeedbackRes(ctx, feedback)); else pipe.transformFeedback.feedbackResourceId = ResourceId(); @@ -1473,8 +1471,7 @@ void GLReplay::SavePipelineState(uint32_t eventId) { GLuint buffer = 0; drv.glGetIntegeri_v(eGL_TRANSFORM_FEEDBACK_BUFFER_BINDING, i, (GLint *)&buffer); - pipe.transformFeedback.bufferResourceId[i] = - rm->GetOriginalID(rm->GetResID(BufferRes(ctx, buffer))); + pipe.transformFeedback.bufferResourceId[i] = rm->GetResID(BufferRes(ctx, buffer)); drv.glGetInteger64i_v(eGL_TRANSFORM_FEEDBACK_BUFFER_START, i, (GLint64 *)&pipe.transformFeedback.byteOffset[i]); drv.glGetInteger64i_v(eGL_TRANSFORM_FEEDBACK_BUFFER_SIZE, i, @@ -1677,15 +1674,14 @@ void GLReplay::SavePipelineState(uint32_t eventId) if(type == eGL_RENDERBUFFER) rbStencil = true; - pipe.framebuffer.drawFBO.resourceId = - rm->GetOriginalID(rm->GetResID(FramebufferRes(ctx, curDrawFBO))); + pipe.framebuffer.drawFBO.resourceId = rm->GetResID(FramebufferRes(ctx, curDrawFBO)); pipe.framebuffer.drawFBO.colorAttachments.resize(numCols); for(GLint i = 0; i < numCols; i++) { ResourceId id = rm->GetResID(rbCol[i] ? RenderbufferRes(ctx, curCol[i]) : TextureRes(ctx, curCol[i])); - pipe.framebuffer.drawFBO.colorAttachments[i].resource = rm->GetOriginalID(id); + pipe.framebuffer.drawFBO.colorAttachments[i].resource = id; if(id != ResourceId()) pipe.framebuffer.drawFBO.colorAttachments[i].format = GetTexture(id).format; @@ -1751,9 +1747,9 @@ void GLReplay::SavePipelineState(uint32_t eventId) ResourceId id = rm->GetResID(rbDepth ? RenderbufferRes(ctx, curDepth) : TextureRes(ctx, curDepth)); - pipe.framebuffer.drawFBO.depthAttachment.resource = rm->GetOriginalID(id); - pipe.framebuffer.drawFBO.stencilAttachment.resource = rm->GetOriginalID( - rm->GetResID(rbStencil ? RenderbufferRes(ctx, curStencil) : TextureRes(ctx, curStencil))); + pipe.framebuffer.drawFBO.depthAttachment.resource = id; + pipe.framebuffer.drawFBO.stencilAttachment.resource = + rm->GetResID(rbStencil ? RenderbufferRes(ctx, curStencil) : TextureRes(ctx, curStencil)); if(pipe.framebuffer.drawFBO.depthAttachment.resource != ResourceId() && !rbDepth) GetFramebufferMipAndLayer(curDrawFBO, eGL_DEPTH_ATTACHMENT, @@ -1857,13 +1853,12 @@ void GLReplay::SavePipelineState(uint32_t eventId) if(type == eGL_RENDERBUFFER) rbStencil = true; - pipe.framebuffer.readFBO.resourceId = - rm->GetOriginalID(rm->GetResID(FramebufferRes(ctx, curReadFBO))); + pipe.framebuffer.readFBO.resourceId = rm->GetResID(FramebufferRes(ctx, curReadFBO)); pipe.framebuffer.readFBO.colorAttachments.resize(numCols); for(GLint i = 0; i < numCols; i++) { - pipe.framebuffer.readFBO.colorAttachments[i].resource = rm->GetOriginalID( - rm->GetResID(rbCol[i] ? RenderbufferRes(ctx, curCol[i]) : TextureRes(ctx, curCol[i]))); + pipe.framebuffer.readFBO.colorAttachments[i].resource = + rm->GetResID(rbCol[i] ? RenderbufferRes(ctx, curCol[i]) : TextureRes(ctx, curCol[i])); if(pipe.framebuffer.readFBO.colorAttachments[i].resource != ResourceId() && !rbCol[i]) GetFramebufferMipAndLayer(curReadFBO, GLenum(eGL_COLOR_ATTACHMENT0 + i), @@ -1871,10 +1866,10 @@ void GLReplay::SavePipelineState(uint32_t eventId) &pipe.framebuffer.readFBO.colorAttachments[i].firstSlice); } - pipe.framebuffer.readFBO.depthAttachment.resource = rm->GetOriginalID( - rm->GetResID(rbDepth ? RenderbufferRes(ctx, curDepth) : TextureRes(ctx, curDepth))); - pipe.framebuffer.readFBO.stencilAttachment.resource = rm->GetOriginalID( - rm->GetResID(rbStencil ? RenderbufferRes(ctx, curStencil) : TextureRes(ctx, curStencil))); + pipe.framebuffer.readFBO.depthAttachment.resource = + rm->GetResID(rbDepth ? RenderbufferRes(ctx, curDepth) : TextureRes(ctx, curDepth)); + pipe.framebuffer.readFBO.stencilAttachment.resource = + rm->GetResID(rbStencil ? RenderbufferRes(ctx, curStencil) : TextureRes(ctx, curStencil)); if(pipe.framebuffer.readFBO.depthAttachment.resource != ResourceId() && !rbDepth) GetFramebufferMipAndLayer(curReadFBO, eGL_DEPTH_ATTACHMENT, @@ -2028,7 +2023,7 @@ rdcarray GLReplay::GetDescriptors(ResourceId descriptorStore, if(rs.UniformBinding[idx.idx].res.name != 0) { ResourceId id = rm->GetResID(rs.UniformBinding[idx.idx].res); - ret[dst].resource = rm->GetOriginalID(id); + ret[dst].resource = id; ret[dst].byteOffset = rs.UniformBinding[idx.idx].start; ret[dst].byteSize = rs.UniformBinding[idx.idx].size; @@ -2042,7 +2037,7 @@ rdcarray GLReplay::GetDescriptors(ResourceId descriptorStore, if(rs.AtomicCounter[idx.idx].res.name != 0) { ResourceId id = rm->GetResID(rs.AtomicCounter[idx.idx].res); - ret[dst].resource = rm->GetOriginalID(id); + ret[dst].resource = id; ret[dst].byteOffset = rs.AtomicCounter[idx.idx].start; ret[dst].byteSize = rs.AtomicCounter[idx.idx].size; @@ -2056,7 +2051,7 @@ rdcarray GLReplay::GetDescriptors(ResourceId descriptorStore, if(rs.ShaderStorage[idx.idx].res.name != 0) { ResourceId id = rm->GetResID(rs.ShaderStorage[idx.idx].res); - ret[dst].resource = rm->GetOriginalID(id); + ret[dst].resource = id; ret[dst].byteOffset = rs.ShaderStorage[idx.idx].start; ret[dst].byteSize = rs.ShaderStorage[idx.idx].size; @@ -2070,7 +2065,7 @@ rdcarray GLReplay::GetDescriptors(ResourceId descriptorStore, if(rs.Images[idx.idx].res.name != 0) { ResourceId id = rm->GetResID(rs.Images[idx.idx].res); - ret[dst].resource = rm->GetOriginalID(id); + ret[dst].resource = id; ret[dst].firstMip = rs.Images[idx.idx].level & 0xff; ret[dst].numMips = 1; ret[dst].firstSlice = rs.Images[idx.idx].layer & 0xffff; @@ -2215,7 +2210,7 @@ rdcarray GLReplay::GetDescriptors(ResourceId descriptorStore, } ResourceId id = rm->GetResID(TextureRes(ctx, tex)); - ret[dst].resource = rm->GetOriginalID(id); + ret[dst].resource = id; ret[dst].firstMip = firstMip & 0xff; ret[dst].numMips = numMips & 0xff; @@ -2255,7 +2250,7 @@ rdcarray GLReplay::GetDescriptors(ResourceId descriptorStore, if(HasExt[ARB_sampler_objects]) drv.glGetIntegerv(eGL_SAMPLER_BINDING, (GLint *)&samp); - ret[dst].secondary = rm->GetOriginalID(rm->GetResID(SamplerRes(ctx, samp))); + ret[dst].secondary = rm->GetResID(SamplerRes(ctx, samp)); } } } @@ -2384,7 +2379,7 @@ rdcarray GLReplay::GetSamplerDescriptors(ResourceId descripto if(samp == 0 && tex == 0) continue; - ret[dst].object = rm->GetOriginalID(rm->GetResID(SamplerRes(ctx, samp))); + ret[dst].object = rm->GetResID(SamplerRes(ctx, samp)); // GL has separate sampler objects but they don't exist as separate sampler descriptors ret[dst].type = DescriptorType::ImageSampler; diff --git a/renderdoc/driver/gl/wrappers/gl_buffer_funcs.cpp b/renderdoc/driver/gl/wrappers/gl_buffer_funcs.cpp index b3c12b1c2..55af5ad53 100644 --- a/renderdoc/driver/gl/wrappers/gl_buffer_funcs.cpp +++ b/renderdoc/driver/gl/wrappers/gl_buffer_funcs.cpp @@ -1120,8 +1120,8 @@ bool WrappedOpenGL::Serialise_glNamedCopyBufferSubDataEXT(SerialiserType &ser, ActionDescription action; action.flags |= ActionFlags::Copy; - action.copySource = GetResourceManager()->GetOriginalID(srcid); - action.copyDestination = GetResourceManager()->GetOriginalID(dstid); + action.copySource = srcid; + action.copyDestination = dstid; AddAction(action); @@ -2009,7 +2009,7 @@ bool WrappedOpenGL::Serialise_glInvalidateBufferData(SerialiserType &ser, GLuint ActionDescription action; action.flags |= ActionFlags::Clear; - action.copyDestination = GetResourceManager()->GetOriginalID(id); + action.copyDestination = id; AddAction(action); @@ -2086,7 +2086,7 @@ bool WrappedOpenGL::Serialise_glInvalidateBufferSubData(SerialiserType &ser, GLu ActionDescription action; action.flags |= ActionFlags::Clear; - action.copyDestination = GetResourceManager()->GetOriginalID(id); + action.copyDestination = id; AddAction(action); diff --git a/renderdoc/driver/gl/wrappers/gl_debug_funcs.cpp b/renderdoc/driver/gl/wrappers/gl_debug_funcs.cpp index e6ef78334..a40d4a789 100644 --- a/renderdoc/driver/gl/wrappers/gl_debug_funcs.cpp +++ b/renderdoc/driver/gl/wrappers/gl_debug_funcs.cpp @@ -136,11 +136,11 @@ bool WrappedOpenGL::Serialise_glObjectLabel(SerialiserType &ser, GLenum identifi if(IsReplayingAndReading() && Resource.name) { - ResourceId origId = GetResourceManager()->GetOriginalID(GetResourceManager()->GetResID(Resource)); + ResourceId id = GetResourceManager()->GetResID(Resource); - GetResourceManager()->SetName(origId, Label); + GetResourceManager()->SetName(id, Label); - ResourceDescription &descr = GetReplay()->GetResourceDesc(origId); + ResourceDescription &descr = GetReplay()->GetResourceDesc(id); if(!Label.empty()) descr.SetCustomName(Label); AddResourceCurChunk(descr); diff --git a/renderdoc/driver/gl/wrappers/gl_draw_funcs.cpp b/renderdoc/driver/gl/wrappers/gl_draw_funcs.cpp index 6653c751a..af13fb849 100644 --- a/renderdoc/driver/gl/wrappers/gl_draw_funcs.cpp +++ b/renderdoc/driver/gl/wrappers/gl_draw_funcs.cpp @@ -277,7 +277,7 @@ bool WrappedOpenGL::Check_SafeDraw(bool indexed) "Vertex buffer %s bound to attribute %d: %s (buffer slot %d) at " "draw is 0-sized!\n" "Has this buffer been initialised?", - ToStr(GetResourceManager()->GetOriginalID(id)).c_str(), attrib, + ToStr(id).c_str(), attrib, shaderDetails.GetReflection()->inputSignature[reflIndex].varName.c_str(), bufIdx)); ret = false; @@ -3665,7 +3665,7 @@ bool WrappedOpenGL::Serialise_glClearNamedFramebufferfv(SerialiserType &ser, id = GetResourceManager()->GetResID(RenderbufferRes(GetCtx(), attachment)); m_ResourceUses[id].push_back(EventUsage(m_CurEventID, ResourceUsage::Clear)); - action.copyDestination = GetResourceManager()->GetOriginalID(id); + action.copyDestination = id; if(type == eGL_TEXTURE) { @@ -3805,7 +3805,7 @@ bool WrappedOpenGL::Serialise_glClearNamedFramebufferiv(SerialiserType &ser, id = GetResourceManager()->GetResID(RenderbufferRes(GetCtx(), attachment)); m_ResourceUses[id].push_back(EventUsage(m_CurEventID, ResourceUsage::Clear)); - action.copyDestination = GetResourceManager()->GetOriginalID(id); + action.copyDestination = id; if(type == eGL_TEXTURE) { @@ -3925,7 +3925,7 @@ bool WrappedOpenGL::Serialise_glClearNamedFramebufferuiv(SerialiserType &ser, id = GetResourceManager()->GetResID(RenderbufferRes(GetCtx(), attachment)); m_ResourceUses[id].push_back(EventUsage(m_CurEventID, ResourceUsage::Clear)); - action.copyDestination = GetResourceManager()->GetOriginalID(id); + action.copyDestination = id; if(type == eGL_TEXTURE) { @@ -4047,7 +4047,7 @@ bool WrappedOpenGL::Serialise_glClearNamedFramebufferfi(SerialiserType &ser, GLu id = GetResourceManager()->GetResID(RenderbufferRes(GetCtx(), attachment)); m_ResourceUses[id].push_back(EventUsage(m_CurEventID, ResourceUsage::Clear)); - action.copyDestination = GetResourceManager()->GetOriginalID(id); + action.copyDestination = id; if(type == eGL_TEXTURE) { @@ -4554,7 +4554,7 @@ bool WrappedOpenGL::Serialise_glClear(SerialiserType &ser, GLbitfield mask) } } - action.copyDestination = GetResourceManager()->GetOriginalID(dstId); + action.copyDestination = dstId; if(dstId != ResourceId() && m_Textures[dstId].curType != eGL_RENDERBUFFER) { @@ -4687,7 +4687,7 @@ bool WrappedOpenGL::Serialise_glClearTexImage(SerialiserType &ser, GLuint textur AddEvent(); ResourceId liveId = GetResourceManager()->GetResID(texture); - ResourceId id = GetResourceManager()->GetOriginalID(liveId); + ResourceId id = liveId; ActionDescription action; action.flags |= ActionFlags::Clear; @@ -4836,7 +4836,7 @@ bool WrappedOpenGL::Serialise_glClearTexSubImage(SerialiserType &ser, GLuint tex AddEvent(); ResourceId liveId = GetResourceManager()->GetResID(texture); - ResourceId id = GetResourceManager()->GetOriginalID(liveId); + ResourceId id = liveId; ActionDescription action; action.flags |= ActionFlags::Clear; diff --git a/renderdoc/driver/gl/wrappers/gl_framebuffer_funcs.cpp b/renderdoc/driver/gl/wrappers/gl_framebuffer_funcs.cpp index 17ab50259..d687b0452 100644 --- a/renderdoc/driver/gl/wrappers/gl_framebuffer_funcs.cpp +++ b/renderdoc/driver/gl/wrappers/gl_framebuffer_funcs.cpp @@ -1837,7 +1837,7 @@ bool WrappedOpenGL::Serialise_glInvalidateNamedFramebufferData(SerialiserType &s id = GetResourceManager()->GetResID(RenderbufferRes(GetCtx(), obj)); if(action.copyDestination == ResourceId()) - action.copyDestination = GetResourceManager()->GetOriginalID(id); + action.copyDestination = id; m_ResourceUses[id].push_back(EventUsage(m_CurEventID, ResourceUsage::Discard)); } @@ -2035,7 +2035,7 @@ bool WrappedOpenGL::Serialise_glInvalidateNamedFramebufferSubData( id = GetResourceManager()->GetResID(RenderbufferRes(GetCtx(), obj)); if(action.copyDestination == ResourceId()) - action.copyDestination = GetResourceManager()->GetOriginalID(id); + action.copyDestination = id; m_ResourceUses[id].push_back(EventUsage(m_CurEventID, ResourceUsage::Discard)); } @@ -2217,8 +2217,8 @@ bool WrappedOpenGL::Serialise_glBlitNamedFramebuffer(SerialiserType &ser, { if(i == 0) { - action.copySource = GetResourceManager()->GetOriginalID(srcid); - action.copyDestination = GetResourceManager()->GetOriginalID(dstid); + action.copySource = srcid; + action.copyDestination = dstid; GLint mip = 0, slice = 0; if(dsttype == eGL_TEXTURE) @@ -2240,8 +2240,8 @@ bool WrappedOpenGL::Serialise_glBlitNamedFramebuffer(SerialiserType &ser, (drawAttachName == eGL_STENCIL_ATTACHMENT && (mask & (GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT)) == GL_STENCIL_BUFFER_BIT)) { - action.copySource = GetResourceManager()->GetOriginalID(srcid); - action.copyDestination = GetResourceManager()->GetOriginalID(dstid); + action.copySource = srcid; + action.copyDestination = dstid; GLint mip = 0, slice = 0; if(dsttype == eGL_TEXTURE) diff --git a/renderdoc/driver/gl/wrappers/gl_interop_funcs.cpp b/renderdoc/driver/gl/wrappers/gl_interop_funcs.cpp index a194f829f..6642633f3 100644 --- a/renderdoc/driver/gl/wrappers/gl_interop_funcs.cpp +++ b/renderdoc/driver/gl/wrappers/gl_interop_funcs.cpp @@ -1329,7 +1329,7 @@ bool WrappedOpenGL::Serialise_glNamedBufferStorageMemEXT(SerialiserType &ser, GL m_Buffers[id].size = size; AddResourceInitChunk(buffer); - DerivedResource(memory, GetResourceManager()->GetOriginalID(id)); + DerivedResource(memory, id); } return true; @@ -1442,7 +1442,7 @@ bool WrappedOpenGL::Serialise_glTextureStorageMem1DEXT(SerialiserType &ser, GLui GL.glTextureStorage1DEXT(texture.name, m_Textures[liveId].curType, levels, internalFormat, width); AddResourceInitChunk(texture); - DerivedResource(memory, GetResourceManager()->GetOriginalID(liveId)); + DerivedResource(memory, liveId); } return true; @@ -1552,7 +1552,7 @@ bool WrappedOpenGL::Serialise_glTextureStorageMem2DEXT(SerialiserType &ser, GLui width, height); AddResourceInitChunk(texture); - DerivedResource(memory, GetResourceManager()->GetOriginalID(liveId)); + DerivedResource(memory, liveId); } return true; @@ -1671,7 +1671,7 @@ bool WrappedOpenGL::Serialise_glTextureStorageMem2DMultisampleEXT( internalFormat, width, height, fixedSampleLocations); AddResourceInitChunk(texture); - DerivedResource(memory, GetResourceManager()->GetOriginalID(liveId)); + DerivedResource(memory, liveId); } return true; @@ -1791,7 +1791,7 @@ bool WrappedOpenGL::Serialise_glTextureStorageMem3DEXT(SerialiserType &ser, GLui width, height, depth); AddResourceInitChunk(texture); - DerivedResource(memory, GetResourceManager()->GetOriginalID(liveId)); + DerivedResource(memory, liveId); } return true; @@ -1906,7 +1906,7 @@ bool WrappedOpenGL::Serialise_glTextureStorageMem3DMultisampleEXT( internalFormat, width, height, depth, fixedSampleLocations); AddResourceInitChunk(texture); - DerivedResource(memory, GetResourceManager()->GetOriginalID(liveId)); + DerivedResource(memory, liveId); } return true; diff --git a/renderdoc/driver/gl/wrappers/gl_query_funcs.cpp b/renderdoc/driver/gl/wrappers/gl_query_funcs.cpp index eb228e3e2..a601a3a5e 100644 --- a/renderdoc/driver/gl/wrappers/gl_query_funcs.cpp +++ b/renderdoc/driver/gl/wrappers/gl_query_funcs.cpp @@ -595,7 +595,7 @@ bool WrappedOpenGL::Serialise_glGetQueryBufferObjectui64v(SerialiserType &ser, G ActionDescription action; action.flags |= ActionFlags::Copy; - action.copyDestination = GetResourceManager()->GetOriginalID(dstid); + action.copyDestination = dstid; AddAction(action); @@ -678,7 +678,7 @@ bool WrappedOpenGL::Serialise_glGetQueryBufferObjectuiv(SerialiserType &ser, GLu ActionDescription action; action.flags |= ActionFlags::Copy; - action.copyDestination = GetResourceManager()->GetOriginalID(dstid); + action.copyDestination = dstid; AddAction(action); @@ -761,7 +761,7 @@ bool WrappedOpenGL::Serialise_glGetQueryBufferObjecti64v(SerialiserType &ser, GL ActionDescription action; action.flags |= ActionFlags::Copy; - action.copyDestination = GetResourceManager()->GetOriginalID(dstid); + action.copyDestination = dstid; AddAction(action); @@ -843,7 +843,7 @@ bool WrappedOpenGL::Serialise_glGetQueryBufferObjectiv(SerialiserType &ser, GLui ActionDescription action; action.flags |= ActionFlags::Copy; - action.copyDestination = GetResourceManager()->GetOriginalID(dstid); + action.copyDestination = dstid; AddAction(action); diff --git a/renderdoc/driver/gl/wrappers/gl_shader_funcs.cpp b/renderdoc/driver/gl/wrappers/gl_shader_funcs.cpp index 21e5abffd..004ee09e1 100644 --- a/renderdoc/driver/gl/wrappers/gl_shader_funcs.cpp +++ b/renderdoc/driver/gl/wrappers/gl_shader_funcs.cpp @@ -762,8 +762,7 @@ bool WrappedOpenGL::Serialise_glCompileShader(SerialiserType &ser, GLuint shader GL.glCompileShader(shader.name); - m_Shaders[liveId].ProcessCompilation(*this, GetResourceManager()->GetOriginalID(liveId), - shader.name); + m_Shaders[liveId].ProcessCompilation(*this, liveId, shader.name); AddResourceInitChunk(shader); } @@ -837,7 +836,7 @@ bool WrappedOpenGL::Serialise_glAttachShader(SerialiserType &ser, GLuint program GL.glAttachShader(program.name, shader.name); AddResourceInitChunk(program); - DerivedResource(program, GetResourceManager()->GetOriginalID(liveShadId)); + DerivedResource(program, liveShadId); } return true; @@ -2171,7 +2170,7 @@ bool WrappedOpenGL::Serialise_glCompileShaderIncludeARB(SerialiserType &ser, GLu GL.glCompileShaderIncludeARB(shader.name, count, path, NULL); - shadDetails.ProcessCompilation(*this, GetResourceManager()->GetOriginalID(liveId), shader.name); + shadDetails.ProcessCompilation(*this, liveId, shader.name); AddResourceInitChunk(shader); } @@ -2329,9 +2328,9 @@ bool WrappedOpenGL::Serialise_glSpecializeShader(SerialiserType &ser, GLuint sha m_Shaders[liveId].spirv.Parse(m_Shaders[liveId].spirvWords); - m_Shaders[liveId].ProcessSPIRVCompilation(*this, GetResourceManager()->GetOriginalID(liveId), - shader.name, pEntryPoint, numSpecializationConstants, - pConstantIndex, pConstantValue); + m_Shaders[liveId].ProcessSPIRVCompilation(*this, liveId, shader.name, pEntryPoint, + numSpecializationConstants, pConstantIndex, + pConstantValue); AddResourceInitChunk(shader); } diff --git a/renderdoc/driver/gl/wrappers/gl_texture_funcs.cpp b/renderdoc/driver/gl/wrappers/gl_texture_funcs.cpp index 0493af99f..afb5a7052 100644 --- a/renderdoc/driver/gl/wrappers/gl_texture_funcs.cpp +++ b/renderdoc/driver/gl/wrappers/gl_texture_funcs.cpp @@ -720,22 +720,22 @@ bool WrappedOpenGL::Serialise_glTextureView(SerialiserType &ser, GLuint textureH EmulateLuminanceFormat(texture.name, target, intformat, dummy); } - ResourceId liveTexId = GetResourceManager()->GetResID(texture); - ResourceId liveOrigId = GetResourceManager()->GetResID(origtexture); + ResourceId viewId = GetResourceManager()->GetResID(texture); + ResourceId texId = GetResourceManager()->GetResID(origtexture); - m_Textures[liveTexId].curType = TextureTarget(target); - m_Textures[liveTexId].internalFormat = internalformat; - m_Textures[liveTexId].view = true; - m_Textures[liveTexId].width = RDCMAX(1, m_Textures[liveOrigId].width >> minlevel); - m_Textures[liveTexId].height = RDCMAX(1, m_Textures[liveOrigId].height >> minlevel); - m_Textures[liveTexId].depth = numlayers; + m_Textures[viewId].curType = TextureTarget(target); + m_Textures[viewId].internalFormat = internalformat; + m_Textures[viewId].view = true; + m_Textures[viewId].width = RDCMAX(1, m_Textures[texId].width >> minlevel); + m_Textures[viewId].height = RDCMAX(1, m_Textures[texId].height >> minlevel); + m_Textures[viewId].depth = numlayers; if(target == eGL_TEXTURE_3D) - m_Textures[liveTexId].depth = RDCMAX(1, m_Textures[liveOrigId].depth >> minlevel); - m_Textures[liveTexId].mipsValid = (1 << numlevels) - 1; - m_Textures[liveTexId].emulated = emulated; + m_Textures[viewId].depth = RDCMAX(1, m_Textures[texId].depth >> minlevel); + m_Textures[viewId].mipsValid = (1 << numlevels) - 1; + m_Textures[viewId].emulated = emulated; AddResourceInitChunk(texture); - DerivedResource(origtexture, GetResourceManager()->GetOriginalID(liveTexId)); + DerivedResource(origtexture, viewId); } return true; @@ -1030,7 +1030,7 @@ bool WrappedOpenGL::Serialise_glInvalidateTexImage(SerialiserType &ser, GLuint t ActionDescription action; action.flags |= ActionFlags::Clear; - action.copyDestination = GetResourceManager()->GetOriginalID(liveId); + action.copyDestination = liveId; AddAction(action); @@ -1182,7 +1182,7 @@ bool WrappedOpenGL::Serialise_glInvalidateTexSubImage(SerialiserType &ser, GLuin ActionDescription action; action.flags |= ActionFlags::Clear; - action.copyDestination = GetResourceManager()->GetOriginalID(liveId); + action.copyDestination = liveId; AddAction(action); @@ -1278,8 +1278,8 @@ bool WrappedOpenGL::Serialise_glCopyImageSubData(SerialiserType &ser, GLuint src ActionDescription action; action.flags |= ActionFlags::Copy; - action.copySource = GetResourceManager()->GetOriginalID(srcid); - action.copyDestination = GetResourceManager()->GetOriginalID(dstid); + action.copySource = srcid; + action.copyDestination = dstid; action.copyDestinationSubresource.mip = dstLevel; if(dstTarget != eGL_TEXTURE_3D) @@ -6971,7 +6971,7 @@ bool WrappedOpenGL::Serialise_glTextureBufferRangeEXT(SerialiserType &ser, GLuin (GLsizei)size); AddResourceInitChunk(texture); - DerivedResource(buffer, GetResourceManager()->GetOriginalID(liveId)); + DerivedResource(buffer, liveId); } return true; @@ -7147,7 +7147,7 @@ bool WrappedOpenGL::Serialise_glTextureBufferEXT(SerialiserType &ser, GLuint tex GL.glTextureBuffer(texture.name, internalformat, buffer.name); AddResourceInitChunk(texture); - DerivedResource(buffer, GetResourceManager()->GetOriginalID(liveId)); + DerivedResource(buffer, liveId); } return true; diff --git a/renderdoc/driver/vulkan/vk_core.cpp b/renderdoc/driver/vulkan/vk_core.cpp index f42b07669..b055040e7 100644 --- a/renderdoc/driver/vulkan/vk_core.cpp +++ b/renderdoc/driver/vulkan/vk_core.cpp @@ -3408,7 +3408,7 @@ void WrappedVulkan::AddResource(ResourceId id, ResourceType type, const char *de void WrappedVulkan::DerivedResource(ResourceId parentLive, ResourceId child) { - ResourceId parentId = GetResourceManager()->GetOriginalID(parentLive); + ResourceId parentId = parentLive; if(GetReplay()->GetResourceDesc(parentId).derivedResources.contains(child)) return; @@ -5890,15 +5890,13 @@ void WrappedVulkan::AddAction(const ActionDescription &a) continue; RDCASSERT(colAtt[i] < atts.size()); - action.outputs[i] = - GetResourceManager()->GetOriginalID(m_CreationInfo.m_ImageView[atts[colAtt[i]]].image); + action.outputs[i] = m_CreationInfo.m_ImageView[atts[colAtt[i]]].image; } if(dsAtt != -1) { RDCASSERT(dsAtt < (int32_t)atts.size()); - action.depthOut = - GetResourceManager()->GetOriginalID(m_CreationInfo.m_ImageView[atts[dsAtt]].image); + action.depthOut = m_CreationInfo.m_ImageView[atts[dsAtt]].image; } } else if(state.dynamicRendering.active) @@ -5910,14 +5908,12 @@ void WrappedVulkan::AddAction(const ActionDescription &a) if(dyn.color[i].imageView == VK_NULL_HANDLE) continue; - action.outputs[i] = GetResourceManager()->GetOriginalID( - m_CreationInfo.m_ImageView[GetResID(dyn.color[i].imageView)].image); + action.outputs[i] = m_CreationInfo.m_ImageView[GetResID(dyn.color[i].imageView)].image; } if(dyn.depth.imageView != VK_NULL_HANDLE) { - action.depthOut = GetResourceManager()->GetOriginalID( - m_CreationInfo.m_ImageView[GetResID(dyn.depth.imageView)].image); + action.depthOut = m_CreationInfo.m_ImageView[GetResID(dyn.depth.imageView)].image; } } } @@ -6090,8 +6086,8 @@ void WrappedVulkan::AddUsageForDescriptorBuffers(VulkanActionTreeNode &actionNod if(sh.module == ResourceId()) continue; - ResourceId origPipe = GetResourceManager()->GetOriginalID(pipe); - ResourceId origShad = GetResourceManager()->GetOriginalID(sh.module); + ResourceId origPipe = pipe; + ResourceId origShad = sh.module; for(const ConstantBlock &constantBlock : sh.refl->constantBlocks) { @@ -6225,8 +6221,8 @@ void WrappedVulkan::AddUsageForDescriptorSets(VulkanActionTreeNode &actionNode, if(sh.module == ResourceId()) continue; - ResourceId origPipe = GetResourceManager()->GetOriginalID(pipe); - ResourceId origShad = GetResourceManager()->GetOriginalID(sh.module); + ResourceId origPipe = pipe; + ResourceId origShad = sh.module; for(const ConstantBlock &constantBlock : sh.refl->constantBlocks) { diff --git a/renderdoc/driver/vulkan/vk_core.h b/renderdoc/driver/vulkan/vk_core.h index ffad3401d..b1e25145e 100644 --- a/renderdoc/driver/vulkan/vk_core.h +++ b/renderdoc/driver/vulkan/vk_core.h @@ -981,8 +981,8 @@ private: // so we just set this command buffer VkCommandBuffer m_OutsideCmdBuffer = VK_NULL_HANDLE; - // stores the currently re-recording command buffer for any original command buffer ID (not bake - // ID). This allows a quick check to see if an original command should be recorded, and also to + // stores the currently re-recording command buffer for any base command buffer ID (not bake + // ID). This allows a quick check to see if a command should be recorded, and also to // fetch the command buffer to record into. std::map m_RerecordCmds; @@ -993,7 +993,6 @@ private: // There is only a state while currently partially replaying, it's // undefined/empty otherwise. - // All IDs are original IDs, not live. VulkanRenderState m_RenderState; bool InRerecordRange(ResourceId cmdid); diff --git a/renderdoc/driver/vulkan/vk_info.cpp b/renderdoc/driver/vulkan/vk_info.cpp index 155b7a2e5..9c5a8cb97 100644 --- a/renderdoc/driver/vulkan/vk_info.cpp +++ b/renderdoc/driver/vulkan/vk_info.cpp @@ -993,7 +993,7 @@ static void ProcessStaticDescriptorAccess(VulkanResourceManager *resourceMan, } else if(setLayout->flags & VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT) { - access.descriptorStore = resourceMan->GetOriginalID(setLayout->resourceId); + access.descriptorStore = setLayout->resourceId; access.byteSize = 1; access.byteOffset = bind.fixedBindNumber; } @@ -1183,8 +1183,7 @@ void VulkanCreationInfo::ShaderObject::Init(VulkanResourceManager *resourceMan, for(ResourceId setLayout : descSetLayouts) setLayoutInfos.push_back(&info.m_DescSetLayout[setLayout]); - ProcessStaticDescriptorAccess(resourceMan, shad.refl, resourceMan->GetOriginalID(id), - staticDescriptorAccess, setLayoutInfos); + ProcessStaticDescriptorAccess(resourceMan, shad.refl, id, staticDescriptorAccess, setLayoutInfos); } void VulkanCreationInfo::Pipeline::Init(VulkanResourceManager *resourceMan, @@ -1925,8 +1924,7 @@ void VulkanCreationInfo::Pipeline::Init(VulkanResourceManager *resourceMan, setLayoutInfos.push_back(&info.m_DescSetLayout[setLayout]); for(const ShaderEntry &shad : shaders) - ProcessStaticDescriptorAccess(resourceMan, shad.refl, resourceMan->GetOriginalID(id), - staticDescriptorAccess, setLayoutInfos); + ProcessStaticDescriptorAccess(resourceMan, shad.refl, id, staticDescriptorAccess, setLayoutInfos); } void VulkanCreationInfo::Pipeline::Init(VulkanResourceManager *resourceMan, VulkanCreationInfo &info, @@ -2061,8 +2059,7 @@ void VulkanCreationInfo::Pipeline::Init(VulkanResourceManager *resourceMan, Vulk setLayoutInfos.push_back(&info.m_DescSetLayout[setLayout]); for(const ShaderEntry &shad : shaders) - ProcessStaticDescriptorAccess(resourceMan, shad.refl, resourceMan->GetOriginalID(id), - staticDescriptorAccess, setLayoutInfos); + ProcessStaticDescriptorAccess(resourceMan, shad.refl, id, staticDescriptorAccess, setLayoutInfos); } void VulkanCreationInfo::Pipeline::Init(VulkanResourceManager *resourceMan, @@ -2885,7 +2882,7 @@ void VulkanCreationInfo::ShaderModuleReflection::Init(VulkanResourceManager *res spv.MakeReflection(GraphicsAPI::Vulkan, ShaderStage(stageIndex), entryPoint, specInfo, *refl, patchData); - refl->resourceId = resourceMan->GetOriginalID(id); + refl->resourceId = id; } } diff --git a/renderdoc/driver/vulkan/vk_initstate.cpp b/renderdoc/driver/vulkan/vk_initstate.cpp index 9a75bf016..fe98e6a18 100644 --- a/renderdoc/driver/vulkan/vk_initstate.cpp +++ b/renderdoc/driver/vulkan/vk_initstate.cpp @@ -1927,7 +1927,7 @@ void WrappedVulkan::Apply_InitialState(WrappedVkRes *live, VkInitialContents &in } else if(type == eResImage) { - ResourceId orig = GetResourceManager()->GetOriginalID(id); + ResourceId orig = id; bool initialized = false; InitPolicy policy = GetResourceManager()->GetInitPolicy(); @@ -1958,7 +1958,7 @@ void WrappedVulkan::Apply_InitialState(WrappedVkRes *live, VkInitialContents &in } else if(initialized && boundMemory != ResourceId()) { - ResourceId origMem = GetResourceManager()->GetOriginalID(boundMemory); + ResourceId origMem = boundMemory; if(origMem != ResourceId()) { MemRefs *memRefs = GetResourceManager()->FindMemRefs(origMem); @@ -2351,7 +2351,7 @@ void WrappedVulkan::Apply_InitialState(WrappedVkRes *live, VkInitialContents &in else if(type == eResDeviceMemory) { Intervals resetReq; - ResourceId orig = GetResourceManager()->GetOriginalID(id); + ResourceId orig = id; MemRefs *memRefs = GetResourceManager()->FindMemRefs(orig); if(!memRefs) diff --git a/renderdoc/driver/vulkan/vk_manager.cpp b/renderdoc/driver/vulkan/vk_manager.cpp index 11cd5cfd1..df8f58b9f 100644 --- a/renderdoc/driver/vulkan/vk_manager.cpp +++ b/renderdoc/driver/vulkan/vk_manager.cpp @@ -662,7 +662,7 @@ void VulkanResourceManager::ApplyBarriers(uint32_t queueFamilyIndex, ResourceId id = states[ti].first; ImageRegionState &t = states[ti].second; - TRDBG("Applying barrier to %s", ToStr(GetOriginalID(id)).c_str()); + TRDBG("Applying barrier to %s", ToStr(id).c_str()); auto stit = layouts.find(id); @@ -895,13 +895,13 @@ ResourceId VulkanResourceManager::GetFirstIDForHandle(uint64_t handle) { WrappedVkDispRes *disp = (WrappedVkDispRes *)res; if(disp->real.handle == handle) - return IsReplayMode(m_State) ? GetOriginalID(disp->id) : disp->id; + return disp->id; } else { WrappedVkNonDispRes *nondisp = (WrappedVkNonDispRes *)res; if(nondisp->real.handle == handle) - return IsReplayMode(m_State) ? GetOriginalID(nondisp->id) : nondisp->id; + return nondisp->id; } } diff --git a/renderdoc/driver/vulkan/vk_manager.h b/renderdoc/driver/vulkan/vk_manager.h index 6f08c2c4f..18811a109 100644 --- a/renderdoc/driver/vulkan/vk_manager.h +++ b/renderdoc/driver/vulkan/vk_manager.h @@ -217,10 +217,10 @@ public: // easy path for getting the wrapped handle cast to the correct type template - realtype GetLiveHandle(ResourceId origid) + realtype GetLiveHandle(ResourceId id) { return realtype((uint64_t)(( - typename UnwrapHelper::ParentType *)ResourceManager::GetLiveResource(origid))); + typename UnwrapHelper::ParentType *)ResourceManager::GetLiveResource(id))); } template @@ -388,7 +388,7 @@ public: if(IsReplayMode(m_State)) { if(!ResourceIDGen::IsReplayOnlyID(id)) - EraseLiveResource(origit->second); + EraseLiveResource(id); ResourceManager::RemoveWrapper(ToTypedHandle(Unwrap(obj))); } diff --git a/renderdoc/driver/vulkan/vk_replay.cpp b/renderdoc/driver/vulkan/vk_replay.cpp index 1b6f09b5b..f5994b254 100644 --- a/renderdoc/driver/vulkan/vk_replay.cpp +++ b/renderdoc/driver/vulkan/vk_replay.cpp @@ -357,7 +357,7 @@ TextureDescription VulkanReplay::GetTexture(ResourceId id) VulkanCreationInfo::Image &iminfo = m_pDriver->m_CreationInfo.m_Image[id]; TextureDescription ret = {}; - ret.resourceId = m_pDriver->GetResourceManager()->GetOriginalID(id); + ret.resourceId = id; ret.arraysize = iminfo.arrayLayers; ret.creationFlags = iminfo.creationFlags; ret.cubemap = iminfo.cube; @@ -411,7 +411,7 @@ BufferDescription VulkanReplay::GetBuffer(ResourceId id) VulkanCreationInfo::Buffer &bufinfo = m_pDriver->m_CreationInfo.m_Buffer[id]; BufferDescription ret; - ret.resourceId = m_pDriver->GetResourceManager()->GetOriginalID(id); + ret.resourceId = id; ret.length = bufinfo.size; ret.creationFlags = BufferCategory::NoFlags; ret.gpuAddress = bufinfo.gpuAddress; @@ -1230,14 +1230,14 @@ void VulkanReplay::SavePipelineState(uint32_t eventId) memcpy(ret.pushconsts.data(), state.pushconsts, state.pushConstSize); // General pipeline properties - ret.compute.pipelineResourceId = rm->GetUnreplacedOriginalID(state.compute.pipeline); - ret.graphics.pipelineResourceId = rm->GetUnreplacedOriginalID(state.graphics.pipeline); + ret.compute.pipelineResourceId = rm->GetUnreplacedID(state.compute.pipeline); + ret.graphics.pipelineResourceId = rm->GetUnreplacedID(state.graphics.pipeline); if(state.compute.pipeline != ResourceId() || state.compute.shaderObject) { const VulkanCreationInfo::Pipeline &p = c.m_Pipeline[state.compute.pipeline]; - ret.compute.pipelineComputeLayoutResourceId = rm->GetOriginalID(p.compLayout); + ret.compute.pipelineComputeLayoutResourceId = p.compLayout; ret.compute.flags = p.flags; @@ -1254,7 +1254,7 @@ void VulkanReplay::SavePipelineState(uint32_t eventId) stage.shaderObject ? c.m_ShaderObject[state.shaderObjects[i]].pushRanges : c.m_PipelineLayout[p.compLayout].pushRanges; - stage.resourceId = rm->GetUnreplacedOriginalID(shad.module); + stage.resourceId = rm->GetUnreplacedID(shad.module); stage.entryPoint = shad.entryPoint; stage.stage = ShaderStage::Compute; @@ -1325,13 +1325,13 @@ void VulkanReplay::SavePipelineState(uint32_t eventId) { const VulkanCreationInfo::Pipeline &p = c.m_Pipeline[state.graphics.pipeline]; - ret.graphics.pipelinePreRastLayoutResourceId = rm->GetOriginalID(p.vertLayout); - ret.graphics.pipelineFragmentLayoutResourceId = rm->GetOriginalID(p.fragLayout); + ret.graphics.pipelinePreRastLayoutResourceId = p.vertLayout; + ret.graphics.pipelineFragmentLayoutResourceId = p.fragLayout; ret.graphics.flags = p.flags; // Input Assembly - ret.inputAssembly.indexBuffer.resourceId = rm->GetOriginalID(state.ibuffer.buf); + ret.inputAssembly.indexBuffer.resourceId = state.ibuffer.buf; ret.inputAssembly.indexBuffer.byteOffset = state.ibuffer.offs; ret.inputAssembly.indexBuffer.byteSize = state.ibuffer.size; ret.inputAssembly.indexBuffer.byteStride = state.ibuffer.bytewidth; @@ -1361,7 +1361,7 @@ void VulkanReplay::SavePipelineState(uint32_t eventId) ret.vertexInput.vertexBuffers.resize(state.vbuffers.size()); for(size_t i = 0; i < state.vbuffers.size(); i++) { - ret.vertexInput.vertexBuffers[i].resourceId = rm->GetOriginalID(state.vbuffers[i].buf); + ret.vertexInput.vertexBuffers[i].resourceId = state.vbuffers[i].buf; ret.vertexInput.vertexBuffers[i].byteOffset = state.vbuffers[i].offs; ret.vertexInput.vertexBuffers[i].byteStride = (uint32_t)state.vbuffers[i].stride; ret.vertexInput.vertexBuffers[i].byteSize = (uint32_t)state.vbuffers[i].size; @@ -1394,7 +1394,7 @@ void VulkanReplay::SavePipelineState(uint32_t eventId) stages[i]->shaderObject ? c.m_ShaderObject[state.shaderObjects[i]].pushRanges : c.m_PipelineLayout[p.vertLayout].pushRanges; - stages[i]->resourceId = rm->GetUnreplacedOriginalID(shad.module); + stages[i]->resourceId = rm->GetUnreplacedID(shad.module); stages[i]->entryPoint = shad.entryPoint; stages[i]->stage = StageFromIndex(i); @@ -1467,7 +1467,7 @@ void VulkanReplay::SavePipelineState(uint32_t eventId) ret.transformFeedback.buffers.resize(state.xfbbuffers.size()); for(size_t i = 0; i < state.xfbbuffers.size(); i++) { - ret.transformFeedback.buffers[i].bufferResourceId = rm->GetOriginalID(state.xfbbuffers[i].buf); + ret.transformFeedback.buffers[i].bufferResourceId = state.xfbbuffers[i].buf; ret.transformFeedback.buffers[i].byteOffset = state.xfbbuffers[i].offs; ret.transformFeedback.buffers[i].byteSize = state.xfbbuffers[i].size; @@ -1481,8 +1481,7 @@ void VulkanReplay::SavePipelineState(uint32_t eventId) if(xfb < state.xfbcounters.size()) { ret.transformFeedback.buffers[i].active = true; - ret.transformFeedback.buffers[i].counterBufferResourceId = - rm->GetOriginalID(state.xfbcounters[xfb].buf); + ret.transformFeedback.buffers[i].counterBufferResourceId = state.xfbcounters[xfb].buf; ret.transformFeedback.buffers[i].counterBufferOffset = state.xfbcounters[xfb].offs; } } @@ -1812,9 +1811,8 @@ void VulkanReplay::SavePipelineState(uint32_t eventId) if(viewid != ResourceId()) { - fbState.attachments.back().view = rm->GetOriginalID(viewid); - ret.currentPass.framebuffer.attachments[attIdx].resource = - rm->GetOriginalID(c.m_ImageView[viewid].image); + fbState.attachments.back().view = viewid; + ret.currentPass.framebuffer.attachments[attIdx].resource = c.m_ImageView[viewid].image; fbState.attachments.back().format = MakeResourceFormat(c.m_ImageView[viewid].format); fbState.attachments.back().firstMip = c.m_ImageView[viewid].range.baseMipLevel & 0xff; @@ -1843,9 +1841,8 @@ void VulkanReplay::SavePipelineState(uint32_t eventId) viewid = GetResID(dyn.color[i].resolveImageView); - fbState.attachments.back().view = rm->GetOriginalID(viewid); - ret.currentPass.framebuffer.attachments[attIdx].resource = - rm->GetOriginalID(c.m_ImageView[viewid].image); + fbState.attachments.back().view = viewid; + ret.currentPass.framebuffer.attachments[attIdx].resource = c.m_ImageView[viewid].image; fbState.attachments.back().format = MakeResourceFormat(c.m_ImageView[viewid].format); fbState.attachments.back().firstMip = c.m_ImageView[viewid].range.baseMipLevel & 0xff; @@ -1867,9 +1864,8 @@ void VulkanReplay::SavePipelineState(uint32_t eventId) if(dyn.depth.imageView == VK_NULL_HANDLE) viewid = GetResID(dyn.stencil.imageView); - fbState.attachments.back().view = rm->GetOriginalID(viewid); - ret.currentPass.framebuffer.attachments[attIdx].resource = - rm->GetOriginalID(c.m_ImageView[viewid].image); + fbState.attachments.back().view = viewid; + ret.currentPass.framebuffer.attachments[attIdx].resource = c.m_ImageView[viewid].image; fbState.attachments.back().format = MakeResourceFormat(c.m_ImageView[viewid].format); fbState.attachments.back().firstMip = c.m_ImageView[viewid].range.baseMipLevel & 0xff; @@ -1892,9 +1888,8 @@ void VulkanReplay::SavePipelineState(uint32_t eventId) ResourceId viewid = GetResID(dyn.fragmentDensityView); - fbState.attachments.back().view = rm->GetOriginalID(viewid); - ret.currentPass.framebuffer.attachments[attIdx].resource = - rm->GetOriginalID(c.m_ImageView[viewid].image); + fbState.attachments.back().view = viewid; + ret.currentPass.framebuffer.attachments[attIdx].resource = c.m_ImageView[viewid].image; fbState.attachments.back().format = MakeResourceFormat(c.m_ImageView[viewid].format); fbState.attachments.back().firstMip = c.m_ImageView[viewid].range.baseMipLevel & 0xff; @@ -1917,9 +1912,8 @@ void VulkanReplay::SavePipelineState(uint32_t eventId) ResourceId viewid = GetResID(dyn.shadingRateView); - fbState.attachments.back().view = rm->GetOriginalID(viewid); - ret.currentPass.framebuffer.attachments[attIdx].resource = - rm->GetOriginalID(c.m_ImageView[viewid].image); + fbState.attachments.back().view = viewid; + ret.currentPass.framebuffer.attachments[attIdx].resource = c.m_ImageView[viewid].image; fbState.attachments.back().format = MakeResourceFormat(c.m_ImageView[viewid].format); fbState.attachments.back().firstMip = c.m_ImageView[viewid].range.baseMipLevel & 0xff; @@ -1961,7 +1955,7 @@ void VulkanReplay::SavePipelineState(uint32_t eventId) { // Renderpass ret.currentPass.renderpass.dynamic = false; - ret.currentPass.renderpass.resourceId = rm->GetOriginalID(state.GetRenderPass()); + ret.currentPass.renderpass.resourceId = state.GetRenderPass(); ret.currentPass.renderpass.subpass = state.subpass; ret.currentPass.renderpass.inputAttachments = @@ -1991,7 +1985,7 @@ void VulkanReplay::SavePipelineState(uint32_t eventId) ResourceId fb = state.GetFramebuffer(); - ret.currentPass.framebuffer.resourceId = rm->GetOriginalID(fb); + ret.currentPass.framebuffer.resourceId = fb; if(fb != ResourceId()) { @@ -2006,9 +2000,8 @@ void VulkanReplay::SavePipelineState(uint32_t eventId) if(viewid != ResourceId()) { - ret.currentPass.framebuffer.attachments[i].view = rm->GetOriginalID(viewid); - ret.currentPass.framebuffer.attachments[i].resource = - rm->GetOriginalID(c.m_ImageView[viewid].image); + ret.currentPass.framebuffer.attachments[i].view = viewid; + ret.currentPass.framebuffer.attachments[i].resource = c.m_ImageView[viewid].image; ret.currentPass.framebuffer.attachments[i].format = MakeResourceFormat(c.m_ImageView[viewid].format); @@ -2173,8 +2166,7 @@ void VulkanReplay::SavePipelineState(uint32_t eventId) { destSet.descriptorSetResourceId = ResourceId(); destSet.pushDescriptor = false; - destSet.layoutResourceId = - rm->GetOriginalID(c.m_PipelineLayout[setBindingInfo.pipeLayout].descSetLayouts[i]); + destSet.layoutResourceId = c.m_PipelineLayout[setBindingInfo.pipeLayout].descSetLayouts[i]; destSet.dynamicOffsets.clear(); @@ -2188,8 +2180,7 @@ void VulkanReplay::SavePipelineState(uint32_t eventId) { destSet.descriptorSetResourceId = ResourceId(); destSet.pushDescriptor = false; - destSet.layoutResourceId = - rm->GetOriginalID(c.m_PipelineLayout[setBindingInfo.pipeLayout].descSetLayouts[i]); + destSet.layoutResourceId = c.m_PipelineLayout[setBindingInfo.pipeLayout].descSetLayouts[i]; destSet.dynamicOffsets.clear(); @@ -2216,11 +2207,11 @@ void VulkanReplay::SavePipelineState(uint32_t eventId) ResourceId layoutId = m_pDriver->m_DescriptorSetState[sourceSet].layout; - destSet.descriptorSetResourceId = rm->GetOriginalID(sourceSet); + destSet.descriptorSetResourceId = sourceSet; destSet.pushDescriptor = (c.m_DescSetLayout[layoutId].flags & VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT); - destSet.layoutResourceId = rm->GetOriginalID(layoutId); + destSet.layoutResourceId = layoutId; } } @@ -2233,12 +2224,12 @@ void VulkanReplay::SavePipelineState(uint32_t eventId) (state.descBufs[i].usage & VK_BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT) != 0; ret.compute.descriptorBuffers[i].pushDescriptor = (state.descBufs[i].usage & VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT) != 0; - ret.compute.descriptorBuffers[i].pushBuffer = rm->GetOriginalID(state.descBufs[i].pushBuffer); + ret.compute.descriptorBuffers[i].pushBuffer = state.descBufs[i].pushBuffer; ResourceId id; m_pDriver->GetResIDFromAddr(state.descBufs[i].address, id, ret.compute.descriptorBuffers[i].offset); - ret.compute.descriptorBuffers[i].buffer = rm->GetOriginalID(id); + ret.compute.descriptorBuffers[i].buffer = id; } // these are not actually pipeline specific but for organisation/ease we store them there @@ -2256,7 +2247,7 @@ void VulkanReplay::SavePipelineState(uint32_t eventId) if(ResourceIDGen::IsReplayOnlyID(it->first)) continue; - img.resourceId = rm->GetOriginalID(it->first); + img.resourceId = it->first; LockedConstImageStateRef imState = it->second.LockRead(); img.layouts.resize(imState->subresourceStates.size()); @@ -2284,7 +2275,7 @@ void VulkanReplay::SavePipelineState(uint32_t eventId) if(state.conditionalRendering.buffer != ResourceId()) { - ret.conditionalRendering.bufferId = rm->GetOriginalID(state.conditionalRendering.buffer); + ret.conditionalRendering.bufferId = state.conditionalRendering.buffer; ret.conditionalRendering.byteOffset = state.conditionalRendering.offset; ret.conditionalRendering.isInverted = state.conditionalRendering.flags == VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT; @@ -2305,7 +2296,6 @@ void VulkanReplay::SavePipelineState(uint32_t eventId) void VulkanReplay::FillSamplerDescriptor(SamplerDescriptor &dstel, const DescriptorSetSlot &srcel) { - VulkanResourceManager *rm = m_pDriver->GetResourceManager(); VulkanCreationInfo &c = m_pDriver->m_CreationInfo; if(srcel.type == DescriptorSlotType::Sampler) @@ -2320,7 +2310,7 @@ void VulkanReplay::FillSamplerDescriptor(SamplerDescriptor &dstel, const Descrip const VulkanCreationInfo::Sampler &sampl = c.m_Sampler[srcel.sampler]; - dstel.object = rm->GetOriginalID(srcel.sampler); + dstel.object = srcel.sampler; // sampler info dstel.filter = MakeFilter(sampl.minFilter, sampl.magFilter, sampl.mipmapMode, @@ -2345,7 +2335,7 @@ void VulkanReplay::FillSamplerDescriptor(SamplerDescriptor &dstel, const Descrip if(sampl.ycbcr != ResourceId()) { const VulkanCreationInfo::YCbCrSampler &ycbcr = c.m_YCbCrSampler[sampl.ycbcr]; - dstel.ycbcrSampler = rm->GetOriginalID(sampl.ycbcr); + dstel.ycbcrSampler = sampl.ycbcr; dstel.ycbcrModel = ycbcr.ycbcrModel; dstel.ycbcrRange = ycbcr.ycbcrRange; @@ -2379,7 +2369,6 @@ void VulkanReplay::FillDescriptor(Descriptor &dstel, const DescriptorSetSlot &sr { DescriptorSlotType descriptorType = srcel.type; - VulkanResourceManager *rm = m_pDriver->GetResourceManager(); VulkanCreationInfo &c = m_pDriver->m_CreationInfo; switch(descriptorType) @@ -2419,13 +2408,13 @@ void VulkanReplay::FillDescriptor(Descriptor &dstel, const DescriptorSetSlot &sr if(descriptorType == DescriptorSlotType::CombinedImageSampler) { - dstel.secondary = rm->GetOriginalID(srcel.sampler); + dstel.secondary = srcel.sampler; } if(viewid != ResourceId()) { - dstel.view = rm->GetOriginalID(viewid); - dstel.resource = rm->GetOriginalID(c.m_ImageView[viewid].image); + dstel.view = viewid; + dstel.resource = c.m_ImageView[viewid].image; dstel.format = MakeResourceFormat(c.m_ImageView[viewid].format); Convert(dstel.swizzle, c.m_ImageView[viewid].componentMapping); @@ -2496,8 +2485,8 @@ void VulkanReplay::FillDescriptor(Descriptor &dstel, const DescriptorSetSlot &sr { ResourceId viewid = srcel.resource; - dstel.view = rm->GetOriginalID(viewid); - dstel.resource = rm->GetOriginalID(c.m_BufferView[viewid].buffer); + dstel.view = viewid; + dstel.resource = c.m_BufferView[viewid].buffer; dstel.byteOffset = c.m_BufferView[viewid].offset; dstel.format = MakeResourceFormat(c.m_BufferView[viewid].format); dstel.byteSize = c.m_BufferView[viewid].size; @@ -2506,7 +2495,7 @@ void VulkanReplay::FillDescriptor(Descriptor &dstel, const DescriptorSetSlot &sr else if(c.m_Buffer.find(srcel.resource) != c.m_Buffer.end()) { dstel.view = ResourceId(); - dstel.resource = rm->GetOriginalID(srcel.resource); + dstel.resource = srcel.resource; dstel.byteOffset = srcel.offset; dstel.format = MakeResourceFormat(VkFormat(srcel.imageLayoutOrFormat)); dstel.byteSize = srcel.range; @@ -2529,7 +2518,7 @@ void VulkanReplay::FillDescriptor(Descriptor &dstel, const DescriptorSetSlot &sr dstel.view = ResourceId(); if(srcel.resource != ResourceId()) - dstel.resource = rm->GetOriginalID(srcel.resource); + dstel.resource = srcel.resource; dstel.byteOffset = srcel.offset; dstel.byteSize = srcel.GetRange(); @@ -2540,7 +2529,7 @@ void VulkanReplay::FillDescriptor(Descriptor &dstel, const DescriptorSetSlot &sr if(srcel.resource != ResourceId()) { - dstel.resource = rm->GetOriginalID(srcel.resource); + dstel.resource = srcel.resource; dstel.byteSize = c.m_AccelerationStructure[srcel.resource].size; } } @@ -2570,7 +2559,7 @@ rdcarray VulkanReplay::GetDescriptors(ResourceId descriptorStore, Descriptor &d = ret[dst++]; d.type = DescriptorType::ConstantBuffer; - d.resource = rm->GetOriginalID(m_pDriver->m_InlineBuffers[descriptorStore]); + d.resource = m_pDriver->m_InlineBuffers[descriptorStore]; d.byteOffset = r.offset; d.byteSize = r.descriptorSize; } @@ -2591,7 +2580,7 @@ rdcarray VulkanReplay::GetDescriptors(ResourceId descriptorStore, d.type = DescriptorType::ConstantBuffer; d.flags = DescriptorFlags::InlineData; d.view = ResourceId(); - d.resource = rm->GetOriginalID(descriptorStore); + d.resource = descriptorStore; // specialisation constants implicitly always view the whole data, the shader reflection // offsets are absolute (by specialisation ID) d.byteOffset = 0; @@ -2613,7 +2602,7 @@ rdcarray VulkanReplay::GetDescriptors(ResourceId descriptorStore, d.type = DescriptorType::ConstantBuffer; d.flags = DescriptorFlags::InlineData; d.view = ResourceId(); - d.resource = rm->GetOriginalID(descriptorStore); + d.resource = descriptorStore; // push constants also implicitly always view the whole data, since the ranges specified in // the pipeline must match offsets declared in the shader d.byteOffset = 0; @@ -2718,7 +2707,7 @@ rdcarray VulkanReplay::GetDescriptors(ResourceId descriptorStore, if(ret[dst].flags & DescriptorFlags::InlineData) { // inline data stored in the descriptor set - ret[dst].resource = rm->GetOriginalID(descriptorStore); + ret[dst].resource = descriptorStore; } } @@ -2884,8 +2873,6 @@ rdcarray VulkanReplay::GetSamplerDescriptors(ResourceId descr rdcarray VulkanReplay::GetDescriptorAccess(uint32_t eventId) { - VulkanResourceManager *rm = m_pDriver->GetResourceManager(); - const VulkanRenderState &state = m_pDriver->m_RenderState; rdcarray ret; @@ -2940,7 +2927,7 @@ rdcarray VulkanReplay::GetDescriptorAccess(uint32_t eventId) } else { - access.descriptorStore = rm->GetOriginalID(descSets[setIdx].descSet); + access.descriptorStore = descSets[setIdx].descSet; } } else if(action == NULL || ((!compute && access.stage == ShaderStage::Compute) || @@ -2970,8 +2957,8 @@ rdcarray VulkanReplay::GetDescriptorAccess(uint32_t eventId) if(bufSet.descBufferEmbeddedSamplers) { - access.descriptorStore = rm->GetOriginalID( - m_pDriver->m_CreationInfo.m_PipelineLayout[bufSet.pipeLayout].descSetLayouts[i]); + access.descriptorStore = + m_pDriver->m_CreationInfo.m_PipelineLayout[bufSet.pipeLayout].descSetLayouts[i]; access.byteOffset = 0; } else if(bufSet.descBufferIdx >= state.descBufs.size()) @@ -2986,7 +2973,7 @@ rdcarray VulkanReplay::GetDescriptorAccess(uint32_t eventId) if(inlinebufSetIdx >= 0) access.descriptorStore = m_pDriver->m_CreationInfo.m_Buffer[id].inlineDescriptorId; else - access.descriptorStore = rm->GetOriginalID(id); + access.descriptorStore = id; access.byteOffset += uint32_t(offs + bufSet.descBufferOffset); } } @@ -5291,7 +5278,7 @@ void VulkanReplay::RefreshDerivedReplacements() } } - ResourceId origsrcid = rm->GetOriginalID(pipesrcid); + ResourceId origsrcid = pipesrcid; // only look at pipelines from the capture, no replay-time programs. if(origsrcid == pipesrcid) @@ -5308,7 +5295,7 @@ void VulkanReplay::RefreshDerivedReplacements() bool usesReplacedShader = false; for(size_t i = 0; i < ARRAY_COUNT(it->second.shaders); i++) { - if(rm->HasReplacement(rm->GetOriginalID(it->second.shaders[i].module))) + if(rm->HasReplacement(it->second.shaders[i].module)) { usesReplacedShader = true; break; @@ -5335,11 +5322,11 @@ void VulkanReplay::RefreshDerivedReplacements() VkPipelineShaderStageCreateInfo &sh = (VkPipelineShaderStageCreateInfo &)pipeCreateInfo.pStages[i]; - ResourceId shadOrigId = rm->GetOriginalID(GetResID(sh.module)); + ResourceId shadId = GetResID(sh.module); - sh.module = rm->GetLiveHandle(shadOrigId); + sh.module = rm->GetLiveHandle(shadId); - if(rm->HasReplacement(shadOrigId)) + if(rm->HasReplacement(shadId)) { rdcarray entries = m_pDriver->m_CreationInfo.m_ShaderModule[GetResID(sh.module)].spirv.EntryPoints(); @@ -5388,12 +5375,12 @@ void VulkanReplay::RefreshDerivedReplacements() // replace the module by going via the live ID to pick up any replacements VkPipelineShaderStageCreateInfo &sh = pipeCreateInfo.stage; - ResourceId shadOrigId = rm->GetOriginalID(pipeInfo.shaders[5].module); - sh.module = rm->GetLiveHandle(shadOrigId); + ResourceId shadId = pipeInfo.shaders[5].module; + sh.module = rm->GetLiveHandle(shadId); rdcarray entries; - if(rm->HasReplacement(shadOrigId)) + if(rm->HasReplacement(shadId)) { entries = m_pDriver->m_CreationInfo.m_ShaderModule[GetResID(sh.module)].spirv.EntryPoints(); if(entries.size() > 1) diff --git a/renderdoc/driver/vulkan/vk_serialise.cpp b/renderdoc/driver/vulkan/vk_serialise.cpp index b85d5a3fc..48b234968 100644 --- a/renderdoc/driver/vulkan/vk_serialise.cpp +++ b/renderdoc/driver/vulkan/vk_serialise.cpp @@ -245,10 +245,8 @@ void DoSerialiseViaResourceId(SerialiserType &ser, type &el) ResourceId id; - if(ser.IsWriting() && rm) + if(ser.IsWriting() || ser.IsStructurising()) id = GetResID(el); - if(ser.IsStructurising() && rm) - id = rm->GetOriginalID(GetResID(el)); DoSerialise(ser, id); diff --git a/renderdoc/driver/vulkan/vk_shader_feedback.cpp b/renderdoc/driver/vulkan/vk_shader_feedback.cpp index 350c48894..0c4eea897 100644 --- a/renderdoc/driver/vulkan/vk_shader_feedback.cpp +++ b/renderdoc/driver/vulkan/vk_shader_feedback.cpp @@ -1608,7 +1608,7 @@ bool VulkanReplay::FetchShaderFeedback(uint32_t eventId) ResourceId id; uint64_t offs = 0; m_pDriver->GetResIDFromAddr(descBufs[descSets[bindset].descBufferIdx].address, id, offs); - access.descriptorStore = m_pDriver->GetResourceManager()->GetOriginalID(id); + access.descriptorStore = id; access.byteOffset += uint32_t(offs + descSets[bindset].descBufferOffset) + descLayouts[bindset]->bindings[bind].elemOffset; access.byteSize = @@ -1644,7 +1644,7 @@ bool VulkanReplay::FetchShaderFeedback(uint32_t eventId) arraySize = descLayouts[bindset]->bindings[bind].descriptorCount; } - access.descriptorStore = m_pDriver->GetResourceManager()->GetOriginalID(descSet); + access.descriptorStore = descSet; access.byteOffset = descLayouts[bindset]->bindings[bind].elemOffset + descLayouts[bindset]->inlineByteSize; access.byteSize = 1; diff --git a/renderdoc/driver/vulkan/vk_shaderdebug.cpp b/renderdoc/driver/vulkan/vk_shaderdebug.cpp index 93ab79907..2e6c052d3 100644 --- a/renderdoc/driver/vulkan/vk_shaderdebug.cpp +++ b/renderdoc/driver/vulkan/vk_shaderdebug.cpp @@ -215,7 +215,7 @@ public: const VulkanCreationInfo::PipelineLayout &pipeLayoutInfo = m_Creation.GetPipelineLayoutInfo(srcData.pipeLayout); - ResourceId setOrig = m_pDriver->GetResourceManager()->GetOriginalID(sourceSet); + ResourceId setOrig = sourceSet; const BindingStorage &bindStorage = m_pDriver->GetCurrentDescSetBindingStorage(srcData.descSet); diff --git a/renderdoc/driver/vulkan/wrappers/vk_cmd_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_cmd_funcs.cpp index 3be6c51f2..b9c5ca990 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_cmd_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_cmd_funcs.cpp @@ -1016,7 +1016,7 @@ void WrappedVulkan::ApplyRPLoadDiscards(VkCommandBuffer commandBuffer, VkRect2D { m_FeedbackRPs.push_back(rpId); - const rdcstr rpName = ToStr(GetResourceManager()->GetOriginalID(rpId)); + const rdcstr rpName = ToStr(rpId); AddDebugMessage( MessageCategory::Execution, MessageSeverity::Medium, MessageSource::RuntimeWarning, @@ -1356,7 +1356,7 @@ bool WrappedVulkan::Serialise_vkAllocateCommandBuffers(SerialiserType &ser, VkDe { ResourceId live = GetResourceManager()->WrapResource(CommandBuffer, Unwrap(device), cmd); GetResourceManager()->AddLiveResource(CommandBuffer, cmd); - ResourceId poolId = GetResourceManager()->GetOriginalID(GetResID(AllocateInfo.commandPool)); + ResourceId poolId = GetResID(AllocateInfo.commandPool); auto cmdQueueFamilyIt = m_commandQueueFamilies.find(poolId); if(cmdQueueFamilyIt == m_commandQueueFamilies.end()) { @@ -2118,7 +2118,7 @@ bool WrappedVulkan::Serialise_vkCmdBeginRenderPass(SerialiserType &ser, VkComman UnwrapNextChain(m_State, "VkRenderPassBeginInfo", tempMem, (VkBaseInStructure *)&unwrappedInfo); - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -2474,7 +2474,7 @@ bool WrappedVulkan::Serialise_vkCmdNextSubpass(SerialiserType &ser, VkCommandBuf if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -2575,7 +2575,7 @@ bool WrappedVulkan::Serialise_vkCmdEndRenderPass(SerialiserType &ser, VkCommandB if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -2745,7 +2745,7 @@ bool WrappedVulkan::Serialise_vkCmdBeginRenderPass2(SerialiserType &ser, UnwrapNextChain(m_State, "VkRenderPassBeginInfo", tempMem, (VkBaseInStructure *)&unwrappedInfo); UnwrapNextChain(m_State, "VkSubpassBeginInfo", tempMem, (VkBaseInStructure *)&unwrappedBeginInfo); - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -3110,7 +3110,7 @@ bool WrappedVulkan::Serialise_vkCmdNextSubpass2(SerialiserType &ser, VkCommandBu UnwrapNextChain(m_State, "VkSubpassBeginInfo", tempMem, (VkBaseInStructure *)&unwrappedBeginInfo); UnwrapNextChain(m_State, "VkSubpassEndInfo", tempMem, (VkBaseInStructure *)&unwrappedEndInfo); - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -3235,7 +3235,7 @@ bool WrappedVulkan::Serialise_vkCmdEndRenderPass2(SerialiserType &ser, VkCommand UnwrapNextChain(m_State, "VkSubpassEndInfo", tempMem, (VkBaseInStructure *)&unwrappedEndInfo); - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -3408,7 +3408,7 @@ bool WrappedVulkan::Serialise_vkCmdBindPipeline(SerialiserType &ser, VkCommandBu if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -3833,7 +3833,7 @@ bool WrappedVulkan::Serialise_vkCmdBindDescriptorSets( if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -3975,7 +3975,7 @@ bool WrappedVulkan::Serialise_vkCmdBindDescriptorSets2( if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); byte *tempMem = GetTempMemory(GetNextPatchSize(&BindDescriptorSetsInfo)); VkBindDescriptorSetsInfo *unwrappedInfo = @@ -4128,7 +4128,7 @@ bool WrappedVulkan::Serialise_vkCmdBindVertexBuffers(SerialiserType &ser, if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -4223,7 +4223,7 @@ bool WrappedVulkan::Serialise_vkCmdBindVertexBuffers2( if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -4331,7 +4331,7 @@ bool WrappedVulkan::Serialise_vkCmdBindIndexBuffer(SerialiserType &ser, if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -4419,7 +4419,7 @@ bool WrappedVulkan::Serialise_vkCmdPushConstants(SerialiserType &ser, VkCommandB if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -4491,7 +4491,7 @@ bool WrappedVulkan::Serialise_vkCmdPushConstants2(SerialiserType &ser, VkCommand if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); byte *tempMem = GetTempMemory(GetNextPatchSize(&PushConstantsInfo)); VkPushConstantsInfo *unwrappedInfo = UnwrapStructAndChain(m_State, tempMem, &PushConstantsInfo); @@ -4593,7 +4593,7 @@ bool WrappedVulkan::Serialise_vkCmdPipelineBarrier( // Since it's a convenient place, we unwrap at the same time. if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); for(uint32_t i = 0; i < bufferMemoryBarrierCount; i++) { @@ -4777,7 +4777,7 @@ bool WrappedVulkan::Serialise_vkCmdWriteTimestamp(SerialiserType &ser, VkCommand if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -4844,7 +4844,7 @@ bool WrappedVulkan::Serialise_vkCmdPipelineBarrier2(SerialiserType &ser, // Since it's a convenient place, we unwrap at the same time. if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); for(uint32_t i = 0; i < DependencyInfo.bufferMemoryBarrierCount; i++) { @@ -5032,7 +5032,7 @@ bool WrappedVulkan::Serialise_vkCmdWriteTimestamp2(SerialiserType &ser, VkComman if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -5095,7 +5095,7 @@ bool WrappedVulkan::Serialise_vkCmdCopyQueryPoolResults( if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -5250,7 +5250,7 @@ bool WrappedVulkan::Serialise_vkCmdBeginQuery(SerialiserType &ser, VkCommandBuff if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -5303,7 +5303,7 @@ bool WrappedVulkan::Serialise_vkCmdEndQuery(SerialiserType &ser, VkCommandBuffer if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -5357,7 +5357,7 @@ bool WrappedVulkan::Serialise_vkCmdResetQueryPool(SerialiserType &ser, VkCommand if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -5435,7 +5435,7 @@ bool WrappedVulkan::Serialise_vkCmdExecuteCommands(SerialiserType &ser, VkComman if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsLoading(m_State)) { @@ -5450,10 +5450,9 @@ bool WrappedVulkan::Serialise_vkCmdExecuteCommands(SerialiserType &ser, VkComman for(uint32_t i = 0; i < commandBufferCount; i++) { - // indirectCopies are stored in m_BakedCmdBufferInfo[m_LastCmdBufferID] which is an - // original ID - ResourceId origSecondId = GetResourceManager()->GetOriginalID(GetResID(pCommandBuffers[i])); - BakedCmdBufferInfo &src = m_BakedCmdBufferInfo[origSecondId]; + // indirectCopies are stored in m_BakedCmdBufferInfo[m_LastCmdBufferID] + ResourceId secondaryId = GetResID(pCommandBuffers[i]); + BakedCmdBufferInfo &src = m_BakedCmdBufferInfo[secondaryId]; dst.indirectCopies.append(src.indirectCopies); @@ -5478,7 +5477,7 @@ bool WrappedVulkan::Serialise_vkCmdExecuteCommands(SerialiserType &ser, VkComman for(uint32_t c = 0; c < commandBufferCount; c++) { - ResourceId cmd = GetResourceManager()->GetOriginalID(GetResID(pCommandBuffers[c])); + ResourceId cmd = GetResID(pCommandBuffers[c]); BakedCmdBufferInfo &cmdBufInfo = m_BakedCmdBufferInfo[cmd]; @@ -5614,7 +5613,7 @@ bool WrappedVulkan::Serialise_vkCmdExecuteCommands(SerialiserType &ser, VkComman // advance m_CurEventID to match the events added when reading for(uint32_t c = 0; c < commandBufferCount; c++) { - ResourceId cmd = GetResourceManager()->GetOriginalID(GetResID(pCommandBuffers[c])); + ResourceId cmd = GetResID(pCommandBuffers[c]); // propagate renderpass state if active. If it's inactive the renderpass might be // activated inside the secondary which we should not overwrite. @@ -5657,7 +5656,7 @@ bool WrappedVulkan::Serialise_vkCmdExecuteCommands(SerialiserType &ser, VkComman for(uint32_t c = 0; c < commandBufferCount; c++) { - ResourceId cmdid = GetResourceManager()->GetOriginalID(GetResID(pCommandBuffers[c])); + ResourceId cmdid = GetResID(pCommandBuffers[c]); // account for the virtual vkBeginCommandBuffer label at the start of the events here // so it matches up to baseEvent @@ -5709,7 +5708,7 @@ bool WrappedVulkan::Serialise_vkCmdExecuteCommands(SerialiserType &ser, VkComman for(uint32_t i = 0; i < (uint32_t)rerecordedCmds.size(); i++) { - ResourceId cmd = GetResourceManager()->GetOriginalID(GetResID(pCommandBuffers[i])); + ResourceId cmd = GetResID(pCommandBuffers[i]); BakedCmdBufferInfo &info = m_BakedCmdBufferInfo[cmd]; if(info.action && info.action->children.size() > 0) { @@ -5806,7 +5805,7 @@ bool WrappedVulkan::Serialise_vkCmdDebugMarkerBeginEXT(SerialiserType &ser, if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -5882,7 +5881,7 @@ bool WrappedVulkan::Serialise_vkCmdDebugMarkerEndEXT(SerialiserType &ser, if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -5947,7 +5946,7 @@ bool WrappedVulkan::Serialise_vkCmdDebugMarkerInsertEXT(SerialiserType &ser, if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -6155,7 +6154,7 @@ bool WrappedVulkan::Serialise_vkCmdPushDescriptorSet(SerialiserType &ser, if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); ResourceId setId = m_BakedCmdBufferInfo[m_LastCmdBufferID].GetPushDescriptorID(pipelineBindPoint, set); @@ -6438,7 +6437,7 @@ bool WrappedVulkan::Serialise_vkCmdPushDescriptorSetWithTemplate( if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); VkPipelineBindPoint bindPoint = m_CreationInfo.m_DescUpdateTemplate[GetResID(descriptorUpdateTemplate)].bindPoint; @@ -6582,7 +6581,7 @@ bool WrappedVulkan::Serialise_vkCmdWriteBufferMarkerAMD(SerialiserType &ser, if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -6649,7 +6648,7 @@ bool WrappedVulkan::Serialise_vkCmdWriteBufferMarker2AMD(SerialiserType &ser, if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -6707,7 +6706,7 @@ bool WrappedVulkan::Serialise_vkCmdBeginDebugUtilsLabelEXT(SerialiserType &ser, if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -6783,7 +6782,7 @@ bool WrappedVulkan::Serialise_vkCmdEndDebugUtilsLabelEXT(SerialiserType &ser, if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -6846,7 +6845,7 @@ bool WrappedVulkan::Serialise_vkCmdInsertDebugUtilsLabelEXT(SerialiserType &ser, if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -6917,7 +6916,7 @@ bool WrappedVulkan::Serialise_vkCmdSetDeviceMask(SerialiserType &ser, VkCommandB if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -6973,7 +6972,7 @@ bool WrappedVulkan::Serialise_vkCmdBindTransformFeedbackBuffersEXT( if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -7072,7 +7071,7 @@ bool WrappedVulkan::Serialise_vkCmdBeginTransformFeedbackEXT( if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -7167,7 +7166,7 @@ bool WrappedVulkan::Serialise_vkCmdEndTransformFeedbackEXT( if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -7256,7 +7255,7 @@ bool WrappedVulkan::Serialise_vkCmdBeginQueryIndexedEXT(SerialiserType &ser, if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -7315,7 +7314,7 @@ bool WrappedVulkan::Serialise_vkCmdEndQueryIndexedEXT(SerialiserType &ser, if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -7372,7 +7371,7 @@ bool WrappedVulkan::Serialise_vkCmdBeginConditionalRenderingEXT( if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -7444,7 +7443,7 @@ bool WrappedVulkan::Serialise_vkCmdEndConditionalRenderingEXT(SerialiserType &se if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -7507,7 +7506,7 @@ bool WrappedVulkan::Serialise_vkCmdSetVertexInputEXT( if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -7594,7 +7593,7 @@ bool WrappedVulkan::Serialise_vkCmdBeginRendering(SerialiserType &ser, VkCommand if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); byte *tempMem = GetTempMemory(GetNextPatchSize(&RenderingInfo)); VkRenderingInfo *unwrappedInfo = UnwrapStructAndChain(m_State, tempMem, &RenderingInfo); @@ -8022,7 +8021,7 @@ bool WrappedVulkan::Serialise_vkCmdEndRendering(SerialiserType &ser, VkCommandBu if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -8294,7 +8293,7 @@ bool WrappedVulkan::Serialise_vkCmdEndRendering2EXT(SerialiserType &ser, byte *tempMem = GetTempMemory(GetNextPatchSize(pRenderingEndInfo)); VkRenderingEndInfoEXT *unwrappedEndInfo = UnwrapStructAndChain(m_State, tempMem, pRenderingEndInfo); - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -8624,7 +8623,7 @@ bool WrappedVulkan::Serialise_vkCmdBuildAccelerationStructuresIndirectKHR( for(uint32_t i = 0; i < infoCount; ++i) tmpMaxPrimitiveCounts[i] = maxPrimitives[i].data(); - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -8741,7 +8740,7 @@ bool WrappedVulkan::Serialise_vkCmdBuildAccelerationStructuresKHR( for(uint32_t i = 0; i < infoCount; ++i) tmpBuildRangeInfos[i] = rangeInfos[i].data(); - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -8855,7 +8854,7 @@ bool WrappedVulkan::Serialise_vkCmdCopyAccelerationStructureKHR( unwrappedInfo.src = Unwrap(unwrappedInfo.src); unwrappedInfo.dst = Unwrap(unwrappedInfo.dst); - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -8961,7 +8960,7 @@ bool WrappedVulkan::Serialise_vkCmdCopyMemoryToAccelerationStructureKHR( VkCopyMemoryToAccelerationStructureInfoKHR unwrappedInfo = Info; unwrappedInfo.dst = Unwrap(unwrappedInfo.dst); - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -9028,7 +9027,7 @@ bool WrappedVulkan::Serialise_vkCmdWriteAccelerationStructuresPropertiesKHR( if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); // don't actually replay - this is purely for user information } @@ -9139,7 +9138,7 @@ bool WrappedVulkan::Serialise_vkCmdBindShadersEXT(SerialiserType &ser, if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -9259,7 +9258,7 @@ bool WrappedVulkan::Serialise_vkCmdBindIndexBuffer2(SerialiserType &ser, if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -9345,7 +9344,7 @@ bool WrappedVulkan::Serialise_vkCmdBindDescriptorBuffersEXT( if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); size_t memSize = 0; for(uint32_t b = 0; b < bufferCount; b++) @@ -9498,7 +9497,7 @@ bool WrappedVulkan::Serialise_vkCmdSetDescriptorBufferOffsetsEXT( if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -9632,7 +9631,7 @@ bool WrappedVulkan::Serialise_vkCmdBindDescriptorBufferEmbeddedSamplersEXT( if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -9721,7 +9720,7 @@ bool WrappedVulkan::Serialise_vkCmdSetDescriptorBufferOffsets2EXT( if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); byte *tempMem = GetTempMemory(GetNextPatchSize(&SetDescriptorBufferOffsetsInfo)); VkSetDescriptorBufferOffsetsInfoEXT *unwrappedInfo = @@ -9868,7 +9867,7 @@ bool WrappedVulkan::Serialise_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT( if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); byte *tempMem = GetTempMemory(GetNextPatchSize(&BindDescriptorBufferEmbeddedSamplersInfo)); VkBindDescriptorBufferEmbeddedSamplersInfoEXT *unwrappedInfo = @@ -9971,7 +9970,7 @@ bool WrappedVulkan::Serialise_vkCmdPushDescriptorSet2( if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); rdcarray pipelinesAffected = PipelinesForStageMask(PushDescriptorSetInfo.stageFlags); @@ -10140,7 +10139,7 @@ bool WrappedVulkan::Serialise_vkCmdPushDescriptorSetWithTemplate2( if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); uint32_t set = PushDescriptorSetWithTemplateInfo.set; diff --git a/renderdoc/driver/vulkan/wrappers/vk_descriptor_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_descriptor_funcs.cpp index f8d4034dc..96421514b 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_descriptor_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_descriptor_funcs.cpp @@ -1786,7 +1786,7 @@ bool WrappedVulkan::Serialise_vkCreateDescriptorSetLayout( ObjDisp(device)->DestroyDescriptorSetLayout(Unwrap(device), layout, NULL); // whenever the new ID is requested, return the old ID, via replacements. - GetResourceManager()->ReplaceResource(SetLayout, GetResourceManager()->GetOriginalID(live)); + GetResourceManager()->ReplaceResource(SetLayout, live); } else { @@ -1932,8 +1932,7 @@ bool WrappedVulkan::Serialise_vkAllocateDescriptorSets(SerialiserType &ser, VkDe RDCWARN( "Failed to allocate descriptor set %s from pool %s on replay. Assuming pool was " "reset and re-used mid-capture, so overflowing.", - ToStr(DescriptorSet).c_str(), - ToStr(GetResourceManager()->GetOriginalID(GetResID(AllocateInfo.descriptorPool))).c_str()); + ToStr(DescriptorSet).c_str(), ToStr(GetResID(AllocateInfo.descriptorPool)).c_str()); VulkanCreationInfo::DescSetPool &poolInfo = m_CreationInfo.m_DescSetPool[GetResID(AllocateInfo.descriptorPool)]; diff --git a/renderdoc/driver/vulkan/wrappers/vk_device_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_device_funcs.cpp index 396b03036..ea35ef4da 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_device_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_device_funcs.cpp @@ -562,7 +562,7 @@ RDResult WrappedVulkan::Initialise(VkInitParams ¶ms, uint64_t sectionVersion // these are only used internally, since due to physical device remapping the actual registered // resource is created as a fake physical device and that's where we register them by their - // original ID. These can safely be created with replay-only IDs. + // capture-time ID. These can safely be created with replay-only IDs. for(uint32_t i = 0; i < count; i++) GetResourceManager()->WrapResource(ResourceId(), m_Instance, m_ReplayPhysicalDevices[i]); @@ -1712,7 +1712,7 @@ bool WrappedVulkan::Serialise_vkCreateDevice(SerialiserType &ser, VkPhysicalDevi if(IsReplayingAndReading()) { // kept around only to call DerivedResource below, as this is the resource that actually has an - // original resource ID. + // capture time resource ID. VkPhysicalDevice origPhysDevice = physicalDevice; // see above in Serialise_vkEnumeratePhysicalDevices where this is encoded diff --git a/renderdoc/driver/vulkan/wrappers/vk_draw_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_draw_funcs.cpp index 8fbf00b18..72e183c4b 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_draw_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_draw_funcs.cpp @@ -179,7 +179,7 @@ bool WrappedVulkan::Serialise_vkCmdDraw(SerialiserType &ser, VkCommandBuffer com if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -268,7 +268,7 @@ bool WrappedVulkan::Serialise_vkCmdDrawIndexed(SerialiserType &ser, VkCommandBuf if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -360,7 +360,7 @@ bool WrappedVulkan::Serialise_vkCmdDrawIndirect(SerialiserType &ser, VkCommandBu if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); // do execution (possibly partial) if(IsActiveReplaying(m_State)) @@ -623,7 +623,7 @@ bool WrappedVulkan::Serialise_vkCmdDrawIndirect(SerialiserType &ser, VkCommandBu StructuredSerialiser structuriser(fakeChunk, ser.GetChunkLookup()); structuriser.Serialise("drawIndex"_lit, 0U); - ResourceId bufid = GetResourceManager()->GetOriginalID(GetResID(buffer)); + ResourceId bufid = GetResID(buffer); structuriser.Serialise("buffer"_lit, bufid); structuriser.Serialise("offset"_lit, offset); structuriser.Serialise("stride"_lit, stride); @@ -691,7 +691,7 @@ bool WrappedVulkan::Serialise_vkCmdDrawIndirect(SerialiserType &ser, VkCommandBu StructuredSerialiser structuriser(fakeChunk, ser.GetChunkLookup()); structuriser.Serialise("drawIndex"_lit, 0U); - ResourceId bufid = GetResourceManager()->GetOriginalID(GetResID(buffer)); + ResourceId bufid = GetResID(buffer); structuriser.Serialise("buffer"_lit, bufid); structuriser.Serialise("offset"_lit, offset); structuriser.Serialise("stride"_lit, stride); @@ -769,7 +769,7 @@ bool WrappedVulkan::Serialise_vkCmdDrawIndexedIndirect(SerialiserType &ser, if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); // do execution (possibly partial) if(IsActiveReplaying(m_State)) @@ -1001,7 +1001,7 @@ bool WrappedVulkan::Serialise_vkCmdDrawIndexedIndirect(SerialiserType &ser, StructuredSerialiser structuriser(fakeChunk, ser.GetChunkLookup()); structuriser.Serialise("drawIndex"_lit, 0U); - ResourceId bufid = GetResourceManager()->GetOriginalID(GetResID(buffer)); + ResourceId bufid = GetResID(buffer); structuriser.Serialise("buffer"_lit, bufid); structuriser.Serialise("offset"_lit, offset); structuriser.Serialise("stride"_lit, stride); @@ -1072,7 +1072,7 @@ bool WrappedVulkan::Serialise_vkCmdDrawIndexedIndirect(SerialiserType &ser, StructuredSerialiser structuriser(fakeChunk, ser.GetChunkLookup()); structuriser.Serialise("drawIndex"_lit, 0U); - ResourceId bufid = GetResourceManager()->GetOriginalID(GetResID(buffer)); + ResourceId bufid = GetResID(buffer); structuriser.Serialise("buffer"_lit, bufid); structuriser.Serialise("offset"_lit, offset); structuriser.Serialise("stride"_lit, stride); @@ -1145,7 +1145,7 @@ bool WrappedVulkan::Serialise_vkCmdDispatch(SerialiserType &ser, VkCommandBuffer if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -1221,7 +1221,7 @@ bool WrappedVulkan::Serialise_vkCmdDispatchIndirect(SerialiserType &ser, if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -1320,7 +1320,7 @@ bool WrappedVulkan::Serialise_vkCmdBlitImage(SerialiserType &ser, VkCommandBuffe if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -1353,8 +1353,8 @@ bool WrappedVulkan::Serialise_vkCmdBlitImage(SerialiserType &ser, VkCommandBuffe { AddEvent(); - ResourceId srcid = GetResourceManager()->GetOriginalID(GetResID(srcImage)); - ResourceId dstid = GetResourceManager()->GetOriginalID(GetResID(destImage)); + ResourceId srcid = GetResID(srcImage); + ResourceId dstid = GetResID(destImage); ActionDescription action; action.flags |= ActionFlags::Resolve; @@ -1467,7 +1467,7 @@ bool WrappedVulkan::Serialise_vkCmdResolveImage(SerialiserType &ser, VkCommandBu if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -1500,8 +1500,8 @@ bool WrappedVulkan::Serialise_vkCmdResolveImage(SerialiserType &ser, VkCommandBu { AddEvent(); - ResourceId srcid = GetResourceManager()->GetOriginalID(GetResID(srcImage)); - ResourceId dstid = GetResourceManager()->GetOriginalID(GetResID(destImage)); + ResourceId srcid = GetResID(srcImage); + ResourceId dstid = GetResID(destImage); ActionDescription action; action.flags |= ActionFlags::Resolve; @@ -1603,7 +1603,7 @@ bool WrappedVulkan::Serialise_vkCmdCopyImage(SerialiserType &ser, VkCommandBuffe if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -1636,8 +1636,8 @@ bool WrappedVulkan::Serialise_vkCmdCopyImage(SerialiserType &ser, VkCommandBuffe { AddEvent(); - ResourceId srcid = GetResourceManager()->GetOriginalID(GetResID(srcImage)); - ResourceId dstid = GetResourceManager()->GetOriginalID(GetResID(destImage)); + ResourceId srcid = GetResID(srcImage); + ResourceId dstid = GetResID(destImage); ActionDescription action; action.flags |= ActionFlags::Copy; @@ -1736,7 +1736,7 @@ bool WrappedVulkan::Serialise_vkCmdCopyBufferToImage( if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -1769,8 +1769,8 @@ bool WrappedVulkan::Serialise_vkCmdCopyBufferToImage( { AddEvent(); - ResourceId bufid = GetResourceManager()->GetOriginalID(GetResID(srcBuffer)); - ResourceId imgid = GetResourceManager()->GetOriginalID(GetResID(destImage)); + ResourceId bufid = GetResID(srcBuffer); + ResourceId imgid = GetResID(destImage); ActionDescription action; action.flags |= ActionFlags::Copy; @@ -1847,7 +1847,7 @@ bool WrappedVulkan::Serialise_vkCmdCopyImageToBuffer(SerialiserType &ser, if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -1880,8 +1880,8 @@ bool WrappedVulkan::Serialise_vkCmdCopyImageToBuffer(SerialiserType &ser, { AddEvent(); - ResourceId imgid = GetResourceManager()->GetOriginalID(GetResID(srcImage)); - ResourceId bufid = GetResourceManager()->GetOriginalID(GetResID(destBuffer)); + ResourceId imgid = GetResID(srcImage); + ResourceId bufid = GetResID(destBuffer); ActionDescription action; action.flags |= ActionFlags::Copy; @@ -1955,7 +1955,7 @@ bool WrappedVulkan::Serialise_vkCmdCopyBuffer(SerialiserType &ser, VkCommandBuff if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -1988,8 +1988,8 @@ bool WrappedVulkan::Serialise_vkCmdCopyBuffer(SerialiserType &ser, VkCommandBuff { AddEvent(); - ResourceId srcid = GetResourceManager()->GetOriginalID(GetResID(srcBuffer)); - ResourceId dstid = GetResourceManager()->GetOriginalID(GetResID(destBuffer)); + ResourceId srcid = GetResID(srcBuffer); + ResourceId dstid = GetResID(destBuffer); ActionDescription action; action.flags |= ActionFlags::Copy; @@ -2073,7 +2073,7 @@ bool WrappedVulkan::Serialise_vkCmdUpdateBuffer(SerialiserType &ser, VkCommandBu if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -2104,7 +2104,7 @@ bool WrappedVulkan::Serialise_vkCmdUpdateBuffer(SerialiserType &ser, VkCommandBu { AddEvent(); - ResourceId id = GetResourceManager()->GetOriginalID(GetResID(destBuffer)); + ResourceId id = GetResID(destBuffer); ActionDescription action; action.flags = ActionFlags::Copy; @@ -2168,7 +2168,7 @@ bool WrappedVulkan::Serialise_vkCmdFillBuffer(SerialiserType &ser, VkCommandBuff if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -2198,7 +2198,7 @@ bool WrappedVulkan::Serialise_vkCmdFillBuffer(SerialiserType &ser, VkCommandBuff { AddEvent(); - ResourceId id = GetResourceManager()->GetOriginalID(GetResID(destBuffer)); + ResourceId id = GetResID(destBuffer); ActionDescription action; action.flags = ActionFlags::Clear; @@ -2264,7 +2264,7 @@ bool WrappedVulkan::Serialise_vkCmdClearColorImage(SerialiserType &ser, VkComman if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -2303,7 +2303,7 @@ bool WrappedVulkan::Serialise_vkCmdClearColorImage(SerialiserType &ser, VkComman ActionDescription action; action.flags |= ActionFlags::Clear | ActionFlags::ClearColor; - action.copyDestination = GetResourceManager()->GetOriginalID(GetResID(image)); + action.copyDestination = GetResID(image); action.copyDestinationSubresource = Subresource(); if(rangeCount > 0) action.copyDestinationSubresource = @@ -2375,7 +2375,7 @@ bool WrappedVulkan::Serialise_vkCmdClearDepthStencilImage( if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -2415,7 +2415,7 @@ bool WrappedVulkan::Serialise_vkCmdClearDepthStencilImage( ActionDescription action; action.flags |= ActionFlags::Clear | ActionFlags::ClearDepthStencil; - action.copyDestination = GetResourceManager()->GetOriginalID(GetResID(image)); + action.copyDestination = GetResID(image); action.copyDestinationSubresource = Subresource(); if(rangeCount > 0) action.copyDestinationSubresource = @@ -2491,7 +2491,7 @@ bool WrappedVulkan::Serialise_vkCmdClearAttachments(SerialiserType &ser, if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -2661,7 +2661,7 @@ bool WrappedVulkan::Serialise_vkCmdDispatchBase(SerialiserType &ser, VkCommandBu if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -2757,7 +2757,7 @@ bool WrappedVulkan::Serialise_vkCmdDrawIndirectCount(SerialiserType &ser, if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); // do execution (possibly partial) if(IsActiveReplaying(m_State)) @@ -3030,7 +3030,7 @@ bool WrappedVulkan::Serialise_vkCmdDrawIndirectCount(SerialiserType &ser, StructuredSerialiser structuriser(fakeChunk, ser.GetChunkLookup()); structuriser.Serialise("drawIndex"_lit, 0U); - ResourceId bufid = GetResourceManager()->GetOriginalID(GetResID(buffer)); + ResourceId bufid = GetResID(buffer); structuriser.Serialise("buffer"_lit, bufid); structuriser.Serialise("offset"_lit, offset); structuriser.Serialise("stride"_lit, stride); @@ -3106,7 +3106,7 @@ bool WrappedVulkan::Serialise_vkCmdDrawIndexedIndirectCount( if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); // do execution (possibly partial) if(IsActiveReplaying(m_State)) @@ -3381,7 +3381,7 @@ bool WrappedVulkan::Serialise_vkCmdDrawIndexedIndirectCount( StructuredSerialiser structuriser(fakeChunk, ser.GetChunkLookup()); structuriser.Serialise("drawIndex"_lit, 0U); - ResourceId bufid = GetResourceManager()->GetOriginalID(GetResID(buffer)); + ResourceId bufid = GetResID(buffer); structuriser.Serialise("buffer"_lit, bufid); structuriser.Serialise("offset"_lit, offset); structuriser.Serialise("stride"_lit, stride); @@ -3458,7 +3458,7 @@ bool WrappedVulkan::Serialise_vkCmdDrawIndirectByteCountEXT( if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); // do execution (possibly partial) if(IsActiveReplaying(m_State)) @@ -3574,7 +3574,7 @@ bool WrappedVulkan::Serialise_vkCmdCopyBuffer2(SerialiserType &ser, VkCommandBuf UnwrapNextChain(m_State, "VkCopyBufferInfo2", tempMem, (VkBaseInStructure *)&unwrappedInfo); - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -3601,8 +3601,8 @@ bool WrappedVulkan::Serialise_vkCmdCopyBuffer2(SerialiserType &ser, VkCommandBuf { AddEvent(); - ResourceId srcid = GetResourceManager()->GetOriginalID(GetResID(CopyInfo.srcBuffer)); - ResourceId dstid = GetResourceManager()->GetOriginalID(GetResID(CopyInfo.dstBuffer)); + ResourceId srcid = GetResID(CopyInfo.srcBuffer); + ResourceId dstid = GetResID(CopyInfo.dstBuffer); ActionDescription action; action.flags |= ActionFlags::Copy; @@ -3698,7 +3698,7 @@ bool WrappedVulkan::Serialise_vkCmdCopyImage2(SerialiserType &ser, VkCommandBuff UnwrapNextChain(m_State, "VkCopyImageInfo2", tempMem, (VkBaseInStructure *)&unwrappedInfo); - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -3725,8 +3725,8 @@ bool WrappedVulkan::Serialise_vkCmdCopyImage2(SerialiserType &ser, VkCommandBuff { AddEvent(); - ResourceId srcid = GetResourceManager()->GetOriginalID(GetResID(CopyInfo.srcImage)); - ResourceId dstid = GetResourceManager()->GetOriginalID(GetResID(CopyInfo.dstImage)); + ResourceId srcid = GetResID(CopyInfo.srcImage); + ResourceId dstid = GetResID(CopyInfo.dstImage); ActionDescription action; action.flags |= ActionFlags::Copy; @@ -3831,7 +3831,7 @@ bool WrappedVulkan::Serialise_vkCmdCopyBufferToImage2( UnwrapNextChain(m_State, "VkCopyBufferToImageInfo2", tempMem, (VkBaseInStructure *)&unwrappedInfo); - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -3858,8 +3858,8 @@ bool WrappedVulkan::Serialise_vkCmdCopyBufferToImage2( { AddEvent(); - ResourceId bufid = GetResourceManager()->GetOriginalID(GetResID(CopyInfo.srcBuffer)); - ResourceId imgid = GetResourceManager()->GetOriginalID(GetResID(CopyInfo.dstImage)); + ResourceId bufid = GetResID(CopyInfo.srcBuffer); + ResourceId imgid = GetResID(CopyInfo.dstImage); ActionDescription action; action.flags |= ActionFlags::Copy; @@ -3963,7 +3963,7 @@ bool WrappedVulkan::Serialise_vkCmdCopyImageToBuffer2( UnwrapNextChain(m_State, "VkCopyImageToBufferInfo2", tempMem, (VkBaseInStructure *)&unwrappedInfo); - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -3990,8 +3990,8 @@ bool WrappedVulkan::Serialise_vkCmdCopyImageToBuffer2( { AddEvent(); - ResourceId imgid = GetResourceManager()->GetOriginalID(GetResID(CopyInfo.srcImage)); - ResourceId bufid = GetResourceManager()->GetOriginalID(GetResID(CopyInfo.dstBuffer)); + ResourceId imgid = GetResID(CopyInfo.srcImage); + ResourceId bufid = GetResID(CopyInfo.dstBuffer); ActionDescription action; action.flags |= ActionFlags::Copy; @@ -4093,7 +4093,7 @@ bool WrappedVulkan::Serialise_vkCmdBlitImage2(SerialiserType &ser, VkCommandBuff UnwrapNextChain(m_State, "VkBlitImageInfo2", tempMem, (VkBaseInStructure *)&unwrappedInfo); - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -4120,8 +4120,8 @@ bool WrappedVulkan::Serialise_vkCmdBlitImage2(SerialiserType &ser, VkCommandBuff { AddEvent(); - ResourceId srcid = GetResourceManager()->GetOriginalID(GetResID(BlitInfo.srcImage)); - ResourceId dstid = GetResourceManager()->GetOriginalID(GetResID(BlitInfo.dstImage)); + ResourceId srcid = GetResID(BlitInfo.srcImage); + ResourceId dstid = GetResID(BlitInfo.dstImage); ActionDescription action; action.flags |= ActionFlags::Resolve; @@ -4234,7 +4234,7 @@ bool WrappedVulkan::Serialise_vkCmdResolveImage2(SerialiserType &ser, VkCommandB UnwrapNextChain(m_State, "VkResolveImageInfo2", tempMem, (VkBaseInStructure *)&unwrappedInfo); - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -4261,8 +4261,8 @@ bool WrappedVulkan::Serialise_vkCmdResolveImage2(SerialiserType &ser, VkCommandB { AddEvent(); - ResourceId srcid = GetResourceManager()->GetOriginalID(GetResID(ResolveInfo.srcImage)); - ResourceId dstid = GetResourceManager()->GetOriginalID(GetResID(ResolveInfo.dstImage)); + ResourceId srcid = GetResID(ResolveInfo.srcImage); + ResourceId dstid = GetResID(ResolveInfo.dstImage); ActionDescription action; action.flags |= ActionFlags::Resolve; @@ -4362,7 +4362,7 @@ bool WrappedVulkan::Serialise_vkCmdDrawMeshTasksEXT(SerialiserType &ser, if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -4449,7 +4449,7 @@ bool WrappedVulkan::Serialise_vkCmdDrawMeshTasksIndirectEXT(SerialiserType &ser, if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); // do execution (possibly partial) if(IsActiveReplaying(m_State)) @@ -4730,7 +4730,7 @@ bool WrappedVulkan::Serialise_vkCmdDrawMeshTasksIndirectEXT(SerialiserType &ser, StructuredSerialiser structuriser(fakeChunk, ser.GetChunkLookup()); structuriser.Serialise("drawIndex"_lit, 0U); - ResourceId bufid = GetResourceManager()->GetOriginalID(GetResID(buffer)); + ResourceId bufid = GetResID(buffer); structuriser.Serialise("buffer"_lit, bufid); structuriser.Serialise("offset"_lit, offset); structuriser.Serialise("stride"_lit, stride); @@ -4798,7 +4798,7 @@ bool WrappedVulkan::Serialise_vkCmdDrawMeshTasksIndirectEXT(SerialiserType &ser, StructuredSerialiser structuriser(fakeChunk, ser.GetChunkLookup()); structuriser.Serialise("drawIndex"_lit, 0U); - ResourceId bufid = GetResourceManager()->GetOriginalID(GetResID(buffer)); + ResourceId bufid = GetResID(buffer); structuriser.Serialise("buffer"_lit, bufid); structuriser.Serialise("offset"_lit, offset); structuriser.Serialise("stride"_lit, stride); @@ -4873,7 +4873,7 @@ bool WrappedVulkan::Serialise_vkCmdDrawMeshTasksIndirectCountEXT( if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); // do execution (possibly partial) if(IsActiveReplaying(m_State)) @@ -5163,7 +5163,7 @@ bool WrappedVulkan::Serialise_vkCmdDrawMeshTasksIndirectCountEXT( StructuredSerialiser structuriser(fakeChunk, ser.GetChunkLookup()); structuriser.Serialise("drawIndex"_lit, 0U); - ResourceId bufid = GetResourceManager()->GetOriginalID(GetResID(buffer)); + ResourceId bufid = GetResID(buffer); structuriser.Serialise("buffer"_lit, bufid); structuriser.Serialise("offset"_lit, offset); structuriser.Serialise("stride"_lit, stride); @@ -5244,7 +5244,7 @@ bool WrappedVulkan::Serialise_vkCmdTraceRaysKHR( if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -5348,7 +5348,7 @@ bool WrappedVulkan::Serialise_vkCmdTraceRaysIndirectKHR( if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -5442,7 +5442,7 @@ bool WrappedVulkan::Serialise_vkCmdTraceRaysIndirect2KHR(SerialiserType &ser, if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { diff --git a/renderdoc/driver/vulkan/wrappers/vk_dynamic_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_dynamic_funcs.cpp index 83897c4f3..78211578c 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_dynamic_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_dynamic_funcs.cpp @@ -42,7 +42,7 @@ bool WrappedVulkan::Serialise_vkCmdSetViewport(SerialiserType &ser, VkCommandBuf if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -114,7 +114,7 @@ bool WrappedVulkan::Serialise_vkCmdSetViewportWithCount(SerialiserType &ser, if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -180,7 +180,7 @@ bool WrappedVulkan::Serialise_vkCmdSetScissor(SerialiserType &ser, VkCommandBuff if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -251,7 +251,7 @@ bool WrappedVulkan::Serialise_vkCmdSetScissorWithCount(SerialiserType &ser, if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -314,7 +314,7 @@ bool WrappedVulkan::Serialise_vkCmdSetLineWidth(SerialiserType &ser, VkCommandBu if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -377,7 +377,7 @@ bool WrappedVulkan::Serialise_vkCmdSetDepthBias(SerialiserType &ser, VkCommandBu if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -445,7 +445,7 @@ bool WrappedVulkan::Serialise_vkCmdSetBlendConstants(SerialiserType &ser, if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -507,7 +507,7 @@ bool WrappedVulkan::Serialise_vkCmdSetDepthBounds(SerialiserType &ser, VkCommand if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -574,7 +574,7 @@ bool WrappedVulkan::Serialise_vkCmdSetStencilCompareMask(SerialiserType &ser, if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -643,7 +643,7 @@ bool WrappedVulkan::Serialise_vkCmdSetStencilWriteMask(SerialiserType &ser, if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -712,7 +712,7 @@ bool WrappedVulkan::Serialise_vkCmdSetStencilReference(SerialiserType &ser, if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -779,7 +779,7 @@ bool WrappedVulkan::Serialise_vkCmdSetSampleLocationsEXT( if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -850,7 +850,7 @@ bool WrappedVulkan::Serialise_vkCmdSetDiscardRectangleEXT(SerialiserType &ser, if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -925,7 +925,7 @@ bool WrappedVulkan::Serialise_vkCmdSetLineStipple(SerialiserType &ser, VkCommand if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -1004,7 +1004,7 @@ bool WrappedVulkan::Serialise_vkCmdSetCullMode(SerialiserType &ser, VkCommandBuf if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -1065,7 +1065,7 @@ bool WrappedVulkan::Serialise_vkCmdSetFrontFace(SerialiserType &ser, VkCommandBu if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -1127,7 +1127,7 @@ bool WrappedVulkan::Serialise_vkCmdSetPrimitiveTopology(SerialiserType &ser, if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -1195,7 +1195,7 @@ bool WrappedVulkan::Serialise_vkCmdSetDepthTestEnable(SerialiserType &ser, if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -1258,7 +1258,7 @@ bool WrappedVulkan::Serialise_vkCmdSetDepthWriteEnable(SerialiserType &ser, if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -1321,7 +1321,7 @@ bool WrappedVulkan::Serialise_vkCmdSetDepthCompareOp(SerialiserType &ser, if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -1384,7 +1384,7 @@ bool WrappedVulkan::Serialise_vkCmdSetDepthBoundsTestEnable(SerialiserType &ser, if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -1448,7 +1448,7 @@ bool WrappedVulkan::Serialise_vkCmdSetStencilTestEnable(SerialiserType &ser, if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -1517,7 +1517,7 @@ bool WrappedVulkan::Serialise_vkCmdSetStencilOp(SerialiserType &ser, VkCommandBu if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -1599,7 +1599,7 @@ bool WrappedVulkan::Serialise_vkCmdSetColorWriteEnableEXT(SerialiserType &ser, if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -1666,7 +1666,7 @@ bool WrappedVulkan::Serialise_vkCmdSetDepthBiasEnable(SerialiserType &ser, if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -1728,7 +1728,7 @@ bool WrappedVulkan::Serialise_vkCmdSetLogicOpEXT(SerialiserType &ser, VkCommandB if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -1790,7 +1790,7 @@ bool WrappedVulkan::Serialise_vkCmdSetPatchControlPointsEXT(SerialiserType &ser, if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -1854,7 +1854,7 @@ bool WrappedVulkan::Serialise_vkCmdSetPrimitiveRestartEnable(SerialiserType &ser if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -1919,7 +1919,7 @@ bool WrappedVulkan::Serialise_vkCmdSetRasterizerDiscardEnable(SerialiserType &se if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -1986,7 +1986,7 @@ bool WrappedVulkan::Serialise_vkCmdSetFragmentShadingRateKHR( if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -2055,7 +2055,7 @@ bool WrappedVulkan::Serialise_vkCmdSetAttachmentFeedbackLoopEnableEXT(Serialiser if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -2119,7 +2119,7 @@ bool WrappedVulkan::Serialise_vkCmdSetAlphaToCoverageEnableEXT(SerialiserType &s if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -2184,7 +2184,7 @@ bool WrappedVulkan::Serialise_vkCmdSetAlphaToOneEnableEXT(SerialiserType &ser, if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -2259,7 +2259,7 @@ bool WrappedVulkan::Serialise_vkCmdSetColorBlendEnableEXT(SerialiserType &ser, if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -2334,7 +2334,7 @@ bool WrappedVulkan::Serialise_vkCmdSetColorBlendEquationEXT( if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -2411,7 +2411,7 @@ bool WrappedVulkan::Serialise_vkCmdSetColorWriteMaskEXT(SerialiserType &ser, if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -2484,7 +2484,7 @@ bool WrappedVulkan::Serialise_vkCmdSetConservativeRasterizationModeEXT( if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -2589,7 +2589,7 @@ bool WrappedVulkan::Serialise_vkCmdSetDepthClampEnableEXT(SerialiserType &ser, if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -2653,7 +2653,7 @@ bool WrappedVulkan::Serialise_vkCmdSetDepthClipEnableEXT(SerialiserType &ser, if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -2716,7 +2716,7 @@ bool WrappedVulkan::Serialise_vkCmdSetDepthClipNegativeOneToOneEXT(SerialiserTyp if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -2780,7 +2780,7 @@ bool WrappedVulkan::Serialise_vkCmdSetExtraPrimitiveOverestimationSizeEXT( if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -2847,7 +2847,7 @@ bool WrappedVulkan::Serialise_vkCmdSetLineRasterizationModeEXT( if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -2912,7 +2912,7 @@ bool WrappedVulkan::Serialise_vkCmdSetLineStippleEnableEXT(SerialiserType &ser, if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -2976,7 +2976,7 @@ bool WrappedVulkan::Serialise_vkCmdSetLogicOpEnableEXT(SerialiserType &ser, if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -3039,7 +3039,7 @@ bool WrappedVulkan::Serialise_vkCmdSetPolygonModeEXT(SerialiserType &ser, if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -3101,7 +3101,7 @@ bool WrappedVulkan::Serialise_vkCmdSetProvokingVertexModeEXT( if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -3164,7 +3164,7 @@ bool WrappedVulkan::Serialise_vkCmdSetRasterizationSamplesEXT( if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -3228,7 +3228,7 @@ bool WrappedVulkan::Serialise_vkCmdSetRasterizationStreamEXT(SerialiserType &ser if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -3298,7 +3298,7 @@ bool WrappedVulkan::Serialise_vkCmdSetSampleLocationsEnableEXT(SerialiserType &s if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -3365,7 +3365,7 @@ bool WrappedVulkan::Serialise_vkCmdSetSampleMaskEXT(SerialiserType &ser, if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -3435,7 +3435,7 @@ bool WrappedVulkan::Serialise_vkCmdSetTessellationDomainOriginEXT( if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -3512,7 +3512,7 @@ bool WrappedVulkan::Serialise_vkCmdSetRayTracingPipelineStackSizeKHR(SerialiserT if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -3578,7 +3578,7 @@ bool WrappedVulkan::Serialise_vkCmdSetRenderingAttachmentLocations( if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { @@ -3642,7 +3642,7 @@ bool WrappedVulkan::Serialise_vkCmdSetRenderingInputAttachmentIndices( if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); if(IsActiveReplaying(m_State)) { diff --git a/renderdoc/driver/vulkan/wrappers/vk_misc_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_misc_funcs.cpp index 5a204d588..20c39d014 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_misc_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_misc_funcs.cpp @@ -729,7 +729,7 @@ bool WrappedVulkan::Serialise_vkCreateSampler(SerialiserType &ser, VkDevice devi ObjDisp(device)->DestroySampler(Unwrap(device), samp, NULL); // whenever the new ID is requested, return the old ID, via replacements. - GetResourceManager()->ReplaceResource(Sampler, GetResourceManager()->GetOriginalID(live)); + GetResourceManager()->ReplaceResource(Sampler, live); } else { @@ -948,7 +948,7 @@ bool WrappedVulkan::Serialise_vkCreateFramebuffer(SerialiserType &ser, VkDevice ObjDisp(device)->DestroyFramebuffer(Unwrap(device), fb, NULL); // whenever the new ID is requested, return the old ID, via replacements. - GetResourceManager()->ReplaceResource(Framebuffer, GetResourceManager()->GetOriginalID(live)); + GetResourceManager()->ReplaceResource(Framebuffer, live); } else { @@ -1246,7 +1246,7 @@ bool WrappedVulkan::Serialise_vkCreateRenderPass(SerialiserType &ser, VkDevice d ObjDisp(device)->DestroyRenderPass(Unwrap(device), rp, NULL); // whenever the new ID is requested, return the old ID, via replacements. - GetResourceManager()->ReplaceResource(RenderPass, GetResourceManager()->GetOriginalID(live)); + GetResourceManager()->ReplaceResource(RenderPass, live); } else { @@ -1554,7 +1554,7 @@ bool WrappedVulkan::Serialise_vkCreateRenderPass2(SerialiserType &ser, VkDevice ObjDisp(device)->DestroyRenderPass(Unwrap(device), rp, NULL); // whenever the new ID is requested, return the old ID, via replacements. - GetResourceManager()->ReplaceResource(RenderPass, GetResourceManager()->GetOriginalID(live)); + GetResourceManager()->ReplaceResource(RenderPass, live); } else { @@ -1953,8 +1953,8 @@ bool WrappedVulkan::Serialise_vkCopyImageToImage(SerialiserType &ser, VkDevice d { AddEvent(); - ResourceId srcid = GetResourceManager()->GetOriginalID(GetResID(CopyImageToImageInfo.srcImage)); - ResourceId dstid = GetResourceManager()->GetOriginalID(GetResID(CopyImageToImageInfo.dstImage)); + ResourceId srcid = GetResID(CopyImageToImageInfo.srcImage); + ResourceId dstid = GetResID(CopyImageToImageInfo.dstImage); ActionDescription action; action.flags |= ActionFlags::Copy; @@ -2054,7 +2054,7 @@ bool WrappedVulkan::Serialise_vkCopyImageToMemory(SerialiserType &ser, VkDevice { AddEvent(); - ResourceId srcid = GetResourceManager()->GetOriginalID(GetResID(srcImage)); + ResourceId srcid = GetResID(srcImage); ActionDescription action; action.flags |= ActionFlags::Copy; @@ -2141,7 +2141,7 @@ bool WrappedVulkan::Serialise_vkCopyMemoryToImage(SerialiserType &ser, VkDevice { AddEvent(); - ResourceId dstid = GetResourceManager()->GetOriginalID(GetResID(dstImage)); + ResourceId dstid = GetResID(dstImage); ActionDescription action; action.flags |= ActionFlags::Copy; @@ -2298,8 +2298,7 @@ bool WrappedVulkan::Serialise_vkCreateSamplerYcbcrConversion( ObjDisp(device)->DestroySamplerYcbcrConversion(Unwrap(device), conv, NULL); // whenever the new ID is requested, return the old ID, via replacements. - GetResourceManager()->ReplaceResource(ycbcrConversion, - GetResourceManager()->GetOriginalID(live)); + GetResourceManager()->ReplaceResource(ycbcrConversion, live); } else { @@ -2718,7 +2717,7 @@ bool WrappedVulkan::Serialise_SetShaderDebugPath(SerialiserType &ser, VkShaderMo m_CreationInfo.m_ShaderModule[GetResID(ShaderObject)].unstrippedPath = DebugPath; m_CreationInfo.m_ShaderModule[GetResID(ShaderObject)].Reinit(); - AddResourceCurChunk(GetResourceManager()->GetOriginalID(GetResID(ShaderObject))); + AddResourceCurChunk(GetResID(ShaderObject)); } return true; @@ -2778,7 +2777,7 @@ bool WrappedVulkan::Serialise_vkDebugMarkerSetObjectNameEXT( ObjectName = ""; // if we don't have a live resource, this is probably a command buffer being named on the - // virtual non-existant parent, not any of the baked IDs. Just save the name on the original ID + // virtual non-existant parent, not any of the baked IDs. Just save the name on the base ID // and we'll propagate it in Serialise_vkBeginCommandBuffer if(!GetResourceManager()->HasLiveResource(Object) || GetResourceManager()->HasReplacement(Object)) m_CreationInfo.m_Names[Object] = ObjectName; @@ -2922,7 +2921,7 @@ bool WrappedVulkan::Serialise_vkSetDebugUtilsObjectNameEXT( ObjectName = ""; // if we don't have a live resource, this is probably a command buffer being named on the - // virtual non-existant parent, not any of the baked IDs. Just save the name on the original ID + // virtual non-existant parent, not any of the baked IDs. Just save the name on the base ID // and we'll propagate it in Serialise_vkBeginCommandBuffer if(!GetResourceManager()->HasLiveResource(Object) || GetResourceManager()->HasReplacement(Object)) m_CreationInfo.m_Names[Object] = ObjectName; diff --git a/renderdoc/driver/vulkan/wrappers/vk_queue_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_queue_funcs.cpp index 2c676d5c0..51ac320d4 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_queue_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_queue_funcs.cpp @@ -60,7 +60,7 @@ bool WrappedVulkan::Serialise_vkGetDeviceQueue(SerialiserType &ser, VkDevice dev ResourceId live = GetResourceManager()->GetDispWrapper(queue)->id; // whenever the new ID is requested, return the old ID, via replacements. - GetResourceManager()->ReplaceResource(Queue, GetResourceManager()->GetOriginalID(live)); + GetResourceManager()->ReplaceResource(Queue, live); } else { @@ -312,8 +312,7 @@ void WrappedVulkan::ReplayQueueSubmit(VkQueue queue, VkSubmitInfo2 submitInfo, r DoSubmit(queue, submitInfo); FlushQ(); - ResourceId cmd = GetResourceManager()->GetOriginalID( - GetResID(submitInfo.pCommandBufferInfos[0].commandBuffer)); + ResourceId cmd = GetResID(submitInfo.pCommandBufferInfos[0].commandBuffer); submitInfo.pCommandBufferInfos++; @@ -417,8 +416,7 @@ void WrappedVulkan::ReplayQueueSubmit(VkQueue queue, VkSubmitInfo2 submitInfo, r // advance m_CurEventID to match the events added when reading for(uint32_t c = 0; c < submitInfo.commandBufferInfoCount; c++) { - ResourceId cmd = GetResourceManager()->GetOriginalID( - GetResID(submitInfo.pCommandBufferInfos[c].commandBuffer)); + ResourceId cmd = GetResID(submitInfo.pCommandBufferInfos[c].commandBuffer); m_RootEventID += m_BakedCmdBufferInfo[cmd].eventCount; m_RootActionID += m_BakedCmdBufferInfo[cmd].actionCount; @@ -457,7 +455,7 @@ void WrappedVulkan::ReplayQueueSubmit(VkQueue queue, VkSubmitInfo2 submitInfo, r for(uint32_t c = 0; c < submitInfo.commandBufferInfoCount; c++) { VkCommandBufferSubmitInfo info = submitInfo.pCommandBufferInfos[c]; - ResourceId cmdId = GetResourceManager()->GetOriginalID(GetResID(info.commandBuffer)); + ResourceId cmdId = GetResID(info.commandBuffer); // account for the virtual vkBeginCommandBuffer label at the start of the events here // so it matches up to baseEvent diff --git a/renderdoc/driver/vulkan/wrappers/vk_resource_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_resource_funcs.cpp index cd22c5c8f..1143bbdcb 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_resource_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_resource_funcs.cpp @@ -199,8 +199,6 @@ bool WrappedVulkan::CheckMemoryRequirements(const char *resourceName, ResourceId // bail loading this capture. This is a bit of an under-estimate since we just make sure // there's enough space left in the memory, that doesn't mean that there aren't overlaps due // to increased size requirements. - ResourceId memOrigId = GetResourceManager()->GetOriginalID(memId); - VulkanCreationInfo::Memory &memInfo = m_CreationInfo.m_Memory[memId]; uint32_t bit = 1U << memInfo.memoryTypeIndex; @@ -234,7 +232,7 @@ bool WrappedVulkan::CheckMemoryRequirements(const char *resourceName, ResourceId m_FailedReplayResult, ResultCode::APIHardwareUnsupported, "Trying to bind %s to %s, but memory type is %u and only types %s are allowed.\n" "\n%s", - resourceName, GetResourceDesc(memOrigId).name.c_str(), memInfo.memoryTypeIndex, + resourceName, GetResourceDesc(memId).name.c_str(), memInfo.memoryTypeIndex, bitsString.c_str(), GetPhysDeviceCompatString(external, origInvalid).c_str()); return false; } @@ -255,7 +253,7 @@ bool WrappedVulkan::CheckMemoryRequirements(const char *resourceName, ResourceId m_FailedReplayResult, ResultCode::APIHardwareUnsupported, "Trying to bind %s to %s, but memory offset 0x%llx doesn't satisfy alignment 0x%llx.\n" "\n%s", - resourceName, GetResourceDesc(memOrigId).name.c_str(), memoryOffset, mrq.alignment, + resourceName, GetResourceDesc(memId).name.c_str(), memoryOffset, mrq.alignment, GetPhysDeviceCompatString(external, origInvalid).c_str()); return false; } @@ -276,7 +274,7 @@ bool WrappedVulkan::CheckMemoryRequirements(const char *resourceName, ResourceId "Trying to bind %s to %s, but at memory offset 0x%llx the reported size of " "0x%llx won't fit the 0x%llx bytes of memory.\n" "\n%s", - resourceName, GetResourceDesc(memOrigId).name.c_str(), memoryOffset, size, + resourceName, GetResourceDesc(memId).name.c_str(), memoryOffset, size, memInfo.allocSize, GetPhysDeviceCompatString(external, origInvalid).c_str()); return false; } @@ -1477,13 +1475,11 @@ bool WrappedVulkan::Serialise_vkFlushMappedMemoryRanges(SerialiserType &ser, VkD { if(IsLoading(m_State)) { - AddDebugMessage( - MessageCategory::Performance, MessageSeverity::Medium, - MessageSource::GeneralPerformance, - StringFormat::Fmt( - "Unmapped memory %s overlaps tiled-only memory region. " - "Taking slow path to mask tiled memory writes", - ToStr(GetResourceManager()->GetOriginalID(GetResID(MemRange.memory))).c_str())); + AddDebugMessage(MessageCategory::Performance, MessageSeverity::Medium, + MessageSource::GeneralPerformance, + StringFormat::Fmt("Unmapped memory %s overlaps tiled-only memory region. " + "Taking slow path to mask tiled memory writes", + ToStr(GetResID(MemRange.memory)).c_str())); } directStream = false; m_MaskedMapData.resize((size_t)memRangeSize); @@ -1702,15 +1698,15 @@ bool WrappedVulkan::Serialise_vkBindBufferMemory(SerialiserType &ser, VkDevice d if(IsReplayingAndReading()) { - ResourceId resOrigId = GetResourceManager()->GetOriginalID(GetResID(buffer)); - ResourceId memOrigId = GetResourceManager()->GetOriginalID(GetResID(memory)); + ResourceId resId = GetResID(buffer); + ResourceId memId = GetResID(memory); VulkanCreationInfo::Buffer &bufInfo = m_CreationInfo.m_Buffer[GetResID(buffer)]; VkMemoryRequirements mrq = {}; ObjDisp(device)->GetBufferMemoryRequirements(Unwrap(device), Unwrap(buffer), &mrq); - bool ok = CheckMemoryRequirements(GetResourceDesc(resOrigId).name.c_str(), GetResID(memory), + bool ok = CheckMemoryRequirements(GetResourceDesc(resId).name.c_str(), GetResID(memory), memoryOffset, mrq, bufInfo.external, bufInfo.mrq); if(!ok) @@ -1718,11 +1714,11 @@ bool WrappedVulkan::Serialise_vkBindBufferMemory(SerialiserType &ser, VkDevice d ObjDisp(device)->BindBufferMemory(Unwrap(device), Unwrap(buffer), Unwrap(memory), memoryOffset); - GetResourceDesc(memOrigId).derivedResources.push_back(resOrigId); - GetResourceDesc(resOrigId).parentResources.push_back(memOrigId); + GetResourceDesc(memId).derivedResources.push_back(resId); + GetResourceDesc(resId).parentResources.push_back(memId); - AddResourceCurChunk(memOrigId); - AddResourceCurChunk(resOrigId); + AddResourceCurChunk(memId); + AddResourceCurChunk(resId); // for buffers created with device addresses, fetch it now as that's possible for both EXT and // KHR variants now. @@ -1813,15 +1809,15 @@ bool WrappedVulkan::Serialise_vkBindImageMemory(SerialiserType &ser, VkDevice de if(IsReplayingAndReading()) { - ResourceId resOrigId = GetResourceManager()->GetOriginalID(GetResID(image)); - ResourceId memOrigId = GetResourceManager()->GetOriginalID(GetResID(memory)); + ResourceId resId = GetResID(image); + ResourceId memId = GetResID(memory); VkMemoryRequirements mrq = {}; ObjDisp(device)->GetImageMemoryRequirements(Unwrap(device), Unwrap(image), &mrq); VulkanCreationInfo::Image &imgInfo = m_CreationInfo.m_Image[GetResID(image)]; - bool ok = CheckMemoryRequirements(GetResourceDesc(resOrigId).name.c_str(), GetResID(memory), + bool ok = CheckMemoryRequirements(GetResourceDesc(resId).name.c_str(), GetResID(memory), memoryOffset, mrq, imgInfo.external, imgInfo.mrq); if(!ok) @@ -1844,11 +1840,11 @@ bool WrappedVulkan::Serialise_vkBindImageMemory(SerialiserType &ser, VkDevice de } } - GetResourceDesc(memOrigId).derivedResources.push_back(resOrigId); - GetResourceDesc(resOrigId).parentResources.push_back(memOrigId); + GetResourceDesc(memId).derivedResources.push_back(resId); + GetResourceDesc(resId).parentResources.push_back(memId); - AddResourceCurChunk(memOrigId); - AddResourceCurChunk(resOrigId); + AddResourceCurChunk(memId); + AddResourceCurChunk(resId); m_CreationInfo.m_Memory[GetResID(memory)].BindMemory( memoryOffset, mrq.size, @@ -2418,7 +2414,7 @@ bool WrappedVulkan::Serialise_vkCreateBufferView(SerialiserType &ser, VkDevice d ObjDisp(device)->DestroyBufferView(Unwrap(device), view, NULL); // whenever the new ID is requested, return the old ID, via replacements. - GetResourceManager()->ReplaceResource(View, GetResourceManager()->GetOriginalID(live)); + GetResourceManager()->ReplaceResource(View, live); } else { @@ -3314,7 +3310,7 @@ bool WrappedVulkan::Serialise_vkCreateImageView(SerialiserType &ser, VkDevice de ObjDisp(device)->DestroyImageView(Unwrap(device), view, NULL); // whenever the new ID is requested, return the old ID, via replacements. - GetResourceManager()->ReplaceResource(View, GetResourceManager()->GetOriginalID(live)); + GetResourceManager()->ReplaceResource(View, live); } else { @@ -3478,13 +3474,13 @@ bool WrappedVulkan::Serialise_vkBindBufferMemory2(SerialiserType &ser, VkDevice const VkBindBufferMemoryInfo &bindInfo = pBindInfos[i]; const VulkanCreationInfo::Buffer &bufInfo = m_CreationInfo.m_Buffer[GetResID(bindInfo.buffer)]; - ResourceId resOrigId = GetResourceManager()->GetOriginalID(GetResID(bindInfo.buffer)); + ResourceId resId = GetResID(bindInfo.buffer); ObjDisp(device)->GetBufferMemoryRequirements(Unwrap(device), Unwrap(bindInfo.buffer), &mrqs[i]); - bool ok = CheckMemoryRequirements(GetResourceDesc(resOrigId).name.c_str(), - GetResID(bindInfo.memory), bindInfo.memoryOffset, mrqs[i], - bufInfo.external, bufInfo.mrq); + bool ok = + CheckMemoryRequirements(GetResourceDesc(resId).name.c_str(), GetResID(bindInfo.memory), + bindInfo.memoryOffset, mrqs[i], bufInfo.external, bufInfo.mrq); if(!ok) return false; @@ -3497,16 +3493,16 @@ bool WrappedVulkan::Serialise_vkBindBufferMemory2(SerialiserType &ser, VkDevice { const VkBindBufferMemoryInfo &bindInfo = pBindInfos[i]; - ResourceId resOrigId = GetResourceManager()->GetOriginalID(GetResID(bindInfo.buffer)); - ResourceId memOrigId = GetResourceManager()->GetOriginalID(GetResID(bindInfo.memory)); + ResourceId resId = GetResID(bindInfo.buffer); + ResourceId memId = GetResID(bindInfo.memory); VulkanCreationInfo::Buffer &bufInfo = m_CreationInfo.m_Buffer[GetResID(bindInfo.buffer)]; - GetResourceDesc(memOrigId).derivedResources.push_back(resOrigId); - GetResourceDesc(resOrigId).parentResources.push_back(memOrigId); + GetResourceDesc(memId).derivedResources.push_back(resId); + GetResourceDesc(resId).parentResources.push_back(memId); - AddResourceCurChunk(memOrigId); - AddResourceCurChunk(resOrigId); + AddResourceCurChunk(memId); + AddResourceCurChunk(resId); // for buffers created with device addresses, fetch it now as that's possible for both EXT and // KHR variants now. @@ -3613,8 +3609,8 @@ bool WrappedVulkan::Serialise_vkBindImageMemory2(SerialiserType &ser, VkDevice d { const VkBindImageMemoryInfo &bindInfo = pBindInfos[i]; - ResourceId resOrigId = GetResourceManager()->GetOriginalID(GetResID(bindInfo.image)); - ResourceId memOrigId = GetResourceManager()->GetOriginalID(GetResID(bindInfo.memory)); + ResourceId resId = GetResID(bindInfo.image); + ResourceId memId = GetResID(bindInfo.memory); VulkanCreationInfo::Image &imgInfo = m_CreationInfo.m_Image[GetResID(bindInfo.image)]; @@ -3651,9 +3647,9 @@ bool WrappedVulkan::Serialise_vkBindImageMemory2(SerialiserType &ser, VkDevice d } else { - bool ok = CheckMemoryRequirements(GetResourceDesc(resOrigId).name.c_str(), - GetResID(bindInfo.memory), bindInfo.memoryOffset, mrq, - imgInfo.external, imgInfo.mrq); + bool ok = + CheckMemoryRequirements(GetResourceDesc(resId).name.c_str(), GetResID(bindInfo.memory), + bindInfo.memoryOffset, mrq, imgInfo.external, imgInfo.mrq); if(!ok) return false; @@ -3675,14 +3671,14 @@ bool WrappedVulkan::Serialise_vkBindImageMemory2(SerialiserType &ser, VkDevice d } } - AddResourceCurChunk(resOrigId); + AddResourceCurChunk(resId); - if(memOrigId != ResourceId()) + if(memId != ResourceId()) { - GetResourceDesc(memOrigId).derivedResources.push_back(resOrigId); - GetResourceDesc(resOrigId).parentResources.push_back(memOrigId); + GetResourceDesc(memId).derivedResources.push_back(resId); + GetResourceDesc(resId).parentResources.push_back(memId); - AddResourceCurChunk(memOrigId); + AddResourceCurChunk(memId); m_CreationInfo.m_Memory[GetResID(bindInfo.memory)].BindMemory( bindInfo.memoryOffset, mrq.size, @@ -3870,7 +3866,7 @@ bool WrappedVulkan::Serialise_vkSetDeviceMemoryPriorityEXT(SerialiserType &ser, { ObjDisp(device)->SetDeviceMemoryPriorityEXT(Unwrap(device), Unwrap(memory), priority); - AddResourceCurChunk(GetResourceManager()->GetOriginalID(GetResID(memory))); + AddResourceCurChunk(GetResID(memory)); } return true; @@ -3967,8 +3963,7 @@ bool WrappedVulkan::Serialise_vkCreateAccelerationStructureKHR( ObjDisp(device)->DestroyAccelerationStructureKHR(Unwrap(device), acc, NULL); // whenever the new ID is requested, return the old ID, via replacements. - GetResourceManager()->ReplaceResource(AccelerationStructure, - GetResourceManager()->GetOriginalID(live)); + GetResourceManager()->ReplaceResource(AccelerationStructure, live); } else { diff --git a/renderdoc/driver/vulkan/wrappers/vk_shader_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_shader_funcs.cpp index e183f081d..35aa86fea 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_shader_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_shader_funcs.cpp @@ -303,8 +303,7 @@ bool WrappedVulkan::Serialise_vkCreatePipelineLayout(SerialiserType &ser, VkDevi ObjDisp(device)->DestroyPipelineLayout(Unwrap(device), layout, NULL); // whenever the new ID is requested, return the old ID, via replacements. - GetResourceManager()->ReplaceResource(PipelineLayout, - GetResourceManager()->GetOriginalID(live)); + GetResourceManager()->ReplaceResource(PipelineLayout, live); } else { @@ -430,8 +429,7 @@ bool WrappedVulkan::Serialise_vkCreateShaderModule(SerialiserType &ser, VkDevice ObjDisp(device)->DestroyShaderModule(Unwrap(device), sh, NULL); // whenever the new ID is requested, return the old ID, via replacements. - GetResourceManager()->ReplaceResource(ShaderModule, - GetResourceManager()->GetOriginalID(live)); + GetResourceManager()->ReplaceResource(ShaderModule, live); } else { @@ -534,7 +532,7 @@ bool WrappedVulkan::Serialise_vkCreateShadersEXT(SerialiserType &ser, VkDevice d ObjDisp(device)->DestroyShaderEXT(Unwrap(device), sh, NULL); // whenever the new ID is requested, return the old ID, via replacements. - GetResourceManager()->ReplaceResource(Shader, GetResourceManager()->GetOriginalID(live)); + GetResourceManager()->ReplaceResource(Shader, live); } else { @@ -843,7 +841,6 @@ bool WrappedVulkan::Serialise_vkCreateGraphicsPipelines( if(shadInstantiations[s].module == VK_NULL_HANDLE) return false; - // this will be a replay ID, there is no equivalent original ID ResourceId shadId = GetResID(shadInstantiations[s].module); AddResource(shadId, ResourceType::Shader, "Shader Module"); @@ -1203,7 +1200,6 @@ bool WrappedVulkan::Serialise_vkCreateComputePipelines(SerialiserType &ser, VkDe if(shadInstantiated.module == VK_NULL_HANDLE) return false; - // this will be a replay ID, there is no equivalent original ID ResourceId shadId = GetResID(shadInstantiated.module); AddResource(shadId, ResourceType::Shader, "Shader Module"); diff --git a/renderdoc/driver/vulkan/wrappers/vk_sync_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_sync_funcs.cpp index b677b24c8..a6df3b811 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_sync_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_sync_funcs.cpp @@ -578,7 +578,7 @@ bool WrappedVulkan::Serialise_vkCreateSemaphore(SerialiserType &ser, VkDevice de ObjDisp(device)->DestroySemaphore(Unwrap(device), sem, NULL); // whenever the new ID is requested, return the old ID, via replacements. - GetResourceManager()->ReplaceResource(Semaphore, GetResourceManager()->GetOriginalID(live)); + GetResourceManager()->ReplaceResource(Semaphore, live); } else { @@ -649,7 +649,7 @@ bool WrappedVulkan::Serialise_vkCmdSetEvent(SerialiserType &ser, VkCommandBuffer if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); // see top of this file for current event/fence handling @@ -704,7 +704,7 @@ bool WrappedVulkan::Serialise_vkCmdResetEvent(SerialiserType &ser, VkCommandBuff if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); // see top of this file for current event/fence handling @@ -791,7 +791,7 @@ bool WrappedVulkan::Serialise_vkCmdWaitEvents( // Since it's a convenient place, we unwrap at the same time. if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); for(uint32_t i = 0; i < bufferMemoryBarrierCount; i++) { @@ -1163,7 +1163,7 @@ bool WrappedVulkan::Serialise_vkCmdSetEvent2(SerialiserType &ser, VkCommandBuffe if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); // see top of this file for current event/fence handling @@ -1228,7 +1228,7 @@ bool WrappedVulkan::Serialise_vkCmdResetEvent2(SerialiserType &ser, VkCommandBuf if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); // see top of this file for current event/fence handling @@ -1292,7 +1292,7 @@ bool WrappedVulkan::Serialise_vkCmdWaitEvents2(SerialiserType &ser, VkCommandBuf // Since it's a convenient place, we unwrap at the same time. if(IsReplayingAndReading()) { - m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer)); + m_LastCmdBufferID = GetResID(commandBuffer); rdcarray imgBarriers; rdcarray bufBarriers; diff --git a/renderdoc/driver/vulkan/wrappers/vk_wsi_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_wsi_funcs.cpp index e91db8339..f7ac5f105 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_wsi_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_wsi_funcs.cpp @@ -233,7 +233,6 @@ bool WrappedVulkan::Serialise_vkGetSwapchainImagesKHR(SerialiserType &ser, VkDev if(IsReplayingAndReading()) { - // use original ID because we don't create a live version of the swapchain SwapchainInfo &swapInfo = m_CreationInfo.m_SwapChain[Swapchain]; ResourceId liveId = GetResourceManager()->WrapResource( @@ -439,7 +438,6 @@ bool WrappedVulkan::Serialise_vkCreateSwapchainKHR(SerialiserType &ser, VkDevice if(IsReplayingAndReading()) { - // use original ID because we don't create a live version of the swapchain SwapchainInfo &swapinfo = m_CreationInfo.m_SwapChain[SwapChain]; AddResource(SwapChain, ResourceType::SwapchainImage, "Swapchain");