From 1780c549e5990c901b791e94265ea16ce9c45c22 Mon Sep 17 00:00:00 2001 From: Philip Rebohle Date: Wed, 30 Oct 2019 10:58:05 +0100 Subject: [PATCH] [d3d11] Only add storage buffer usage flag to constant buffers if needed Otherwise, the backend optimization for dynamic uniform buffers will not kick in. --- src/d3d11/d3d11_buffer.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/d3d11/d3d11_buffer.cpp b/src/d3d11/d3d11_buffer.cpp index bb7e9809a..8ce1efc51 100644 --- a/src/d3d11/d3d11_buffer.cpp +++ b/src/d3d11/d3d11_buffer.cpp @@ -34,10 +34,12 @@ namespace dxvk { } if (pDesc->BindFlags & D3D11_BIND_CONSTANT_BUFFER) { - info.usage |= VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT - | VK_BUFFER_USAGE_STORAGE_BUFFER_BIT; + info.usage |= VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT; info.stages |= m_device->GetEnabledShaderStages(); info.access |= VK_ACCESS_UNIFORM_READ_BIT; + + if (m_device->GetOptions()->constantBufferRangeCheck) + info.usage |= VK_BUFFER_USAGE_STORAGE_BUFFER_BIT; } if (pDesc->BindFlags & D3D11_BIND_SHADER_RESOURCE) {