diff --git a/renderdoc/driver/d3d12/d3d12_postvs.cpp b/renderdoc/driver/d3d12/d3d12_postvs.cpp index e839791d4..f575f0300 100644 --- a/renderdoc/driver/d3d12/d3d12_postvs.cpp +++ b/renderdoc/driver/d3d12/d3d12_postvs.cpp @@ -121,7 +121,7 @@ void D3D12Replay::CreateSOBuffers() counterDesc.ViewDimension = D3D12_UAV_DIMENSION_BUFFER; counterDesc.Format = DXGI_FORMAT_R32_UINT; counterDesc.Buffer.FirstElement = 0; - counterDesc.Buffer.NumElements = 4; + counterDesc.Buffer.NumElements = UINT(m_SOBufferSize / sizeof(UINT)); m_pDevice->CreateUnorderedAccessView(m_SOBuffer, NULL, &counterDesc, GetDebugManager()->GetCPUHandle(STREAM_OUT_UAV)); @@ -915,12 +915,6 @@ void D3D12Replay::InitPostVSBuffers(uint32_t eventId) list->ResourceBarrier(1, &sobarr); - D3D12_UNORDERED_ACCESS_VIEW_DESC counterDesc = {}; - counterDesc.ViewDimension = D3D12_UAV_DIMENSION_BUFFER; - counterDesc.Format = DXGI_FORMAT_R32_UINT; - counterDesc.Buffer.FirstElement = 0; - counterDesc.Buffer.NumElements = 4; - UINT zeroes[4] = {0, 0, 0, 0}; list->ClearUnorderedAccessViewUint(GetDebugManager()->GetGPUHandle(STREAM_OUT_UAV), GetDebugManager()->GetUAVClearHandle(STREAM_OUT_UAV), @@ -1073,12 +1067,6 @@ void D3D12Replay::InitPostVSBuffers(uint32_t eventId) list->DiscardResource(m_SOBuffer, NULL); list->ResourceBarrier(1, &sobarr); - D3D12_UNORDERED_ACCESS_VIEW_DESC counterDesc = {}; - counterDesc.ViewDimension = D3D12_UAV_DIMENSION_BUFFER; - counterDesc.Format = DXGI_FORMAT_R32_UINT; - counterDesc.Buffer.FirstElement = 0; - counterDesc.Buffer.NumElements = 4; - UINT zeroes[4] = {0, 0, 0, 0}; list->ClearUnorderedAccessViewUint(GetDebugManager()->GetGPUHandle(STREAM_OUT_UAV), GetDebugManager()->GetUAVClearHandle(STREAM_OUT_UAV),