Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 3 additions & 15 deletions src/develop/pixelpipe_hb.c
Original file line number Diff line number Diff line change
Expand Up @@ -1407,18 +1407,8 @@ static gboolean _pixelpipe_process_on_CPU(dt_dev_pixelpipe_t *pipe,
roi_in->width, roi_in->height,
cst_from, cst_to, &input_format->cst,
work_profile);
/* We just have changed the input data if cst_from != cst_to so
the cacheline cst does not reflect the module input colorspace any more!
Note: in opencl code path this is different as the in-data colorspace conversion
is always done in cl_mem and thus does not affect pipecache.

Possible ways to handle this:
1. for now we just invalidate that cacheline so if the pipe is reprocessed we won't
use wrong data.
2. we should implement code for the pipe cache that modifies the data cst.
*/
if(cst_from != cst_to)
dt_dev_pixelpipe_invalidate_cacheline(pipe, input);
// input_format points into cache->dsc[k]; dt_ioppr_transform_image_colorspace already
// wrote the resulting colorspace back via &input_format->cst, so cache metadata is correct.

if(_pipe_has_shutdown(pipe))
return TRUE;
Expand Down Expand Up @@ -2485,9 +2475,7 @@ static gboolean _dev_pixelpipe_process_rec(dt_dev_pixelpipe_t *pipe,
roi_in.width, roi_in.height,
input_format->cst, cst_to, &input_format->cst,
work_profile);
// the cacheline cst does not reflect the module input colorspace any more!
// FIXME let's invalidate for now
dt_dev_pixelpipe_invalidate_cacheline(pipe, input);
// input_format points into cache->dsc[k]; cst already updated via &input_format->cst.
}

// histogram collection for module
Expand Down
Loading