From: Benjamin Otte Date: Wed, 14 Jun 2023 00:14:40 +0000 (+0200) Subject: vulkan: Use new upload method for texture uploads X-Git-Tag: archive/raspbian/4.12.3+ds-1+rpi1~1^2^2^2~22^2~1^2~144^2~6 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=c27e412ff105324e9493b7bdf7d398676890f4e2;p=gtk4.git vulkan: Use new upload method for texture uploads gsk_vulkan_image_new_from_texture() now uses the direct copy via gdk_texture_downloader_download_into(). --- diff --git a/gsk/vulkan/gskvulkanimage.c b/gsk/vulkan/gskvulkanimage.c index 4e5ab9fd7c..5ffaf0fde6 100644 --- a/gsk/vulkan/gskvulkanimage.c +++ b/gsk/vulkan/gskvulkanimage.c @@ -535,17 +535,15 @@ gsk_vulkan_image_new_from_texture (GskVulkanUploader *uploader, { GdkTextureDownloader *downloader; GskVulkanImage *result; - GBytes *bytes; - gsize stride; + GskVulkanImageMap map; downloader = gdk_texture_downloader_new (texture); - bytes = gdk_texture_downloader_download_bytes (downloader, &stride); - result = gsk_vulkan_image_new_from_data (uploader, - g_bytes_get_data (bytes, NULL), - gdk_texture_get_width (texture), - gdk_texture_get_height (texture), - stride); - g_bytes_unref (bytes); + result = gsk_vulkan_image_new_for_upload (uploader, + gdk_texture_get_width (texture), + gdk_texture_get_height (texture)); + gsk_vulkan_image_map_memory (result, uploader, &map); + gdk_texture_downloader_download_into (downloader, map.data, map.stride); + gsk_vulkan_image_unmap_memory (result, uploader, &map); gdk_texture_downloader_free (downloader); return result; }