From b80d93ff49ad6666e58fca57cbb6eec4b61402b8 Mon Sep 17 00:00:00 2001 From: Georges Basile Stavracas Neto Date: Wed, 12 Apr 2023 16:49:44 -0300 Subject: [PATCH] gsk/vulkan/renderpass: Skip blur if radius is zero Shouldn't make much of a difference, but it's a small optimization nonetheless. --- gsk/vulkan/gskvulkanrenderpass.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/gsk/vulkan/gskvulkanrenderpass.c b/gsk/vulkan/gskvulkanrenderpass.c index 24432ddd06..5bd4d234af 100644 --- a/gsk/vulkan/gskvulkanrenderpass.c +++ b/gsk/vulkan/gskvulkanrenderpass.c @@ -894,6 +894,13 @@ gsk_vulkan_render_pass_add_blur_node (GskVulkanRenderPass *self, .render.node = node }; + /* Skip blur when no actual blurring will happen */ + if (G_APPROX_VALUE (gsk_blur_node_get_radius (node), 0.0, FLT_EPSILON)) + { + gsk_vulkan_render_pass_add_node (self, render, constants, gsk_blur_node_get_child (node)); + return TRUE; + } + if (gsk_vulkan_clip_contains_rect (&constants->clip, &node->bounds)) pipeline_type = GSK_VULKAN_PIPELINE_BLUR; else if (constants->clip.type == GSK_VULKAN_CLIP_RECT)