mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-13 05:20:45 +00:00
Clear the whole stream-out buffer on D3D12 not just the first few UINTs
* For some reason this seems to be necessary to get accurate counts when fetching mesh output for instanced meshes with multiple counters.
This commit is contained in:
@@ -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),
|
||||
|
||||
Reference in New Issue
Block a user