radv: fix allocating sparse descriptor buffers in the 32-bit addr space
There are two bugs:
- VK_KHR_maintenance5 added VkBufferUsageFlags2CreateInfoKHR, so
checking for pCreateInfo->usage is incomplete
- this was also missing the usage flag for descriptor buffer with samplers
This fixes recent VKCTS coverage in
dEQP-VK.binding_model.descriptor_buffer.*.
Fixes: 059391b631
("radv: use 32bit va range for sparse descriptor buffers")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31054>
This commit is contained in:

committed by
Marge Bot

parent
a089d8e89b
commit
eab5b453cd
@@ -89,7 +89,8 @@ radv_create_buffer(struct radv_device *device, const VkBufferCreateInfo *pCreate
|
||||
enum radeon_bo_flag flags = RADEON_FLAG_VIRTUAL;
|
||||
if (pCreateInfo->flags & VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT)
|
||||
flags |= RADEON_FLAG_REPLAYABLE;
|
||||
if (pCreateInfo->usage & VK_BUFFER_USAGE_2_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT)
|
||||
if (buffer->vk.usage &
|
||||
(VK_BUFFER_USAGE_2_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT | VK_BUFFER_USAGE_2_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT))
|
||||
flags |= RADEON_FLAG_32BIT;
|
||||
|
||||
uint64_t replay_address = 0;
|
||||
|
Reference in New Issue
Block a user