48struct dt_dev_raster_mask_t;
482#define dt_dev_pixelpipe_synch_all(pipe) dt_dev_pixelpipe_synch_all_real(pipe, __FUNCTION__)
static void error(char *msg)
Definition ashift_lsd.c:202
void dt_atomic_set_int(dt_atomic_int *var, int value)
int dt_atomic_get_int(dt_atomic_int *var)
uint64_t dt_atomic_get_uint64(const dt_atomic_uint64 *var)
void dt_atomic_set_uint64(dt_atomic_uint64 *var, uint64_t value)
void dt_atomic_or_int(dt_atomic_int *var, int flags)
static void * dt_atomic_get_ptr(const dt_atomic_ptr *var)
Definition atomic.h:74
atomic_int dt_atomic_int
Definition atomic.h:66
static void dt_atomic_set_ptr(dt_atomic_ptr *var, void *value)
Definition atomic.h:73
int levels(struct dt_imageio_module_data_t *data)
Definition avif.c:635
int width
Definition bilateral.h:1
int height
Definition bilateral.h:1
dt_iop_color_intent_t
Definition colorspaces.h:63
dt_colorspaces_color_profile_type_t
Definition colorspaces.h:81
#define IS_NULL_PTR(p)
C is way too permissive with !=, == and if(var) checks, which can mean too many things depending on w...
Definition darktable.h:281
dt_imageio_levels_t
Definition imageio.h:61
const float v
Definition iop_profile.h:221
float iscale
Definition mipmap_cache.c:2
size_t size
Definition mipmap_cache.c:3
dt_mipmap_buffer_dsc_flags flags
Definition mipmap_cache.c:4
dt_mipmap_size_t
Definition mipmap_cache.h:41
dt_dev_request_flags_t
Definition pixelpipe.h:46
dt_dev_pixelpipe_type_t
Definition pixelpipe.h:36
Pixelpipe cache for storing intermediate results in the pixelpipe.
void dt_dev_pixelpipe_set_input(dt_dev_pixelpipe_t *pipe, int32_t imgid, int width, int height, float iscale, dt_mipmap_size_t size)
Definition pixelpipe_hb.c:466
void dt_dev_pixelpipe_disable_before(dt_dev_pixelpipe_t *pipe, const char *op)
Definition pixelpipe_hb.c:1145
static dt_dev_pixelpipe_cache_request_t dt_dev_pixelpipe_get_cache_request(const dt_dev_pixelpipe_t *pipe)
Definition pixelpipe_hb.h:408
int dt_dev_pixelpipe_init_preview(dt_dev_pixelpipe_t *pipe, struct dt_develop_t *dev)
Definition pixelpipe_hb.c:401
void dt_dev_pixelpipe_synch_top(dt_dev_pixelpipe_t *pipe)
Definition dev_pixelpipe.c:1007
void dt_dev_pixelpipe_reset_reentry(dt_dev_pixelpipe_t *pipe)
Definition pixelpipe_hb.c:564
static void dt_dev_pixelpipe_set_hash(dt_dev_pixelpipe_t *pipe, const uint64_t hash)
Definition pixelpipe_hb.h:378
static dt_dev_pixelpipe_change_t dt_dev_pixelpipe_get_changed(const dt_dev_pixelpipe_t *pipe)
Definition pixelpipe_hb.h:393
int dt_dev_pixelpipe_init_cached(dt_dev_pixelpipe_t *pipe)
Definition pixelpipe_hb.c:425
gboolean dt_dev_pixelpipe_has_reentry(dt_dev_pixelpipe_t *pipe)
Definition pixelpipe_hb.c:559
void dt_dev_pixelpipe_disable_after(dt_dev_pixelpipe_t *pipe, const char *op)
Definition pixelpipe_hb.c:1131
static uint64_t dt_dev_backbuf_get_history_hash(const dt_backbuf_t *backbuf)
Definition pixelpipe_hb.h:207
static const struct dt_iop_module_t * dt_dev_pixelpipe_get_cache_request_module(const dt_dev_pixelpipe_t *pipe)
Definition pixelpipe_hb.h:414
float * dt_dev_retrieve_rawdetail_mask(const dt_dev_pixelpipe_t *pipe, const struct dt_iop_module_t *target_module)
static uint64_t dt_dev_pixelpipe_get_hash(const dt_dev_pixelpipe_t *pipe)
Definition pixelpipe_hb.h:373
static void dt_dev_pixelpipe_or_changed(dt_dev_pixelpipe_t *pipe, const dt_dev_pixelpipe_change_t flags)
Definition pixelpipe_hb.h:403
static void dt_dev_pixelpipe_reset_cache_request(dt_dev_pixelpipe_t *pipe)
Definition pixelpipe_hb.h:428
gboolean dt_dev_pixelpipe_get_realtime(const dt_dev_pixelpipe_t *pipe)
Definition pixelpipe_hb.c:461
static void dt_dev_pixelpipe_set_cache_request(dt_dev_pixelpipe_t *pipe, const dt_dev_pixelpipe_cache_request_t request, const struct dt_iop_module_t *module)
Definition pixelpipe_hb.h:419
dt_dev_pixelpipe_change_t
Definition pixelpipe_hb.h:165
@ DT_DEV_PIPE_ZOOMED
Definition pixelpipe_hb.h:171
@ DT_DEV_PIPE_CACHE_REQUEST
Definition pixelpipe_hb.h:172
@ DT_DEV_PIPE_SYNCH
Definition pixelpipe_hb.h:169
@ DT_DEV_PIPE_TOP_CHANGED
Definition pixelpipe_hb.h:167
@ DT_DEV_PIPE_REMOVE
Definition pixelpipe_hb.h:168
@ DT_DEV_PIPE_UNCHANGED
Definition pixelpipe_hb.h:166
static uint64_t dt_dev_pixelpipe_get_history_hash(const dt_dev_pixelpipe_t *pipe)
Definition pixelpipe_hb.h:383
int dt_dev_pixelpipe_init_thumbnail(dt_dev_pixelpipe_t *pipe, struct dt_develop_t *dev)
Definition pixelpipe_hb.c:383
void dt_dev_pixelpipe_set_icc(dt_dev_pixelpipe_t *pipe, dt_colorspaces_color_profile_type_t icc_type, const gchar *icc_filename, dt_iop_color_intent_t icc_intent)
Definition pixelpipe_hb.c:477
static void dt_dev_pixelpipe_set_history_hash(dt_dev_pixelpipe_t *pipe, const uint64_t history_hash)
Definition pixelpipe_hb.h:388
char * dt_pixelpipe_get_pipe_name(dt_dev_pixelpipe_type_t pipe_type)
Definition pixelpipe_hb.c:255
void dt_dev_pixelpipe_synch_all_real(dt_dev_pixelpipe_t *pipe, const char *caller_func)
Find the last history item matching each pipeline node (module), in the order of pipeline execution....
Definition dev_pixelpipe.c:984
static void dt_dev_backbuf_set_hash(dt_backbuf_t *backbuf, const uint64_t hash)
Definition pixelpipe_hb.h:202
float * dt_dev_get_raster_mask(dt_dev_pixelpipe_t *pipe, const struct dt_iop_module_t *raster_mask_source, const int raster_mask_id, const struct dt_iop_module_t *target_module, gboolean *free_mask, int *error)
int dt_dev_pixelpipe_init_dummy(dt_dev_pixelpipe_t *pipe, struct dt_develop_t *dev)
Definition pixelpipe_hb.c:392
void dt_dev_pixelpipe_create_nodes(dt_dev_pixelpipe_t *pipe)
Definition pixelpipe_hb.c:591
static uint64_t dt_dev_backbuf_get_hash(const dt_backbuf_t *backbuf)
Definition pixelpipe_hb.h:197
static void dt_dev_backbuf_set_history_hash(dt_backbuf_t *backbuf, const uint64_t history_hash)
Definition pixelpipe_hb.h:212
dt_dev_pixelpipe_cache_request_t
Definition pixelpipe_hb.h:176
@ DT_DEV_PIXELPIPE_CACHE_REQUEST_BACKBUF
Definition pixelpipe_hb.h:178
@ DT_DEV_PIXELPIPE_CACHE_REQUEST_NONE
Definition pixelpipe_hb.h:177
@ DT_DEV_PIXELPIPE_CACHE_REQUEST_MODULE
Definition pixelpipe_hb.h:179
void dt_dev_pixelpipe_cleanup(dt_dev_pixelpipe_t *pipe)
Definition pixelpipe_hb.c:486
static void dt_dev_pixelpipe_set_changed(dt_dev_pixelpipe_t *pipe, const dt_dev_pixelpipe_change_t v)
Definition pixelpipe_hb.h:398
gboolean dt_dev_pixelpipe_unset_reentry(dt_dev_pixelpipe_t *pipe, uint64_t hash)
Remove the re-entry pipeline flag, only if the object identifier is the one that set it....
Definition pixelpipe_hb.c:546
int dt_dev_pixelpipe_init_export(dt_dev_pixelpipe_t *pipe, struct dt_develop_t *dev, int levels, gboolean store_masks)
Definition pixelpipe_hb.c:372
int dt_dev_pixelpipe_init(dt_dev_pixelpipe_t *pipe, struct dt_develop_t *dev)
Definition pixelpipe_hb.c:414
int dt_dev_pixelpipe_process(dt_dev_pixelpipe_t *pipe, dt_iop_roi_t roi)
Definition pixelpipe_hb.c:1253
static gboolean dt_dev_pixelpipe_has_shutdown(const dt_dev_pixelpipe_t *pipe)
Definition pixelpipe_hb.h:462
float * dt_dev_distort_detail_mask(const dt_dev_pixelpipe_t *pipe, float *src, const struct dt_iop_module_t *target_module)
gboolean dt_dev_pixelpipe_set_reentry(dt_dev_pixelpipe_t *pipe, uint64_t hash)
Set the re-entry pipeline flag, only if no object is already capturing it. Re-entered pipelines run w...
Definition pixelpipe_hb.c:532
void dt_dev_pixelpipe_set_realtime(dt_dev_pixelpipe_t *pipe, gboolean state)
Definition pixelpipe_hb.c:455
void dt_dev_pixelpipe_cleanup_nodes(dt_dev_pixelpipe_t *pipe)
Definition pixelpipe_hb.c:571
const float uint32_t state[4]
Definition src/develop/noise_generator.h:72
unsigned __int64 uint64_t
Definition strptime.c:75
Definition pixelpipe_hb.h:189
size_t height
Definition pixelpipe_hb.h:192
size_t width
Definition pixelpipe_hb.h:191
dt_atomic_uint64 history_hash
Definition pixelpipe_hb.h:194
dt_atomic_uint64 hash
Definition pixelpipe_hb.h:193
size_t bpp
Definition pixelpipe_hb.h:190
Definition pixelpipe.h:54
Definition pixelpipe_hb.h:96
gboolean enabled
Definition pixelpipe_hb.h:111
dt_iop_buffer_dsc_t dsc_out
Definition pixelpipe_hb.h:142
dt_dev_request_flags_t request_histogram
Definition pixelpipe_hb.h:114
size_t data_size
Definition pixelpipe_hb.h:108
dt_iop_roi_t buf_in
Definition pixelpipe_hb.h:131
uint64_t blendop_hash
Definition pixelpipe_hb.h:121
gboolean detail_mask
Definition pixelpipe_hb.h:112
int iheight
Definition pixelpipe_hb.h:117
uint64_t global_hash
Definition pixelpipe_hb.h:125
uint64_t hash
Definition pixelpipe_hb.h:120
int process_cl_ready
Definition pixelpipe_hb.h:133
dt_iop_buffer_dsc_t dsc_in
Definition pixelpipe_hb.h:142
int iwidth
Definition pixelpipe_hb.h:117
uint64_t global_mask_hash
Definition pixelpipe_hb.h:128
gboolean bypass_cache
Definition pixelpipe_hb.h:145
dt_iop_roi_t buf_out
Definition pixelpipe_hb.h:131
dt_pixel_cache_entry_t cache_entry
Definition pixelpipe_hb.h:153
int process_tiling_ready
Definition pixelpipe_hb.h:134
struct dt_iop_module_t *void * data
Definition pixelpipe_hb.h:97
int bpc
Definition pixelpipe_hb.h:130
dt_iop_roi_t roi_in
Definition pixelpipe_hb.h:132
GHashTable * raster_masks
Definition pixelpipe_hb.h:161
dt_dev_histogram_collection_params_t histogram_params
Definition pixelpipe_hb.h:115
dt_iop_buffer_dsc_t dsc_mask
Definition pixelpipe_hb.h:142
dt_iop_roi_t roi_out
Definition pixelpipe_hb.h:132
void * blendop_data
Definition pixelpipe_hb.h:110
gboolean cache_output_on_ram
Definition pixelpipe_hb.h:159
Definition pixelpipe_hb.h:53
float * mask
Definition pixelpipe_hb.h:55
int id
Definition pixelpipe_hb.h:54
Definition pixelpipe_hb.h:218
dt_colorspaces_color_profile_type_t icc_type
Definition pixelpipe_hb.h:310
struct dt_iop_order_iccprofile_info_t * work_profile_info
Definition pixelpipe_hb.h:238
struct dt_iop_order_iccprofile_info_t * input_profile_info
Definition pixelpipe_hb.h:240
int iwidth
Definition pixelpipe_hb.h:227
int want_detail_mask
Definition pixelpipe_hb.h:268
gpointer last_history_item
Definition pixelpipe_hb.h:327
int opencl_error
Definition pixelpipe_hb.h:291
struct dt_iop_order_iccprofile_info_t * output_profile_info
Definition pixelpipe_hb.h:242
int running
Definition pixelpipe_hb.h:274
gboolean gui_observable_source
Definition pixelpipe_hb.h:304
gchar * icc_filename
Definition pixelpipe_hb.h:311
int processed_width
Definition pixelpipe_hb.h:235
uint64_t last_history_hash
Definition pixelpipe_hb.h:323
dt_pthread_mutex_t busy_mutex
Definition pixelpipe_hb.h:259
gboolean flush_cache
Definition pixelpipe_hb.h:354
int mask_display
Definition pixelpipe_hb.h:295
GList * nodes
Definition pixelpipe_hb.h:245
dt_imageio_levels_t levels
Definition pixelpipe_hb.h:306
dt_atomic_int realtime
Definition pixelpipe_hb.h:287
dt_atomic_uint64 history_hash
Definition pixelpipe_hb.h:332
dt_backbuf_t backbuf
Definition pixelpipe_hb.h:250
gboolean reentry
Definition pixelpipe_hb.h:342
dt_mipmap_size_t size
Definition pixelpipe_hb.h:224
dt_iop_color_intent_t icc_intent
Definition pixelpipe_hb.h:312
dt_atomic_uint64 hash
Definition pixelpipe_hb.h:257
dt_atomic_int shutdown
Definition pixelpipe_hb.h:276
uint64_t reentry_hash
Definition pixelpipe_hb.h:348
int opencl_enabled
Definition pixelpipe_hb.h:289
dt_atomic_int * shutdown_ext
Definition pixelpipe_hb.h:281
dt_atomic_ptr cache_request_module
Definition pixelpipe_hb.h:337
dt_dev_pixelpipe_type_t type
Definition pixelpipe_hb.h:300
float iscale
Definition pixelpipe_hb.h:232
dt_atomic_int changed
Definition pixelpipe_hb.h:247
int processed_height
Definition pixelpipe_hb.h:235
int32_t imgid
Definition pixelpipe_hb.h:223
gboolean no_cache
Definition pixelpipe_hb.h:362
gboolean store_all_raster_masks
Definition pixelpipe_hb.h:318
int bypass_blendif
Definition pixelpipe_hb.h:297
int tiling
Definition pixelpipe_hb.h:293
uint64_t rawdetail_mask_hash
Definition pixelpipe_hb.h:266
int iheight
Definition pixelpipe_hb.h:227
gboolean pause
Definition pixelpipe_hb.h:365
struct dt_iop_roi_t rawdetail_mask_roi
Definition pixelpipe_hb.h:267
gboolean bypass_cache
Definition pixelpipe_hb.h:357
GList * forms
Definition pixelpipe_hb.h:316
gboolean autoset
Definition pixelpipe_hb.h:369
int devid
Definition pixelpipe_hb.h:308
int processing
Definition pixelpipe_hb.h:272
int output_imgid
Definition pixelpipe_hb.h:270
struct dt_develop_t * dev
Definition pixelpipe_hb.h:220
dt_atomic_int cache_request
Definition pixelpipe_hb.h:336
GList * iop_order_list
Definition pixelpipe_hb.h:314
int input_timestamp
Definition pixelpipe_hb.h:299
float y
Definition develop.h:186
struct dt_dev_pixelpipe_t * pipe
Definition develop.h:236
struct dt_develop_t::@18 roi
Definition iop_profile.h:52
Region of interest passed through the pixelpipe.
Definition imageop.h:72
Definition pixelpipe_cache.h:87