vulkan: Use VkBufferUsageFlags2 in vk_buffer
authorFaith Ekstrand <faith.ekstrand@collabora.com>
Fri, 4 Aug 2023 15:39:28 +0000 (10:39 -0500)
committerMarge Bot <emma+marge@anholt.net>
Fri, 4 Aug 2023 16:03:16 +0000 (16:03 +0000)
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24497>

src/vulkan/runtime/vk_buffer.c
src/vulkan/runtime/vk_buffer.h

index 84c113e..023aafd 100644 (file)
@@ -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
+}
index 15f2f68..0bd9b19 100644 (file)
@@ -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);