From: Benjamin Otte Date: Fri, 14 Jul 2023 20:21:09 +0000 (+0200) Subject: vulkan: Simplify render API X-Git-Tag: archive/raspbian/4.12.3+ds-1+rpi1~1^2^2^2~22^2~1^2~60^2~9 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=3327a6ba0837e001d9e2b58789448faf430cdae8;p=gtk4.git vulkan: Simplify render API Merge reset() and draw() into a single render() function. Also clean up some naming on the way. --- diff --git a/gsk/vulkan/gskvulkanrender.c b/gsk/vulkan/gskvulkanrender.c index 029abd36c2..155ad9dba1 100644 --- a/gsk/vulkan/gskvulkanrender.c +++ b/gsk/vulkan/gskvulkanrender.c @@ -876,8 +876,8 @@ gsk_vulkan_render_collect_vertex_buffer (GskVulkanRender *self) gsk_vulkan_buffer_unmap (self->vertex_buffer); } -void -gsk_vulkan_render_draw (GskVulkanRender *self) +static void +gsk_vulkan_render_submit (GskVulkanRender *self) { VkCommandBuffer command_buffer; GskVulkanOp *op; @@ -1067,17 +1067,19 @@ gsk_vulkan_render_is_busy (GskVulkanRender *self) } void -gsk_vulkan_render_reset (GskVulkanRender *self, - GskVulkanImage *target, - const graphene_rect_t *rect, - const cairo_region_t *clip, - GskRenderNode *node) +gsk_vulkan_render_render (GskVulkanRender *self, + GskVulkanImage *target, + const graphene_rect_t *rect, + const cairo_region_t *clip, + GskRenderNode *node) { gsk_vulkan_render_cleanup (self); gsk_vulkan_render_setup (self, target, rect, clip); gsk_vulkan_render_add_node (self, node); + + gsk_vulkan_render_submit (self); } GskRenderer * diff --git a/gsk/vulkan/gskvulkanrenderer.c b/gsk/vulkan/gskvulkanrenderer.c index 2853b8a435..40eb796b7a 100644 --- a/gsk/vulkan/gskvulkanrenderer.c +++ b/gsk/vulkan/gskvulkanrenderer.c @@ -292,8 +292,7 @@ gsk_vulkan_renderer_render_texture (GskRenderer *renderer, rounded_viewport.size.width, rounded_viewport.size.height); - gsk_vulkan_render_reset (render, image, &rounded_viewport, NULL, root); - gsk_vulkan_render_draw (render); + gsk_vulkan_render_render (render, image, &rounded_viewport, NULL, root); texture = gsk_vulkan_render_download_target (render); @@ -350,8 +349,7 @@ gsk_vulkan_renderer_render (GskRenderer *renderer, render_region = get_render_region (self); draw_index = gdk_vulkan_context_get_draw_index (self->vulkan); - gsk_vulkan_render_reset (render, self->targets[draw_index], NULL, render_region, root); - gsk_vulkan_render_draw (render); + gsk_vulkan_render_render (render, self->targets[draw_index], NULL, render_region, root); #ifdef G_ENABLE_DEBUG gsk_profiler_counter_inc (profiler, self->profile_counters.frames); diff --git a/gsk/vulkan/gskvulkanrenderprivate.h b/gsk/vulkan/gskvulkanrenderprivate.h index 04da854101..9e24e155fb 100644 --- a/gsk/vulkan/gskvulkanrenderprivate.h +++ b/gsk/vulkan/gskvulkanrenderprivate.h @@ -20,7 +20,7 @@ GskVulkanRender * gsk_vulkan_render_new (GskRend void gsk_vulkan_render_free (GskVulkanRender *self); gboolean gsk_vulkan_render_is_busy (GskVulkanRender *self); -void gsk_vulkan_render_reset (GskVulkanRender *self, +void gsk_vulkan_render_render (GskVulkanRender *self, GskVulkanImage *target, const graphene_rect_t *rect, const cairo_region_t *clip, @@ -51,8 +51,6 @@ guchar * gsk_vulkan_render_get_buffer_memory (GskVulk gsize alignment, gsize *out_offset); -void gsk_vulkan_render_draw (GskVulkanRender *self); - GdkTexture * gsk_vulkan_render_download_target (GskVulkanRender *self); VkFence gsk_vulkan_render_get_fence (GskVulkanRender *self);