anv: fix extended buffer flags usages
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: bcc0ec8e6c ("anv: enable KHR_maintenance5")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30714>
This commit is contained in:
committed by
Marge Bot
parent
eacb8f85a2
commit
9eff285a46
@@ -53,7 +53,7 @@ static void
|
||||
anv_get_buffer_memory_requirements(struct anv_device *device,
|
||||
VkBufferCreateFlags flags,
|
||||
VkDeviceSize size,
|
||||
VkBufferUsageFlags usage,
|
||||
VkBufferUsageFlags2KHR usage,
|
||||
bool is_sparse,
|
||||
VkMemoryRequirements2* pMemoryRequirements)
|
||||
{
|
||||
@@ -69,8 +69,8 @@ anv_get_buffer_memory_requirements(struct anv_device *device,
|
||||
uint32_t memory_types;
|
||||
if (flags & VK_BUFFER_CREATE_PROTECTED_BIT)
|
||||
memory_types = device->physical->memory.protected_mem_types;
|
||||
else if (usage & (VK_BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT |
|
||||
VK_BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT))
|
||||
else if (usage & (VK_BUFFER_USAGE_2_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT |
|
||||
VK_BUFFER_USAGE_2_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT))
|
||||
memory_types = device->physical->memory.dynamic_visible_mem_types;
|
||||
else
|
||||
memory_types = device->physical->memory.default_buffer_mem_types;
|
||||
@@ -124,6 +124,15 @@ anv_get_buffer_memory_requirements(struct anv_device *device,
|
||||
}
|
||||
}
|
||||
|
||||
static VkBufferUsageFlags2KHR
|
||||
get_buffer_usages(const VkBufferCreateInfo *create_info)
|
||||
{
|
||||
const VkBufferUsageFlags2CreateInfoKHR *usage2_info =
|
||||
vk_find_struct_const(create_info->pNext,
|
||||
BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR);
|
||||
return usage2_info != NULL ? usage2_info->usage : create_info->usage;
|
||||
}
|
||||
|
||||
void anv_GetDeviceBufferMemoryRequirements(
|
||||
VkDevice _device,
|
||||
const VkDeviceBufferMemoryRequirements* pInfo,
|
||||
@@ -132,6 +141,7 @@ void anv_GetDeviceBufferMemoryRequirements(
|
||||
ANV_FROM_HANDLE(anv_device, device, _device);
|
||||
const bool is_sparse =
|
||||
pInfo->pCreateInfo->flags & VK_BUFFER_CREATE_SPARSE_BINDING_BIT;
|
||||
VkBufferUsageFlags2KHR usages = get_buffer_usages(pInfo->pCreateInfo);
|
||||
|
||||
if ((device->physical->sparse_type == ANV_SPARSE_TYPE_NOT_SUPPORTED) &&
|
||||
INTEL_DEBUG(DEBUG_SPARSE) &&
|
||||
@@ -144,7 +154,7 @@ void anv_GetDeviceBufferMemoryRequirements(
|
||||
anv_get_buffer_memory_requirements(device,
|
||||
pInfo->pCreateInfo->flags,
|
||||
pInfo->pCreateInfo->size,
|
||||
pInfo->pCreateInfo->usage,
|
||||
usages,
|
||||
is_sparse,
|
||||
pMemoryRequirements);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user