Fix D3D12 replay-only buffers being returned by GetBuffers properly

* We do need buffers in the resource list to be able to call GetBufferData
This commit is contained in:
baldurk
2026-05-16 14:50:02 +01:00
parent aa4e613e58
commit 5bee6d799a
2 changed files with 3 additions and 2 deletions
+2 -1
View File
@@ -394,7 +394,8 @@ rdcarray<BufferDescription> D3D12Replay::GetBuffers()
rdcarray<BufferDescription> ret;
for(auto it = m_pDevice->GetResourceList().begin(); it != m_pDevice->GetResourceList().end(); it++)
if(it->second->GetDesc().Dimension == D3D12_RESOURCE_DIMENSION_BUFFER)
if(it->second->GetDesc().Dimension == D3D12_RESOURCE_DIMENSION_BUFFER &&
!ResourceIDGen::IsReplayOnlyID(it->first))
ret.push_back(GetBuffer(it->first));
return ret;
+1 -1
View File
@@ -1571,7 +1571,7 @@ public:
: WrappedDeviceChild12(id, real, device)
{
m_OrigAddress = origAddress;
if(IsReplayMode(device->GetState()) && id != ResourceId())
if(IsReplayMode(device->GetState()))
device->AddReplayResource(GetResourceID(), this);
m_Heap = (WrappedID3D12Heap *)heap;