[Pixman] [PATCH v13 03/14] demos/scale: Only generate filters when used for separable

spitzak at gmail.com spitzak at gmail.com
Wed Feb 10 07:25:21 CET 2016


From: Bill Spitzak <spitzak at gmail.com>

This makes the speed of the demo more accurate, as the filter generation
is a visible fraction of the time it takes to do a transform. This also
prevents the output of unused filters in the gnuplot option in the next
patch.

Signed-off-by: Bill Spitzak <spitzak at gmail.com>
Reviewed-by: Oded Gabbay <oded.gabbay at gmail.com>
---
 demos/scale.c | 29 +++++++++++++++++++----------
 1 file changed, 19 insertions(+), 10 deletions(-)

diff --git a/demos/scale.c b/demos/scale.c
index 06821e3..6d7ad2a 100644
--- a/demos/scale.c
+++ b/demos/scale.c
@@ -258,16 +258,25 @@ rescale (GtkWidget *may_be_null, app_t *app)
     pixman_transform_from_pixman_f_transform (&transform, &ftransform);
     pixman_image_set_transform (app->original, &transform);
 
-    params = pixman_filter_create_separable_convolution (
-        &n_params,
-        sx * 65536.0 + 0.5,
-	sy * 65536.0 + 0.5,
-	get_value (app, filters, "reconstruct_x_combo_box"),
-	get_value (app, filters, "reconstruct_y_combo_box"),
-	get_value (app, filters, "sample_x_combo_box"),
-	get_value (app, filters, "sample_y_combo_box"),
-	gtk_adjustment_get_value (app->subsample_adjustment),
-	gtk_adjustment_get_value (app->subsample_adjustment));
+    if (get_value (app, filter_types, "filter_combo_box") ==
+	PIXMAN_FILTER_SEPARABLE_CONVOLUTION)
+    {
+	params = pixman_filter_create_separable_convolution (
+	    &n_params,
+	    sx * 65536.0 + 0.5,
+	    sy * 65536.0 + 0.5,
+	    get_value (app, filters, "reconstruct_x_combo_box"),
+	    get_value (app, filters, "reconstruct_y_combo_box"),
+	    get_value (app, filters, "sample_x_combo_box"),
+	    get_value (app, filters, "sample_y_combo_box"),
+	    gtk_adjustment_get_value (app->subsample_adjustment),
+	    gtk_adjustment_get_value (app->subsample_adjustment));
+    }
+    else
+    {
+	params = 0;
+	n_params = 0;
+    }
 
     pixman_image_set_filter (app->original,
 	get_value (app, filter_types, "filter_combo_box"),
-- 
1.9.1



More information about the Pixman mailing list