diff options
| author | iwubcode <iwubcode@users.noreply.github.com> | 2022-05-22 14:28:12 -0500 |
|---|---|---|
| committer | iwubcode <iwubcode@users.noreply.github.com> | 2022-06-24 18:09:53 -0500 |
| commit | 0eb9352579f26d8fe03d55dbdac97bd8f946fef0 (patch) | |
| tree | f6af6e66ebf1191ede5c0af712bee22ffce25e62 /Source/Core | |
| parent | cad1d6ce909eeca6820444b09d9bf3ae9c6c7bc4 (diff) | |
D3D: update BoundingBox to match generated shader code
Diffstat (limited to 'Source/Core')
| -rw-r--r-- | Source/Core/VideoBackends/D3D/D3DBoundingBox.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/Source/Core/VideoBackends/D3D/D3DBoundingBox.cpp b/Source/Core/VideoBackends/D3D/D3DBoundingBox.cpp index 2eb6da73df..7a6fe64d80 100644 --- a/Source/Core/VideoBackends/D3D/D3DBoundingBox.cpp +++ b/Source/Core/VideoBackends/D3D/D3DBoundingBox.cpp @@ -27,7 +27,8 @@ bool D3DBoundingBox::Initialize() // Create 2 buffers here. // First for unordered access on default pool. auto desc = CD3D11_BUFFER_DESC(NUM_BBOX_VALUES * sizeof(BBoxType), D3D11_BIND_UNORDERED_ACCESS, - D3D11_USAGE_DEFAULT, 0, 0, sizeof(BBoxType)); + D3D11_USAGE_DEFAULT, 0, D3D11_RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS, + sizeof(BBoxType)); const BBoxType initial_values[NUM_BBOX_VALUES] = {0, 0, 0, 0}; D3D11_SUBRESOURCE_DATA data; data.pSysMem = initial_values; @@ -44,6 +45,7 @@ bool D3DBoundingBox::Initialize() desc.Usage = D3D11_USAGE_STAGING; desc.CPUAccessFlags = D3D11_CPU_ACCESS_READ; desc.BindFlags = 0; + desc.MiscFlags = 0; hr = D3D::device->CreateBuffer(&desc, nullptr, &m_staging_buffer); ASSERT_MSG(VIDEO, SUCCEEDED(hr), "Failed to create BoundingBox Staging Buffer: {}", DX11HRWrap(hr)); @@ -53,10 +55,10 @@ bool D3DBoundingBox::Initialize() // UAV is required to allow concurrent access. D3D11_UNORDERED_ACCESS_VIEW_DESC UAVdesc = {}; - UAVdesc.Format = DXGI_FORMAT_R32_SINT; + UAVdesc.Format = DXGI_FORMAT_R32_TYPELESS; UAVdesc.ViewDimension = D3D11_UAV_DIMENSION_BUFFER; UAVdesc.Buffer.FirstElement = 0; - UAVdesc.Buffer.Flags = 0; + UAVdesc.Buffer.Flags = D3D11_BUFFER_UAV_FLAG_RAW; UAVdesc.Buffer.NumElements = NUM_BBOX_VALUES; hr = D3D::device->CreateUnorderedAccessView(m_buffer.Get(), &UAVdesc, &m_uav); ASSERT_MSG(VIDEO, SUCCEEDED(hr), "Failed to create BoundingBox UAV: {}", DX11HRWrap(hr)); |
