From: Benjamin Otte Date: Sat, 31 Mar 2018 06:17:42 +0000 (+0200) Subject: vulkan: Always render clip extents X-Git-Tag: archive/raspbian/4.4.1+ds1-2+rpi1^2~18^2~22^2~669 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=0f184d3270cfac522a05ae06d28cc2f1e32c0e6d;p=gtk4.git vulkan: Always render clip extents Now that we have the full render nodes available, there is not much benefit in fine-grained control over multiple rectangles. In particular, it's causing pain with complex regions. There might be a benefit in clipping to the region's rectangles in cases like widget-factory where the whole diff is made up of the 2 rectangles of spinner and the pulsing progress bar, but it needs a good heuristic for where this is useful. --- diff --git a/gsk/vulkan/gskvulkanrender.c b/gsk/vulkan/gskvulkanrender.c index a544f5df72..29c54aae3a 100644 --- a/gsk/vulkan/gskvulkanrender.c +++ b/gsk/vulkan/gskvulkanrender.c @@ -86,7 +86,12 @@ gsk_vulkan_render_setup (GskVulkanRender *self, } if (clip) { - self->clip = cairo_region_reference ((cairo_region_t *) clip); + cairo_rectangle_int_t extents; + cairo_region_get_extents (clip, &extents); + self->clip = cairo_region_create_rectangle (&(cairo_rectangle_int_t) { + extents.x, extents.y, + extents.width, extents.height + }); } else {