[mutter] clutter/blur: Shortcircuit when sigma is 0
- From: Marge Bot <marge-bot src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] clutter/blur: Shortcircuit when sigma is 0
- Date: Thu, 17 Dec 2020 03:32:31 +0000 (UTC)
commit d717cc92312c76d4944626c7b688d5b2a08c0659
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date: Tue Dec 15 09:48:01 2020 -0300
clutter/blur: Shortcircuit when sigma is 0
When there's no blur to be performed, don't do any; instead,
return the original texture, and don't run the vertical and
horizontal blur pipelines.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1637>
clutter/clutter/clutter-blur.c | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
---
diff --git a/clutter/clutter/clutter-blur.c b/clutter/clutter/clutter-blur.c
index 8c8cde9ae3..4cb3479ab1 100644
--- a/clutter/clutter/clutter-blur.c
+++ b/clutter/clutter/clutter-blur.c
@@ -355,6 +355,9 @@ clutter_blur_new (CoglTexture *texture,
blur->source_texture = cogl_object_ref (texture);
blur->downscale_factor = calculate_downscale_factor (width, height, sigma);
+ if (sigma == 0)
+ goto out;
+
vpass = &blur->pass[VERTICAL];
hpass = &blur->pass[HORIZONTAL];
@@ -365,6 +368,7 @@ clutter_blur_new (CoglTexture *texture,
return NULL;
}
+out:
return g_steal_pointer (&blur);
}
@@ -378,6 +382,9 @@ clutter_blur_new (CoglTexture *texture,
void
clutter_blur_apply (ClutterBlur *blur)
{
+ if (blur->sigma == 0)
+ return;
+
apply_blur_pass (&blur->pass[VERTICAL]);
apply_blur_pass (&blur->pass[HORIZONTAL]);
}
@@ -394,7 +401,10 @@ clutter_blur_apply (ClutterBlur *blur)
CoglTexture *
clutter_blur_get_texture (ClutterBlur *blur)
{
- return blur->pass[HORIZONTAL].texture;
+ if (blur->sigma == 0)
+ return blur->source_texture;
+ else
+ return blur->pass[HORIZONTAL].texture;
}
/**
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]