Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
dt_dev_pixelpipe_t Struct Reference

#include <pixelpipe_hb.h>

+ Collaboration diagram for dt_dev_pixelpipe_t:

Data Fields

struct dt_develop_tdev
 
int32_t imgid
 
dt_mipmap_size_t size
 
int iwidth
 
int iheight
 
float iscale
 
int processed_width
 
int processed_height
 
struct dt_iop_order_iccprofile_info_twork_profile_info
 
struct dt_iop_order_iccprofile_info_tinput_profile_info
 
struct dt_iop_order_iccprofile_info_towned_input_profile_info
 
struct dt_iop_order_iccprofile_info_toutput_profile_info
 
GList * nodes
 
dt_atomic_int changed
 
dt_backbuf_t backbuf
 
dt_atomic_uint64 hash
 
dt_pthread_mutex_t busy_mutex
 
uint64_t rawdetail_mask_hash
 
struct dt_iop_roi_t rawdetail_mask_roi
 
int want_detail_mask
 
GArray * raster_mask_hashes
 
int output_imgid
 
dt_dev_roi_request_store_t roi_request
 The viewport snapshot this run was planned from.
 
int processing
 
dt_atomic_int running
 
dt_atomic_int shutdown
 
dt_atomic_intshutdown_ext
 
dt_atomic_int realtime
 
int opencl_enabled
 
int opencl_error
 
int tiling
 
int mask_display
 
int bypass_blendif
 
int input_timestamp
 
dt_dev_pixelpipe_type_t type
 
gboolean gui_observable_source
 
int mask_rasterization_step
 Rasterisation step for drawn masks, in image pixels. Always >= 1.
 
dt_imageio_levels_t levels
 
int devid
 
int last_devid
 
dt_colorspaces_color_profile_type_t icc_type
 
gchar * icc_filename
 
dt_iop_color_intent_t icc_intent
 
GList * iop_order_list
 
GList * forms
 
gboolean store_all_raster_masks
 
uint64_t last_history_hash
 
dt_atomic_ptr last_history_item
 
dt_atomic_uint64 history_hash
 
dt_atomic_int cache_request
 
dt_atomic_ptr cache_request_module
 
gboolean reentry
 
uint64_t reentry_hash
 
gboolean flush_cache
 
gboolean bypass_cache
 
gboolean no_cache
 
gboolean pause
 
gboolean autoset
 

Detailed Description

Definition at line 304 of file pixelpipe_hb.h.

Field Documentation

◆ autoset

gboolean dt_dev_pixelpipe_t::autoset

◆ backbuf

◆ busy_mutex

dt_pthread_mutex_t dt_dev_pixelpipe_t::busy_mutex

◆ bypass_blendif

int dt_dev_pixelpipe_t::bypass_blendif

◆ bypass_cache

gboolean dt_dev_pixelpipe_t::bypass_cache

◆ cache_request

◆ cache_request_module

dt_atomic_ptr dt_dev_pixelpipe_t::cache_request_module

◆ changed

◆ dev

◆ devid

◆ flush_cache

gboolean dt_dev_pixelpipe_t::flush_cache

◆ forms

◆ gui_observable_source

◆ hash

dt_atomic_uint64 dt_dev_pixelpipe_t::hash

Definition at line 356 of file pixelpipe_hb.h.

Referenced by dt_dev_pixelpipe_get_hash(), and dt_dev_pixelpipe_set_hash().

◆ history_hash

dt_atomic_uint64 dt_dev_pixelpipe_t::history_hash

◆ icc_filename

gchar* dt_dev_pixelpipe_t::icc_filename

◆ icc_intent

◆ icc_type

◆ iheight

◆ imgid

◆ input_profile_info

◆ input_timestamp

int dt_dev_pixelpipe_t::input_timestamp

Definition at line 424 of file pixelpipe_hb.h.

◆ iop_order_list

GList* dt_dev_pixelpipe_t::iop_order_list

◆ iscale

float dt_dev_pixelpipe_t::iscale

◆ iwidth

◆ last_devid

◆ last_history_hash

uint64_t dt_dev_pixelpipe_t::last_history_hash

◆ last_history_item

dt_atomic_ptr dt_dev_pixelpipe_t::last_history_item

◆ levels

dt_imageio_levels_t dt_dev_pixelpipe_t::levels

◆ mask_display

◆ mask_rasterization_step

int dt_dev_pixelpipe_t::mask_rasterization_step

Rasterisation step for drawn masks, in image pixels. Always >= 1.

