150 if(b->bwidth <= 1 || b->bheight <= 1)
return err;
161 if(err != CL_SUCCESS)
goto error;
164 for(
int l=1;l<b->num_levels;l++)
166 const int wd =
dl(b->bwidth, l), ht =
dl(b->bheight, l);
169 if(l == b->num_levels-1)
176 if(err != CL_SUCCESS)
goto error;
192 if(err != CL_SUCCESS)
goto error;
195 for(
int l=1;l<b->num_levels;l++)
197 const int wd =
dl(b->bwidth, l), ht =
dl(b->bheight, l);
204 if(err != CL_SUCCESS)
goto error;
209 for(
int l=b->num_levels-2;l >= 0; l--)
211 const int pw =
dl(b->bwidth,l), ph =
dl(b->bheight,l);
217 dt_opencl_set_kernel_arg(b->devid, b->global->kernel_laplacian_assemble, 3,
sizeof(cl_mem), &b->dev_processed[0][l]);
218 dt_opencl_set_kernel_arg(b->devid, b->global->kernel_laplacian_assemble, 4,
sizeof(cl_mem), &b->dev_processed[0][l+1]);
219 dt_opencl_set_kernel_arg(b->devid, b->global->kernel_laplacian_assemble, 5,
sizeof(cl_mem), &b->dev_processed[1][l]);
220 dt_opencl_set_kernel_arg(b->devid, b->global->kernel_laplacian_assemble, 6,
sizeof(cl_mem), &b->dev_processed[1][l+1]);
221 dt_opencl_set_kernel_arg(b->devid, b->global->kernel_laplacian_assemble, 7,
sizeof(cl_mem), &b->dev_processed[2][l]);
222 dt_opencl_set_kernel_arg(b->devid, b->global->kernel_laplacian_assemble, 8,
sizeof(cl_mem), &b->dev_processed[2][l+1]);
223 dt_opencl_set_kernel_arg(b->devid, b->global->kernel_laplacian_assemble, 9,
sizeof(cl_mem), &b->dev_processed[3][l]);
224 dt_opencl_set_kernel_arg(b->devid, b->global->kernel_laplacian_assemble, 10,
sizeof(cl_mem), &b->dev_processed[3][l+1]);
225 dt_opencl_set_kernel_arg(b->devid, b->global->kernel_laplacian_assemble, 11,
sizeof(cl_mem), &b->dev_processed[4][l]);
226 dt_opencl_set_kernel_arg(b->devid, b->global->kernel_laplacian_assemble, 12,
sizeof(cl_mem), &b->dev_processed[4][l+1]);
227 dt_opencl_set_kernel_arg(b->devid, b->global->kernel_laplacian_assemble, 13,
sizeof(cl_mem), &b->dev_processed[5][l]);
228 dt_opencl_set_kernel_arg(b->devid, b->global->kernel_laplacian_assemble, 14,
sizeof(cl_mem), &b->dev_processed[5][l+1]);
236 if(err != CL_SUCCESS)
goto error;
248 if(err != CL_SUCCESS)
goto error;
253 fprintf(stderr,
"[local laplacian cl] failed: %d\n", err);