From f77ab6bd29243cd5c66a2f745d132878474ee044 Mon Sep 17 00:00:00 2001 From: Jake Turner Date: Fri, 6 Mar 2026 16:31:14 +0000 Subject: [PATCH] Remove ResourceUsage member view (which was optional) No longer used anywhere --- renderdoc/api/replay/data_types.h | 7 -- renderdoc/driver/d3d11/d3d11_context.cpp | 13 ++-- .../driver/d3d11/d3d11_context1_wrap.cpp | 9 +-- renderdoc/driver/d3d11/d3d11_context_wrap.cpp | 10 +-- renderdoc/driver/vulkan/vk_core.cpp | 65 +++++++++---------- .../driver/vulkan/wrappers/vk_cmd_funcs.cpp | 11 ++-- .../driver/vulkan/wrappers/vk_draw_funcs.cpp | 15 ++--- renderdoc/replay/renderdoc_serialise.inl | 3 +- 8 files changed, 55 insertions(+), 78 deletions(-) diff --git a/renderdoc/api/replay/data_types.h b/renderdoc/api/replay/data_types.h index dc8634980..52a027378 100644 --- a/renderdoc/api/replay/data_types.h +++ b/renderdoc/api/replay/data_types.h @@ -1888,7 +1888,6 @@ struct EventUsage EventUsage() : eventId(0), usage(ResourceUsage::Unused) {} EventUsage(const EventUsage &) = default; EventUsage(uint32_t e, ResourceUsage u) : eventId(e), usage(u) {} - EventUsage(uint32_t e, ResourceUsage u, ResourceId v) : eventId(e), usage(u), view(v) {} EventUsage &operator=(const EventUsage &) = default; bool operator<(const EventUsage &o) const { @@ -1910,12 +1909,6 @@ struct EventUsage :type: ResourceUsage )"); ResourceUsage usage; - - DOCUMENT(R"(An optional :class:`ResourceId` identifying the view through which the use happened. - -:type: ResourceId -)"); - ResourceId view; }; DECLARE_REFLECTION_STRUCT(EventUsage); diff --git a/renderdoc/driver/d3d11/d3d11_context.cpp b/renderdoc/driver/d3d11/d3d11_context.cpp index 52b0232b9..8f132796e 100644 --- a/renderdoc/driver/d3d11/d3d11_context.cpp +++ b/renderdoc/driver/d3d11/d3d11_context.cpp @@ -1126,8 +1126,7 @@ void WrappedID3D11DeviceContext::AddUsage(const ActionDescription &a) if(sh.Used_SRV(i)) { WrappedID3D11ShaderResourceView1 *view = (WrappedID3D11ShaderResourceView1 *)sh.SRVs[i]; - m_ResourceUses[view->GetResourceResID()].push_back( - EventUsage(e, ResUsage(s), view->GetResourceID())); + m_ResourceUses[view->GetResourceResID()].push_back(EventUsage(e, ResUsage(s))); } } @@ -1140,7 +1139,7 @@ void WrappedID3D11DeviceContext::AddUsage(const ActionDescription &a) WrappedID3D11UnorderedAccessView1 *view = (WrappedID3D11UnorderedAccessView1 *)pipe->CSUAVs[i]; m_ResourceUses[view->GetResourceResID()].push_back( - EventUsage(e, ResourceUsage::CS_RWResource, view->GetResourceID())); + EventUsage(e, ResourceUsage::CS_RWResource)); } } } @@ -1169,8 +1168,7 @@ void WrappedID3D11DeviceContext::AddUsage(const ActionDescription &a) { WrappedID3D11UnorderedAccessView1 *view = (WrappedID3D11UnorderedAccessView1 *)pipe->OM.UAVs[i - pipe->OM.UAVStartSlot]; - m_ResourceUses[view->GetResourceResID()].push_back( - EventUsage(e, ResourceUsage::PS_RWResource, view->GetResourceID())); + m_ResourceUses[view->GetResourceResID()].push_back(EventUsage(e, ResourceUsage::PS_RWResource)); } } @@ -1178,7 +1176,7 @@ void WrappedID3D11DeviceContext::AddUsage(const ActionDescription &a) { WrappedID3D11DepthStencilView *view = (WrappedID3D11DepthStencilView *)pipe->OM.DepthView; m_ResourceUses[view->GetResourceResID()].push_back( - EventUsage(e, ResourceUsage::DepthStencilTarget, view->GetResourceID())); + EventUsage(e, ResourceUsage::DepthStencilTarget)); } for(int i = 0; i < D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT; i++) @@ -1187,8 +1185,7 @@ void WrappedID3D11DeviceContext::AddUsage(const ActionDescription &a) { WrappedID3D11RenderTargetView1 *view = (WrappedID3D11RenderTargetView1 *)pipe->OM.RenderTargets[i]; - m_ResourceUses[view->GetResourceResID()].push_back( - EventUsage(e, ResourceUsage::ColorTarget, view->GetResourceID())); + m_ResourceUses[view->GetResourceResID()].push_back(EventUsage(e, ResourceUsage::ColorTarget)); } } } diff --git a/renderdoc/driver/d3d11/d3d11_context1_wrap.cpp b/renderdoc/driver/d3d11/d3d11_context1_wrap.cpp index 7b7f44359..078b38135 100644 --- a/renderdoc/driver/d3d11/d3d11_context1_wrap.cpp +++ b/renderdoc/driver/d3d11/d3d11_context1_wrap.cpp @@ -567,8 +567,7 @@ bool WrappedID3D11DeviceContext::Serialise_ClearView(SerialiserType &ser, ID3D11 if(resid != ResourceId()) { - m_ResourceUses[resid].push_back( - EventUsage(m_CurEventID, ResourceUsage::Clear, GetIDForDeviceChild(pView))); + m_ResourceUses[resid].push_back(EventUsage(m_CurEventID, ResourceUsage::Clear)); action.copyDestination = resid; action.copyDestinationSubresource = Subresource(); @@ -1927,8 +1926,7 @@ bool WrappedID3D11DeviceContext::Serialise_DiscardView(SerialiserType &ser, ID3D ResourceId resid = GetViewResourceResID(pResourceView); action.copyDestination = resid; action.copyDestinationSubresource = Subresource(range.GetMinMip(), range.GetMinSlice()); - m_ResourceUses[resid].push_back( - EventUsage(m_CurEventID, ResourceUsage::Discard, GetIDForDeviceChild(pResourceView))); + m_ResourceUses[resid].push_back(EventUsage(m_CurEventID, ResourceUsage::Discard)); } AddAction(action); @@ -2062,8 +2060,7 @@ bool WrappedID3D11DeviceContext::Serialise_DiscardView1(SerialiserType &ser, ResourceId resid = GetViewResourceResID(pResourceView); action.copyDestination = resid; action.copyDestinationSubresource = Subresource(range.GetMinMip(), range.GetMinSlice()); - m_ResourceUses[resid].push_back( - EventUsage(m_CurEventID, ResourceUsage::Discard, GetIDForDeviceChild(pResourceView))); + m_ResourceUses[resid].push_back(EventUsage(m_CurEventID, ResourceUsage::Discard)); } AddAction(action); diff --git a/renderdoc/driver/d3d11/d3d11_context_wrap.cpp b/renderdoc/driver/d3d11/d3d11_context_wrap.cpp index f3bb5242c..ace6798c5 100644 --- a/renderdoc/driver/d3d11/d3d11_context_wrap.cpp +++ b/renderdoc/driver/d3d11/d3d11_context_wrap.cpp @@ -6595,7 +6595,7 @@ bool WrappedID3D11DeviceContext::Serialise_GenerateMips(SerialiserType &ser, if(view) { m_ResourceUses[view->GetResourceResID()].push_back( - EventUsage(m_CurEventID, ResourceUsage::GenMips, view->GetResourceID())); + EventUsage(m_CurEventID, ResourceUsage::GenMips)); } AddEvent(); @@ -6755,7 +6755,7 @@ bool WrappedID3D11DeviceContext::Serialise_ClearRenderTargetView( if(view) { m_ResourceUses[view->GetResourceResID()].push_back( - EventUsage(m_CurEventID, ResourceUsage::Clear, view->GetResourceID())); + EventUsage(m_CurEventID, ResourceUsage::Clear)); action.copyDestination = view->GetResourceResID(); D3D11_RENDER_TARGET_VIEW_DESC viewDesc; view->GetDesc(&viewDesc); @@ -6837,7 +6837,7 @@ bool WrappedID3D11DeviceContext::Serialise_ClearUnorderedAccessViewUint( if(view) { m_ResourceUses[view->GetResourceResID()].push_back( - EventUsage(m_CurEventID, ResourceUsage::Clear, view->GetResourceID())); + EventUsage(m_CurEventID, ResourceUsage::Clear)); action.copyDestination = view->GetResourceResID(); action.copyDestinationSubresource = Subresource(); } @@ -6915,7 +6915,7 @@ bool WrappedID3D11DeviceContext::Serialise_ClearUnorderedAccessViewFloat( if(view) { m_ResourceUses[view->GetResourceResID()].push_back( - EventUsage(m_CurEventID, ResourceUsage::Clear, view->GetResourceID())); + EventUsage(m_CurEventID, ResourceUsage::Clear)); action.copyDestination = view->GetResourceResID(); action.copyDestinationSubresource = Subresource(); } @@ -6999,7 +6999,7 @@ bool WrappedID3D11DeviceContext::Serialise_ClearDepthStencilView( if(view) { m_ResourceUses[view->GetResourceResID()].push_back( - EventUsage(m_CurEventID, ResourceUsage::Clear, view->GetResourceID())); + EventUsage(m_CurEventID, ResourceUsage::Clear)); action.copyDestination = view->GetResourceResID(); D3D11_DEPTH_STENCIL_VIEW_DESC viewDesc; view->GetDesc(&viewDesc); diff --git a/renderdoc/driver/vulkan/vk_core.cpp b/renderdoc/driver/vulkan/vk_core.cpp index 5800d452f..c09baf522 100644 --- a/renderdoc/driver/vulkan/vk_core.cpp +++ b/renderdoc/driver/vulkan/vk_core.cpp @@ -6560,9 +6560,8 @@ void WrappedVulkan::AddFramebufferUsage(VulkanActionTreeNode &actionNode, uint32_t att = sub.inputAttachments[i]; if(att == VK_ATTACHMENT_UNUSED) continue; - actionNode.resourceUsage.push_back( - make_rdcpair(c.m_ImageView[fbattachments[att]].image, - EventUsage(e, ResourceUsage::InputTarget, fbattachments[att]))); + actionNode.resourceUsage.push_back(make_rdcpair(c.m_ImageView[fbattachments[att]].image, + EventUsage(e, ResourceUsage::InputTarget))); } for(size_t i = 0; i < sub.colorAttachments.size(); i++) @@ -6570,10 +6569,10 @@ void WrappedVulkan::AddFramebufferUsage(VulkanActionTreeNode &actionNode, uint32_t att = sub.colorAttachments[i]; if(att == VK_ATTACHMENT_UNUSED) continue; - actionNode.resourceUsage.push_back(make_rdcpair( - c.m_ImageView[fbattachments[att]].image, - EventUsage(e, sub.customResolve ? ResourceUsage::ResolveDst : ResourceUsage::ColorTarget, - fbattachments[att]))); + actionNode.resourceUsage.push_back( + make_rdcpair(c.m_ImageView[fbattachments[att]].image, + EventUsage(e, sub.customResolve ? ResourceUsage::ResolveDst + : ResourceUsage::ColorTarget))); } if(sub.depthstencilAttachment >= 0) @@ -6581,7 +6580,7 @@ void WrappedVulkan::AddFramebufferUsage(VulkanActionTreeNode &actionNode, int32_t att = sub.depthstencilAttachment; actionNode.resourceUsage.push_back( make_rdcpair(c.m_ImageView[fbattachments[att]].image, - EventUsage(e, ResourceUsage::DepthStencilTarget, fbattachments[att]))); + EventUsage(e, ResourceUsage::DepthStencilTarget))); } } } @@ -6598,18 +6597,18 @@ void WrappedVulkan::AddFramebufferUsage(VulkanActionTreeNode &actionNode, (dyn.color[i].resolveMode & VK_RESOLVE_MODE_CUSTOM_BIT_EXT); if(!isCustomResolve) { - actionNode.resourceUsage.push_back(make_rdcpair( - c.m_ImageView[GetResID(dyn.color[i].imageView)].image, - EventUsage(e, ResourceUsage::ColorTarget, GetResID(dyn.color[i].imageView)))); + actionNode.resourceUsage.push_back( + make_rdcpair(c.m_ImageView[GetResID(dyn.color[i].imageView)].image, + EventUsage(e, ResourceUsage::ColorTarget))); } else { - actionNode.resourceUsage.push_back(make_rdcpair( - c.m_ImageView[GetResID(dyn.color[i].imageView)].image, - EventUsage(e, ResourceUsage::InputTarget, GetResID(dyn.color[i].imageView)))); - actionNode.resourceUsage.push_back(make_rdcpair( - c.m_ImageView[GetResID(dyn.color[i].resolveImageView)].image, - EventUsage(e, ResourceUsage::ResolveDst, GetResID(dyn.color[i].resolveImageView)))); + actionNode.resourceUsage.push_back( + make_rdcpair(c.m_ImageView[GetResID(dyn.color[i].imageView)].image, + EventUsage(e, ResourceUsage::InputTarget))); + actionNode.resourceUsage.push_back( + make_rdcpair(c.m_ImageView[GetResID(dyn.color[i].resolveImageView)].image, + EventUsage(e, ResourceUsage::ResolveDst))); } } @@ -6619,18 +6618,18 @@ void WrappedVulkan::AddFramebufferUsage(VulkanActionTreeNode &actionNode, (dyn.depth.resolveMode & VK_RESOLVE_MODE_CUSTOM_BIT_EXT); if(!isCustomResolve) { - actionNode.resourceUsage.push_back(make_rdcpair( - c.m_ImageView[GetResID(dyn.depth.imageView)].image, - EventUsage(e, ResourceUsage::DepthStencilTarget, GetResID(dyn.depth.imageView)))); + actionNode.resourceUsage.push_back( + make_rdcpair(c.m_ImageView[GetResID(dyn.depth.imageView)].image, + EventUsage(e, ResourceUsage::DepthStencilTarget))); } else { actionNode.resourceUsage.push_back( make_rdcpair(c.m_ImageView[GetResID(dyn.depth.imageView)].image, - EventUsage(e, ResourceUsage::InputTarget, GetResID(dyn.depth.imageView)))); - actionNode.resourceUsage.push_back(make_rdcpair( - c.m_ImageView[GetResID(dyn.depth.resolveImageView)].image, - EventUsage(e, ResourceUsage::ResolveDst, GetResID(dyn.depth.resolveImageView)))); + EventUsage(e, ResourceUsage::InputTarget))); + actionNode.resourceUsage.push_back( + make_rdcpair(c.m_ImageView[GetResID(dyn.depth.resolveImageView)].image, + EventUsage(e, ResourceUsage::ResolveDst))); } } @@ -6641,18 +6640,18 @@ void WrappedVulkan::AddFramebufferUsage(VulkanActionTreeNode &actionNode, if(!isCustomResolve) { - actionNode.resourceUsage.push_back(make_rdcpair( - c.m_ImageView[GetResID(dyn.stencil.imageView)].image, - EventUsage(e, ResourceUsage::DepthStencilTarget, GetResID(dyn.stencil.imageView)))); + actionNode.resourceUsage.push_back( + make_rdcpair(c.m_ImageView[GetResID(dyn.stencil.imageView)].image, + EventUsage(e, ResourceUsage::DepthStencilTarget))); } else { - actionNode.resourceUsage.push_back(make_rdcpair( - c.m_ImageView[GetResID(dyn.stencil.imageView)].image, - EventUsage(e, ResourceUsage::InputTarget, GetResID(dyn.stencil.imageView)))); - actionNode.resourceUsage.push_back(make_rdcpair( - c.m_ImageView[GetResID(dyn.stencil.resolveImageView)].image, - EventUsage(e, ResourceUsage::ResolveDst, GetResID(dyn.stencil.resolveImageView)))); + actionNode.resourceUsage.push_back( + make_rdcpair(c.m_ImageView[GetResID(dyn.stencil.imageView)].image, + EventUsage(e, ResourceUsage::InputTarget))); + actionNode.resourceUsage.push_back( + make_rdcpair(c.m_ImageView[GetResID(dyn.stencil.resolveImageView)].image, + EventUsage(e, ResourceUsage::ResolveDst))); } } } diff --git a/renderdoc/driver/vulkan/wrappers/vk_cmd_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_cmd_funcs.cpp index 9fff13038..f481c9191 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_cmd_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_cmd_funcs.cpp @@ -2334,8 +2334,7 @@ bool WrappedVulkan::Serialise_vkCmdBeginRenderPass(SerialiserType &ser, VkComman image, EventUsage(m_BakedCmdBufferInfo[m_LastCmdBufferID].curEventID, rpinfo.attachments[i].loadOp == VK_ATTACHMENT_LOAD_OP_CLEAR ? ResourceUsage::Clear - : ResourceUsage::Discard, - fbattachments[i]))); + : ResourceUsage::Discard))); } } @@ -2956,8 +2955,7 @@ bool WrappedVulkan::Serialise_vkCmdBeginRenderPass2(SerialiserType &ser, image, EventUsage(m_BakedCmdBufferInfo[m_LastCmdBufferID].curEventID, rpinfo.attachments[i].loadOp == VK_ATTACHMENT_LOAD_OP_CLEAR ? ResourceUsage::Clear - : ResourceUsage::Discard, - fbattachments[i]))); + : ResourceUsage::Discard))); } } @@ -7945,8 +7943,7 @@ bool WrappedVulkan::Serialise_vkCmdBeginRendering(SerialiserType &ser, VkCommand m_BakedCmdBufferInfo[m_LastCmdBufferID].resourceUsage.push_back(make_rdcpair( image, EventUsage(m_BakedCmdBufferInfo[m_LastCmdBufferID].curEventID, att->loadOp == VK_ATTACHMENT_LOAD_OP_CLEAR ? ResourceUsage::Clear - : ResourceUsage::Discard, - GetResID(att->imageView)))); + : ResourceUsage::Discard))); } } @@ -10432,7 +10429,7 @@ bool WrappedVulkan::Serialise_vkCmdBeginCustomResolveEXT( ResourceId image = m_CreationInfo.m_ImageView[resolveImageView].image; m_BakedCmdBufferInfo[m_LastCmdBufferID].resourceUsage.push_back( make_rdcpair(image, EventUsage(m_BakedCmdBufferInfo[m_LastCmdBufferID].curEventID, - ResourceUsage::Discard, resolveImageView))); + ResourceUsage::Discard))); } else { diff --git a/renderdoc/driver/vulkan/wrappers/vk_draw_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_draw_funcs.cpp index 72e183c4b..3d8916e05 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_draw_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_draw_funcs.cpp @@ -2559,8 +2559,7 @@ bool WrappedVulkan::Serialise_vkCmdClearAttachments(SerialiserType &ser, { actionNode.resourceUsage.push_back(make_rdcpair( m_CreationInfo.m_ImageView[state.GetFramebufferAttachments()[att]].image, - EventUsage(actionNode.action.eventId, ResourceUsage::Clear, - state.GetFramebufferAttachments()[att]))); + EventUsage(actionNode.action.eventId, ResourceUsage::Clear))); } } } @@ -2572,8 +2571,7 @@ bool WrappedVulkan::Serialise_vkCmdClearAttachments(SerialiserType &ser, att = (uint32_t)rp.subpasses[state.subpass].depthstencilAttachment; actionNode.resourceUsage.push_back(make_rdcpair( m_CreationInfo.m_ImageView[state.GetFramebufferAttachments()[att]].image, - EventUsage(actionNode.action.eventId, ResourceUsage::Clear, - state.GetFramebufferAttachments()[att]))); + EventUsage(actionNode.action.eventId, ResourceUsage::Clear))); } } } @@ -2586,24 +2584,21 @@ bool WrappedVulkan::Serialise_vkCmdClearAttachments(SerialiserType &ser, { actionNode.resourceUsage.push_back( make_rdcpair(m_CreationInfo.m_ImageView[GetResID(dyn.color[a].imageView)].image, - EventUsage(actionNode.action.eventId, ResourceUsage::Clear, - GetResID(dyn.color[a].imageView)))); + EventUsage(actionNode.action.eventId, ResourceUsage::Clear))); } if(dyn.depth.imageView != VK_NULL_HANDLE) { actionNode.resourceUsage.push_back( make_rdcpair(m_CreationInfo.m_ImageView[GetResID(dyn.depth.imageView)].image, - EventUsage(actionNode.action.eventId, ResourceUsage::Clear, - GetResID(dyn.depth.imageView)))); + EventUsage(actionNode.action.eventId, ResourceUsage::Clear))); } if(dyn.stencil.imageView != VK_NULL_HANDLE && dyn.depth.imageView != dyn.stencil.imageView) { actionNode.resourceUsage.push_back( make_rdcpair(m_CreationInfo.m_ImageView[GetResID(dyn.stencil.imageView)].image, - EventUsage(actionNode.action.eventId, ResourceUsage::Clear, - GetResID(dyn.stencil.imageView)))); + EventUsage(actionNode.action.eventId, ResourceUsage::Clear))); } } } diff --git a/renderdoc/replay/renderdoc_serialise.inl b/renderdoc/replay/renderdoc_serialise.inl index ed677783c..65cae17e6 100644 --- a/renderdoc/replay/renderdoc_serialise.inl +++ b/renderdoc/replay/renderdoc_serialise.inl @@ -947,9 +947,8 @@ void DoSerialise(SerialiserType &ser, EventUsage &el) { SERIALISE_MEMBER(eventId); SERIALISE_MEMBER(usage); - SERIALISE_MEMBER(view); - SIZE_CHECK(16); + SIZE_CHECK(8); } template