vulkan: Pass context, not uploader
authorBenjamin Otte <otte@redhat.com>
Sat, 24 Jun 2023 20:23:04 +0000 (22:23 +0200)
committerBenjamin Otte <otte@redhat.com>
Sun, 16 Jul 2023 10:12:36 +0000 (12:12 +0200)
We don't need the uploader when creating the image, only when uploading.

gsk/vulkan/gskvulkanimage.c
gsk/vulkan/gskvulkanimageprivate.h
gsk/vulkan/gskvulkanrenderpass.c

index 709584e02ca36b6fc2bdbb0e46cb2e5ca8beec79..d13ecbc43271ee306e608efa0a176cc828ca0831 100644 (file)
@@ -617,7 +617,7 @@ gsk_vulkan_image_new_from_texture (GskVulkanUploader *uploader,
   GskVulkanImageMap map;
 
   downloader = gdk_texture_downloader_new (texture);
-  result = gsk_vulkan_image_new_for_upload (uploader,
+  result = gsk_vulkan_image_new_for_upload (uploader->vulkan,
                                             gdk_texture_get_format (texture),
                                             gdk_texture_get_width (texture),
                                             gdk_texture_get_height (texture));
@@ -630,14 +630,14 @@ gsk_vulkan_image_new_from_texture (GskVulkanUploader *uploader,
 }
 
 GskVulkanImage *
-gsk_vulkan_image_new_for_upload (GskVulkanUploader *uploader,
+gsk_vulkan_image_new_for_upload (GdkVulkanContext  *context,
                                  GdkMemoryFormat    format,
                                  gsize              width,
                                  gsize              height)
 {
   GskVulkanImage *self;
 
-  self = gsk_vulkan_image_new (uploader->vulkan,
+  self = gsk_vulkan_image_new (context,
                                format,
                                width,
                                height,
index 401711fd9e6e3b7567b0f2635202e4856729db38..44423341e11783d190a665cf44d29f8056637ab2 100644 (file)
@@ -65,7 +65,7 @@ struct _GskVulkanImageMap
   GskVulkanBuffer *staging_buffer;
 };
 
-GskVulkanImage *        gsk_vulkan_image_new_for_upload                 (GskVulkanUploader      *uploader,
+GskVulkanImage *        gsk_vulkan_image_new_for_upload                 (GdkVulkanContext       *context,
                                                                          GdkMemoryFormat         format,
                                                                          gsize                   width,
                                                                          gsize                   height);
index b41bf16363308f7edf21e09b615e4334427dd954..1633e568d43fa031b74ecead7772145625559fc8 100644 (file)
@@ -1429,7 +1429,7 @@ gsk_vulkan_render_pass_get_node_as_texture (GskVulkanRenderPass    *self,
   width = ceil (node->bounds.size.width * graphene_vec2_get_x (scale));
   height = ceil (node->bounds.size.height * graphene_vec2_get_y (scale));
 
-  result = gsk_vulkan_image_new_for_upload (uploader, GDK_MEMORY_DEFAULT, width, height);
+  result = gsk_vulkan_image_new_for_upload (self->vulkan, GDK_MEMORY_DEFAULT, width, height);
   gsk_vulkan_image_map_memory (result, uploader, GSK_VULKAN_WRITE, &map);
   surface = cairo_image_surface_create_for_data (map.data,
                                                  CAIRO_FORMAT_ARGB32,
@@ -1490,7 +1490,7 @@ gsk_vulkan_render_pass_upload_fallback (GskVulkanRenderPass  *self,
   width = ceil (node->bounds.size.width * graphene_vec2_get_x (&self->scale));
   height = ceil (node->bounds.size.height * graphene_vec2_get_y (&self->scale));
 
-  op->source = gsk_vulkan_image_new_for_upload (uploader, GDK_MEMORY_DEFAULT, width, height);
+  op->source = gsk_vulkan_image_new_for_upload (self->vulkan, GDK_MEMORY_DEFAULT, width, height);
   gsk_vulkan_image_map_memory (op->source, uploader, GSK_VULKAN_WRITE, &map);
   surface = cairo_image_surface_create_for_data (map.data,
                                                  CAIRO_FORMAT_ARGB32,