Brush and polygon subdivide their outline until consecutive samples land within this many pixels, then paint one radial spoke per sample. At 1 the outline is followed to pixel accuracy. Above 1 the samples spread out and the spokes leave gaps between them – invisible when the result is shown well below 1:1, a diagonal hatch across the stroke when it is not (#1116).

IT IS SET UPSTREAM AND ONLY READ HERE. Every mask type used to re-derive its own answer from ‘dt_dev_pixelpipe_has_preview_output(...) || type == THUMBNAIL’ – six copies across brush.c and polygon.c, some passing the module's roi and some NULL, so one pipe could be classified two ways inside a single frame, and an export could be classified as a preview. How finely a pipe must rasterise is a property OF THE PIPE, decided by whoever configures it: pipe init, or the darkroom GUI from the zoom level.

The default is 1 and every init sets it, so a pipe nobody configures – every headless export, thumbnail and snapshot – is pixel-accurate by construction rather than by a predicate that has to get the answer right.

It feeds the module hash (dt_pixelpipe_get_global_hash), because two runs at different steps produce different pixels and must not share a cache line.

Definition at line 454 of file pixelpipe_hb.h.

Referenced by _brush_get_mask(), _brush_get_mask_roi(), dt_dev_pixelpipe_init_cached(), dt_dev_pixelpipe_set_mask_rasterization_step(), dt_masks_debug_rasterise(), dt_masks_distort_for_pipe(), and dt_pixelpipe_get_global_hash().

◆ no_cache

◆ nodes

◆ opencl_enabled

int dt_dev_pixelpipe_t::opencl_enabled

Definition at line 414 of file pixelpipe_hb.h.

Referenced by dt_dev_pixelpipe_process(), and pixelpipe_process_on_GPU().

◆ opencl_error

int dt_dev_pixelpipe_t::opencl_error

Definition at line 416 of file pixelpipe_hb.h.

Referenced by dt_dev_pixelpipe_process().

◆ output_imgid

int dt_dev_pixelpipe_t::output_imgid

Definition at line 378 of file pixelpipe_hb.h.

Referenced by dt_dev_pixelpipe_cleanup(), and dt_dev_pixelpipe_init_cached().

◆ output_profile_info

◆ owned_input_profile_info

struct dt_iop_order_iccprofile_info_t* dt_dev_pixelpipe_t::owned_input_profile_info

◆ pause

gboolean dt_dev_pixelpipe_t::pause

◆ processed_height

◆ processed_width

◆ processing

◆ raster_mask_hashes

◆ rawdetail_mask_hash

uint64_t dt_dev_pixelpipe_t::rawdetail_mask_hash

◆ rawdetail_mask_roi

struct dt_iop_roi_t dt_dev_pixelpipe_t::rawdetail_mask_roi

◆ realtime

◆ reentry

◆ reentry_hash

◆ roi_request

dt_dev_roi_request_store_t dt_dev_pixelpipe_t::roi_request

The viewport snapshot this run was planned from.

Latched once per darkroom worker iteration, before any resync, and read by everything that runs on the pipeline thread for the rest of that run – so a module callback and the ROI planner cannot disagree about the zoom, however many times the GUI thread republishes while the frame is being computed.

A pipe nobody latches (export, thumbnail, snapshot) keeps the neutral seed dt_dev_pixelpipe_init_cached() gives it: scaling 1, natural_scale -1, which is what those pipes have always read off a headless dev. See develop/dev_roi_request.h.

Definition at line 391 of file pixelpipe_hb.h.

Referenced by dt_dev_pixelpipe_init_cached(), dt_dev_roi_request_latch(), and dt_dev_roi_request_of_pipe().

◆ running

dt_atomic_int dt_dev_pixelpipe_t::running

Definition at line 399 of file pixelpipe_hb.h.

Referenced by leave().

◆ shutdown

◆ shutdown_ext

dt_atomic_int* dt_dev_pixelpipe_t::shutdown_ext

Definition at line 406 of file pixelpipe_hb.h.

Referenced by dt_dev_pixelpipe_has_shutdown(), and dt_imageio_export_with_flags().

◆ size

dt_mipmap_size_t dt_dev_pixelpipe_t::size

Definition at line 311 of file pixelpipe_hb.h.

Referenced by dt_dev_pixelpipe_set_input(), process(), and process_cl().

◆ store_all_raster_masks

◆ tiling

◆ type

dt_dev_pixelpipe_type_t dt_dev_pixelpipe_t::type

Definition at line 425 of file pixelpipe_hb.h.

Referenced by __attribute__(), __attribute__(), _aniso_div_solve(), _biharmonic_dome(), _colorout_input_format_cst(), _default_process_tiling_ptp(), _default_process_tiling_roi(), _get_debug_pipe_name(), _group_get_mask_roi(), _is_focused_realtime_gui_module(), _module_requires_global_histogram_input_cache(), _module_requires_global_histogram_output_cache(), _peek_gui(), _print_nan_debug(), _print_opencl_errors(), _print_perf_debug(), _refine_with_detail_mask(), _seal_opencl_cache_policy(), _sp_chol_cl_selftest(), _sp_pde_factor(), _sync_pipe_nodes_from_history(), _sync_pipe_nodes_from_history_from_node(), _trace_buffer_content(), _trace_cache_owner(), _update_backbuf_cache_reference(), _update_output_cfa_descriptor(), commit_params(), commit_params(), commit_params(), dt_dev_darkroom_pipeline(), dt_dev_get_raster_mask(), dt_dev_lock_pipe_surface(), dt_dev_pixelpipe_cleanup_nodes(), dt_dev_pixelpipe_create_nodes(), dt_dev_pixelpipe_debug_dump_module_io(), dt_dev_pixelpipe_init(), dt_dev_pixelpipe_init_dummy(), dt_dev_pixelpipe_init_export(), dt_dev_pixelpipe_init_preview(), dt_dev_pixelpipe_init_thumbnail(), dt_dev_pixelpipe_process(), dt_dev_pixelpipe_process_rec(), dt_develop_blend_process(), dt_develop_blend_process_cl(), dt_iop_commit_params(), dt_pixelpipe_get_global_hash(), dual_demosaic(), init_pipe(), pixelpipe_process_on_GPU(), process(), process(), process(), process(), process_cl(), process_internal(), and process_nlmeans_cl().

◆ want_detail_mask

◆ work_profile_info

struct dt_iop_order_iccprofile_info_t* dt_dev_pixelpipe_t::work_profile_info

work profile info of the image

Definition at line 325 of file pixelpipe_hb.h.

Referenced by dt_ioppr_get_pipe_work_profile_info(), and dt_ioppr_set_pipe_work_profile_info().


The documentation for this struct was generated from the following file: