[gegl] box-blur: use only one code path for opencl



commit ea4d21761227daab7554e628457f341c4dab8284
Author: Øyvind Kolås <pippin gimp org>
Date:   Tue Nov 14 17:37:49 2017 +0100

    box-blur: use only one code path for opencl

 operations/common/box-blur.c |   20 +++++++++++++-------
 1 files changed, 13 insertions(+), 7 deletions(-)
---
diff --git a/operations/common/box-blur.c b/operations/common/box-blur.c
index 40c0f26..e2f6190 100644
--- a/operations/common/box-blur.c
+++ b/operations/common/box-blur.c
@@ -194,9 +194,7 @@ cl_box_blur (cl_mem                in_tex,
              gint                  radius)
 {
   cl_int cl_err = 0;
-  size_t global_ws_hor[2], global_ws_ver[2], global_ws[2];
-  size_t local_ws_hor[2], local_ws_ver[2], local_ws[2];
-  size_t step_size ;
+  
   if (!cl_data)
     {
       const char *kernel_name[] = { "kernel_blur_hor", "kernel_blur_ver","kernel_box_blur_fast", NULL};
@@ -205,13 +203,17 @@ cl_box_blur (cl_mem                in_tex,
 
   if (!cl_data)
     return TRUE;
-  step_size = 64;
-  local_ws[0]=256;
-  local_ws[1]=1;
-
 
+#if 0
+  /* XXX: this code path is commented out, because it introduces vertical stripes/gaps,
+          wheras the generic code path does not.  */
   if( radius <=110 )
   {
+    size_t global_ws[2];
+    local_ws[2];
+    size_t step_size = 64;
+    local_ws[0]=256;
+    local_ws[1]=1;
     global_ws[0] = (roi->width + local_ws[0] - 2 * radius - 1) / ( local_ws[0] - 2 * radius ) * local_ws[0];
     global_ws[1] = (roi->height + step_size - 1) / step_size;
     cl_err = gegl_cl_set_kernel_args(cl_data->kernel[2],
@@ -230,7 +232,11 @@ cl_box_blur (cl_mem                in_tex,
 
   }
   else
+#endif
   {
+    size_t global_ws_hor[2], global_ws_ver[2];
+    size_t local_ws_hor[2], local_ws_ver[2];
+
     local_ws_hor[0] = 1;
     local_ws_hor[1] = 256;
     global_ws_hor[0] = roi->height + 2 * radius;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]