diff --git a/renderdoc/driver/d3d12/d3d12_replay.cpp b/renderdoc/driver/d3d12/d3d12_replay.cpp index 2af59968c..75579ce8c 100644 --- a/renderdoc/driver/d3d12/d3d12_replay.cpp +++ b/renderdoc/driver/d3d12/d3d12_replay.cpp @@ -472,6 +472,15 @@ void D3D12Replay::FillResourceView(D3D12PipelineState::ResourceView &view, D3D12 view.ElementSize = uav.Buffer.StructureByteStride; view.CounterByteOffset = uav.Buffer.CounterOffsetInBytes; + + if(view.CounterResource != ResourceId()) + { + vector counterVal; + m_pDevice->GetDebugManager()->GetBufferData(desc->nonsamp.uav.counterResource, + view.CounterByteOffset, 4, counterVal); + uint32_t *val = (uint32_t *)&counterVal[0]; + view.BufferStructCount = *val; + } } else if(uav.ViewDimension == D3D12_UAV_DIMENSION_TEXTURE1D) {