From: Benjamin Otte Date: Tue, 9 May 2023 20:25:22 +0000 (+0200) Subject: vulkan: offscreens are used as color attachments X-Git-Tag: archive/raspbian/4.12.3+ds-1+rpi1~1^2^2^2~22^2~1^2~185^2~58 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=d2f45dae9608b3c65b44e8904996b8a4ee788d4e;p=gtk4.git vulkan: offscreens are used as color attachments ... so set the corresponding flag. Also name the function "new_for_offscreen()" because thats what this function is about, "texture" is ambiguous. --- diff --git a/gsk/vulkan/gskvulkanimage.c b/gsk/vulkan/gskvulkanimage.c index 075e2501f4..b6b44ecc8c 100644 --- a/gsk/vulkan/gskvulkanimage.c +++ b/gsk/vulkan/gskvulkanimage.c @@ -606,9 +606,9 @@ gsk_vulkan_image_new_for_atlas (GdkVulkanContext *context, } GskVulkanImage * -gsk_vulkan_image_new_for_texture (GdkVulkanContext *context, - gsize width, - gsize height) +gsk_vulkan_image_new_for_offscreen (GdkVulkanContext *context, + gsize width, + gsize height) { GskVulkanImage *self; @@ -620,7 +620,7 @@ gsk_vulkan_image_new_for_texture (GdkVulkanContext *context, VK_IMAGE_USAGE_SAMPLED_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT, VK_IMAGE_LAYOUT_UNDEFINED, - 0, + VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT); gsk_vulkan_image_ensure_view (self, VK_FORMAT_B8G8R8A8_UNORM); diff --git a/gsk/vulkan/gskvulkanimageprivate.h b/gsk/vulkan/gskvulkanimageprivate.h index fe82d74922..25c7cb3650 100644 --- a/gsk/vulkan/gskvulkanimageprivate.h +++ b/gsk/vulkan/gskvulkanimageprivate.h @@ -49,7 +49,7 @@ GskVulkanImage * gsk_vulkan_image_new_for_framebuffer (GdkVulk GskVulkanImage * gsk_vulkan_image_new_for_atlas (GdkVulkanContext *context, gsize width, gsize height); -GskVulkanImage * gsk_vulkan_image_new_for_texture (GdkVulkanContext *context, +GskVulkanImage * gsk_vulkan_image_new_for_offscreen (GdkVulkanContext *context, gsize width, gsize height); diff --git a/gsk/vulkan/gskvulkanrenderpass.c b/gsk/vulkan/gskvulkanrenderpass.c index 78c3911560..5dc52f85ee 100644 --- a/gsk/vulkan/gskvulkanrenderpass.c +++ b/gsk/vulkan/gskvulkanrenderpass.c @@ -1058,9 +1058,9 @@ gsk_vulkan_render_pass_get_node_as_texture (GskVulkanRenderPass *self, view.size.width = ceil (view.size.width); view.size.height = ceil (view.size.height); - result = gsk_vulkan_image_new_for_texture (self->vulkan, - view.size.width, - view.size.height); + result = gsk_vulkan_image_new_for_offscreen (self->vulkan, + view.size.width, + view.size.height); #ifdef G_ENABLE_DEBUG {