54 gboolean valid =
FALSE;
56 GList *source_iter = NULL;
57 for(GList *iter = g_list_first(pipe->
nodes); iter; iter = g_list_next(iter))
60 if(candidate->module == target_module) target_piece = candidate;
61 if((
IS_NULL_PTR(source_iter)) && (!strcmp(candidate->module->op,
"detailmask")) && candidate->
enabled)
68 if(!valid)
return NULL;
81 for(GList *iter = g_list_next(source_iter); iter; iter = g_list_next(iter))
87 if(module->module->distort_mask
88 && !(!strcmp(module->module->op,
"finalscale")
89 && module->roi_in.width == 0
90 && module->roi_in.height == 0))
93 (
size_t)module->roi_out.width * module->roi_out.height, 0);
95 module->roi_in.width, module->roi_in.height,
96 module->roi_out.width, module->roi_out.height);
97 module->module->distort_mask(module->module, (dt_dev_pixelpipe_t *)pipe, module, inmask, tmp,
98 &module->roi_in, &module->roi_out);
102 current_roi =
module->roi_out;
104 else if(!module->module->distort_mask
105 && (module->roi_in.width != module->roi_out.width
106 || module->roi_in.height != module->roi_out.height
107 || module->roi_in.x != module->roi_out.x
108 || module->roi_in.y != module->roi_out.y))
109 fprintf(stderr,
"FIXME: module `%s' changed the roi from %d x %d @ %d / %d to %d x %d | %d / %d but doesn't have "
110 "distort_mask() implemented!\n", module->module->op, module->roi_in.width,
111 module->roi_in.height, module->roi_in.x, module->roi_in.y,
112 module->roi_out.width, module->roi_out.height, module->roi_out.x,
115 if(module->module == target_module)
break;
124 || current_roi.
x != target_piece->
roi_out.
x
125 || 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 void void dt_vprint(dt_debug_thread_t thread, const char *msg,...) __attribute__((format(printf
dt_print() that additionally requires DT_DEBUG_VERBOSE to be enabled, i.e. both -d <channel> and -d v...
gboolean dt_dev_pixelpipe_cache_peek(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.