53 gboolean valid =
FALSE;
55 GList *source_iter = NULL;
56 for(GList *iter = g_list_first(pipe->
nodes); iter; iter = g_list_next(iter))
59 if(candidate->module == target_module) target_piece = candidate;
60 if((
IS_NULL_PTR(source_iter)) && (!strcmp(candidate->module->op,
"detailmask")) && candidate->
enabled)
67 if(!valid)
return NULL;
80 for(GList *iter = g_list_next(source_iter); iter; iter = g_list_next(iter))
86 if(module->module->distort_mask
87 && !(!strcmp(module->module->op,
"finalscale")
88 && module->roi_in.width == 0
89 && module->roi_in.height == 0))
92 (
size_t)module->roi_out.width * module->roi_out.height, 0);
94 module->roi_in.width, module->roi_in.height,
95 module->roi_out.width, module->roi_out.height);
96 module->module->distort_mask(module->module, (dt_dev_pixelpipe_t *)pipe, module, inmask, tmp,
97 &module->roi_in, &module->roi_out);
101 current_roi =
module->roi_out;
103 else if(!module->module->distort_mask
104 && (module->roi_in.width != module->roi_out.width
105 || module->roi_in.height != module->roi_out.height
106 || module->roi_in.x != module->roi_out.x
107 || module->roi_in.y != module->roi_out.y))
108 fprintf(stderr,
"FIXME: module `%s' changed the roi from %d x %d @ %d / %d to %d x %d | %d / %d but doesn't have "
109 "distort_mask() implemented!\n", module->module->op, module->roi_in.width,
110 module->roi_in.height, module->roi_in.x, module->roi_in.y,
111 module->roi_out.width, module->roi_out.height, module->roi_out.x,
114 if(module->module == target_module)
break;
123 || current_roi.
x != target_piece->
roi_out.
x
124 || current_roi.
y != target_piece->
roi_out.
y))
void dt_interpolation_resample_roi_1c(const struct dt_interpolation *itor, float *out, const dt_iop_roi_t *const roi_out, const float *const in, const dt_iop_roi_t *const roi_in)
void dt_dev_pixelpipe_cache_ref_count_entry(dt_dev_pixelpipe_cache_t *cache, gboolean lock, dt_pixel_cache_entry_t *cache_entry)
Increase/Decrease the reference count on the cache line as to prevent LRU item removal....
gboolean dt_dev_pixelpipe_cache_peek(dt_dev_pixelpipe_cache_t *cache, const uint64_t hash, void **data, dt_pixel_cache_entry_t **entry, const int preferred_devid, void **cl_mem_output)
Non-owning lookup of an existing cache line.