From 9359ff9c2d6185402f5d6539500832b5f06c35da Mon Sep 17 00:00:00 2001 From: Faith Ekstrand Date: Fri, 4 Aug 2023 10:39:28 -0500 Subject: [PATCH] vulkan: Use VkBufferUsageFlags2 in vk_buffer Reviewed-by: Mike Blumenkrantz Reviewed-by: Samuel Pitoiset Part-of: --- src/vulkan/runtime/vk_buffer.c | 9 ++++++++- src/vulkan/runtime/vk_buffer.h | 4 ++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/vulkan/runtime/vk_buffer.c b/src/vulkan/runtime/vk_buffer.c index 84c113e..023aafd 100644 --- a/src/vulkan/runtime/vk_buffer.c +++ b/src/vulkan/runtime/vk_buffer.c @@ -26,6 +26,7 @@ #include "vk_common_entrypoints.h" #include "vk_alloc.h" #include "vk_device.h" +#include "vk_util.h" void vk_buffer_init(struct vk_device *device, @@ -40,6 +41,12 @@ vk_buffer_init(struct vk_device *device, buffer->create_flags = pCreateInfo->flags; buffer->size = pCreateInfo->size; buffer->usage = pCreateInfo->usage; + + const VkBufferUsageFlags2CreateInfoKHR *usage2_info = + vk_find_struct_const(pCreateInfo->pNext, + BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR); + if (usage2_info != NULL) + buffer->usage = usage2_info->usage; } void * @@ -135,4 +142,4 @@ vk_common_BindBufferMemory(VkDevice _device, }; return device->dispatch_table.BindBufferMemory2(_device, 1, &bind); -} \ No newline at end of file +} diff --git a/src/vulkan/runtime/vk_buffer.h b/src/vulkan/runtime/vk_buffer.h index 15f2f68..0bd9b19 100644 --- a/src/vulkan/runtime/vk_buffer.h +++ b/src/vulkan/runtime/vk_buffer.h @@ -38,8 +38,8 @@ struct vk_buffer { /** VkBufferCreateInfo::size */ VkDeviceSize size; - /** VkBufferCreateInfo::usage */ - VkBufferUsageFlags usage; + /** VkBufferCreateInfo::usage or VkBufferUsageFlags2CreateInfoKHR::usage */ + VkBufferUsageFlags2KHR usage; }; VK_DEFINE_NONDISP_HANDLE_CASTS(vk_buffer, base, VkBuffer, VK_OBJECT_TYPE_BUFFER); -- 2.7.4