mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-01-28 13:05:02 -08:00
libs/vkd3d: Limit buffer usage flags based on heap type.
This commit is contained in:
parent
310335f748
commit
a63b81858c
@ -71,13 +71,18 @@ static HRESULT vkd3d_create_buffer(struct d3d12_resource *resource, struct d3d12
|
||||
buffer_info.flags = 0;
|
||||
buffer_info.size = desc->Width;
|
||||
|
||||
/* FIXME: Try to limit usage based on heap_properties. */
|
||||
buffer_info.usage = VK_BUFFER_USAGE_TRANSFER_SRC_BIT
|
||||
| VK_BUFFER_USAGE_TRANSFER_DST_BIT
|
||||
| VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT
|
||||
| VK_BUFFER_USAGE_INDEX_BUFFER_BIT
|
||||
| VK_BUFFER_USAGE_VERTEX_BUFFER_BIT
|
||||
| VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT;
|
||||
|
||||
if (heap_properties->Type == D3D12_HEAP_TYPE_UPLOAD)
|
||||
buffer_info.usage &= ~VK_BUFFER_USAGE_TRANSFER_DST_BIT;
|
||||
else if (heap_properties->Type == D3D12_HEAP_TYPE_READBACK)
|
||||
buffer_info.usage = VK_BUFFER_USAGE_TRANSFER_DST_BIT;
|
||||
|
||||
if (desc->Flags & D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS)
|
||||
buffer_info.usage |= VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT;
|
||||
if (!(desc->Flags & D3D12_RESOURCE_FLAG_DENY_SHADER_RESOURCE))
|
||||
|
Loading…
x
Reference in New Issue
Block a user