160 if(b->bwidth <= 1 || b->bheight <= 1)
return err;
171 if(err != CL_SUCCESS)
goto error;
174 for(
int l=1;l<b->num_levels;l++)
176 const int wd =
dl(b->bwidth, l), ht =
dl(b->bheight, l);
179 if(l == b->num_levels-1)
186 if(err != CL_SUCCESS)
goto error;
202 if(err != CL_SUCCESS)
goto error;
205 for(
int l=1;l<b->num_levels;l++)
207 const int wd =
dl(b->bwidth, l), ht =
dl(b->bheight, l);
214 if(err != CL_SUCCESS)
goto error;
219 for(
int l=b->num_levels-2;l >= 0; l--)
221 const int pw =
dl(b->bwidth,l), ph =
dl(b->bheight,l);
227 dt_opencl_set_kernel_arg(b->devid, b->global->kernel_laplacian_assemble, 3,
sizeof(cl_mem), &b->dev_processed[0][l]);
228 dt_opencl_set_kernel_arg(b->devid, b->global->kernel_laplacian_assemble, 4,
sizeof(cl_mem), &b->dev_processed[0][l+1]);
229 dt_opencl_set_kernel_arg(b->devid, b->global->kernel_laplacian_assemble, 5,
sizeof(cl_mem), &b->dev_processed[1][l]);
230 dt_opencl_set_kernel_arg(b->devid, b->global->kernel_laplacian_assemble, 6,
sizeof(cl_mem), &b->dev_processed[1][l+1]);
231 dt_opencl_set_kernel_arg(b->devid, b->global->kernel_laplacian_assemble, 7,
sizeof(cl_mem), &b->dev_processed[2][l]);
232 dt_opencl_set_kernel_arg(b->devid, b->global->kernel_laplacian_assemble, 8,
sizeof(cl_mem), &b->dev_processed[2][l+1]);
233 dt_opencl_set_kernel_arg(b->devid, b->global->kernel_laplacian_assemble, 9,
sizeof(cl_mem), &b->dev_processed[3][l]);
234 dt_opencl_set_kernel_arg(b->devid, b->global->kernel_laplacian_assemble, 10,
sizeof(cl_mem), &b->dev_processed[3][l+1]);
235 dt_opencl_set_kernel_arg(b->devid, b->global->kernel_laplacian_assemble, 11,
sizeof(cl_mem), &b->dev_processed[4][l]);
236 dt_opencl_set_kernel_arg(b->devid, b->global->kernel_laplacian_assemble, 12,
sizeof(cl_mem), &b->dev_processed[4][l+1]);
237 dt_opencl_set_kernel_arg(b->devid, b->global->kernel_laplacian_assemble, 13,
sizeof(cl_mem), &b->dev_processed[5][l]);
238 dt_opencl_set_kernel_arg(b->devid, b->global->kernel_laplacian_assemble, 14,
sizeof(cl_mem), &b->dev_processed[5][l+1]);
246 if(err != CL_SUCCESS)
goto error;
258 if(err != CL_SUCCESS)
goto error;
263 fprintf(stderr,
"[local laplacian cl] failed: %d\n", err);