message: 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.
diff: @@ -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),
  