vulkan: Use the right flags
authorBenjamin Otte <otte@redhat.com>
Tue, 20 Jun 2023 13:32:23 +0000 (15:32 +0200)
committerBenjamin Otte <otte@redhat.com>
Tue, 20 Jun 2023 18:15:12 +0000 (20:15 +0200)
Somebody (me) had flipped the 2 flags in commit ba28971a183:

[ VUID-vkCmdCopyBufferToImage-srcBuffer-00174 ] Object 0: handle = 0x3cfaac0, type = VK_OBJECT_TYPE_COMMAND_BUFFER; Object 1: handle = 0x430000000043, type = VK_OBJECT_TYPE_BUFFER; | MessageID = 0xe1b276a1 | Invalid usage flag for VkBuffer 0x430000000043[] used by vkCmdCopyBufferToImage. In this case, VkBuffer should have VK_BUFFER_USAGE_TRANSFER_SRC_BIT set during creation. The Vulkan spec states: srcBuffer must have been created with VK_BUFFER_USAGE_TRANSFER_SRC_BIT usage flag (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkCmdCopyBufferToImage-srcBuffer-00174)

gsk/vulkan/gskvulkanbuffer.c

index 90bdf8b753f27b4f7185d4c81df35357e9ddb8e2..cd7b8a01cba293241bdb9c11a0debf38bc17fd9f 100644 (file)
@@ -78,8 +78,8 @@ gsk_vulkan_buffer_new_map (GdkVulkanContext  *context,
 {
   return gsk_vulkan_buffer_new_internal (context,
                                          size,
-                                         (mode & GSK_VULKAN_READ ? VK_BUFFER_USAGE_TRANSFER_SRC_BIT : 0) |
-                                         (mode & GSK_VULKAN_WRITE ? VK_BUFFER_USAGE_TRANSFER_DST_BIT : 0));
+                                         (mode & GSK_VULKAN_READ ? VK_BUFFER_USAGE_TRANSFER_DST_BIT : 0) |
+                                         (mode & GSK_VULKAN_WRITE ? VK_BUFFER_USAGE_TRANSFER_SRC_BIT : 0));
 }
 
 void