1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2025-03-13 19:29:14 +01:00

[d3d11] Fix incomplete usage mask for buffer UAVs

This commit is contained in:
Philip Rebohle 2018-09-25 10:14:42 +02:00
parent ddfa7e40b3
commit 305c361c00
No known key found for this signature in database
GPG Key ID: C8CC613427A31C99

View File

@ -135,8 +135,7 @@ namespace dxvk {
if (pDesc->BindFlags & D3D11_BIND_UNORDERED_ACCESS) {
info.usage |= VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT;
info.stages |= VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT
| VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT;
info.stages |= m_device->GetEnabledShaderStages();
info.access |= VK_ACCESS_SHADER_READ_BIT
| VK_ACCESS_SHADER_WRITE_BIT;
}
@ -171,10 +170,7 @@ namespace dxvk {
// AMD cards have a device-local, host-visible memory type where
// we can put dynamic resources that need fast access by the GPU
if ((pDesc->Usage == D3D11_USAGE_DYNAMIC) && (pDesc->BindFlags & (
D3D11_BIND_VERTEX_BUFFER | D3D11_BIND_INDEX_BUFFER |
D3D11_BIND_SHADER_RESOURCE | D3D11_BIND_UNORDERED_ACCESS |
D3D11_BIND_CONSTANT_BUFFER)))
if (pDesc->Usage == D3D11_USAGE_DYNAMIC && pDesc->BindFlags)
memoryFlags |= VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT;
return m_device->GetDXVKDevice()->createBuffer(info, memoryFlags);