[gegl] box-blur: use only one code path for opencl
- From: Øyvind Kolås <ok src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gegl] box-blur: use only one code path for opencl
- Date: Tue, 14 Nov 2017 16:38:38 +0000 (UTC)
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]