![]() |
Ansel 0.0
A darktable fork - bloat + design vision
|
Drawlayer worker global state shared with drawlayer module. More...
Collaboration diagram for dt_drawlayer_worker_t:Data Fields | |
| dt_iop_module_t * | self |
| gboolean * | painting |
| gboolean * | finish_commit_pending |
| guint * | stroke_sample_count |
| uint32_t * | current_stroke_batch |
| dt_pthread_mutex_t | worker_mutex |
| pthread_cond_t | worker_cond |
| drawlayer_rt_worker_t | workers [DRAWLAYER_RT_WORKER_COUNT] |
| guint | finish_commit_source_id |
| GArray * | backend_history |
| GArray * | stroke_raw_inputs |
| dt_drawlayer_paint_stroke_t * | stroke |
| dt_drawlayer_damaged_rect_t * | backend_path |
| gint64 | live_publish_ts |
| uint32_t | live_publish_serial |
| dt_drawlayer_damaged_rect_t | live_publish_damage |
| pthread_t | fullres_thread |
| GQueue * | finished_stroke_queue |
| dt_drawlayer_worker_state_t | fullres_state |
| gboolean | fullres_stop |
| gboolean | finished_stroke_queued |
| dt_drawlayer_worker_finished_stroke_cb | finished_stroke_cb |
Drawlayer worker global state shared with drawlayer module.
| GArray* dt_drawlayer_worker_t::backend_history |
Emitted dab history owned by worker.
Referenced by _rt_destroy_state(), _rt_init_state(), _stroke_begin(), _stroke_clear(), and _stroke_create().
| dt_drawlayer_damaged_rect_t* dt_drawlayer_worker_t::backend_path |
Worker-owned backend damage accumulator.
Referenced by _reset_backend_path(), _rt_destroy_state(), and _rt_init_state().
| uint32_t* dt_drawlayer_worker_t::current_stroke_batch |
External stroke-batch counter mirror.
Referenced by _enqueue_stroke_end(), and _rt_init_state().
| gboolean* dt_drawlayer_worker_t::finish_commit_pending |
External commit-request flag mirror.
Referenced by _backend_worker_process_stroke_end(), _cancel_async_commit(), _enqueue_input(), _rt_init_state(), _workers_active_locked(), _workers_ready_for_commit_locked(), dt_drawlayer_worker_get_snapshot(), and dt_drawlayer_worker_request_commit().
| guint dt_drawlayer_worker_t::finish_commit_source_id |
Pending idle callback id (0 if none).
Referenced by _async_commit_idle(), _cancel_async_commit(), and _schedule_async_commit_if_ready_locked().
| dt_drawlayer_worker_finished_stroke_cb dt_drawlayer_worker_t::finished_stroke_cb |
Replay callback owned by drawlayer.
Referenced by _drawlayer_fullres_worker_main(), _enqueue_finished_stroke(), and _rt_init_state().
| GQueue* dt_drawlayer_worker_t::finished_stroke_queue |
Queue of finished stroke replay jobs.
Referenced by _drawlayer_fullres_worker_main(), _enqueue_finished_stroke(), _fullres_active_locked(), _rt_destroy_state(), _rt_init_state(), _wait_fullres_idle(), and dt_drawlayer_worker_get_snapshot().
| gboolean dt_drawlayer_worker_t::finished_stroke_queued |
Current preserved stroke already handed off.
Referenced by _enqueue_finished_stroke(), _stroke_begin(), _stroke_clear(), and dt_drawlayer_worker_finished_stroke_queued().
| dt_drawlayer_worker_state_t dt_drawlayer_worker_t::fullres_state |
Full-resolution worker lifecycle state.
Referenced by _drawlayer_fullres_worker_main(), _fullres_worker_busy(), _fullres_worker_started(), _start_fullres_worker(), _stop_worker(), and dt_drawlayer_worker_get_snapshot().
| gboolean dt_drawlayer_worker_t::fullres_stop |
Full-resolution worker stop flag.
Referenced by _drawlayer_fullres_worker_main(), _fullres_active_locked(), _start_fullres_worker(), _stop_worker(), and _wait_fullres_idle().
| pthread_t dt_drawlayer_worker_t::fullres_thread |
Deferred full-resolution replay worker.
Referenced by _start_fullres_worker(), and _stop_worker().
| dt_drawlayer_damaged_rect_t dt_drawlayer_worker_t::live_publish_damage |
Worker-owned accumulated publish damage.
Referenced by _process_backend_dab(), _publish_backend_progress(), _rasterize_pending_dab_batch(), and _reset_live_publish().
| uint32_t dt_drawlayer_worker_t::live_publish_serial |
Monotonic live publish serial.
Referenced by _publish_backend_progress(), and _reset_live_publish().
| gint64 dt_drawlayer_worker_t::live_publish_ts |
Realtime publish pacing timestamp.
Referenced by _live_publish_deadline_reached(), _process_backend_input(), _publish_backend_progress(), and _reset_live_publish().
| gboolean* dt_drawlayer_worker_t::painting |
External painting-state mirror.
Referenced by _rt_init_state(), and _workers_ready_for_commit_locked().
| dt_iop_module_t* dt_drawlayer_worker_t::self |
Parent module instance.
Referenced by _async_commit_idle(), _drawlayer_fullres_worker_main(), _drawlayer_worker_main(), _rt_destroy_state(), _rt_init_state(), _schedule_async_commit_if_ready_locked(), dt_drawlayer_worker_enqueue_input(), dt_drawlayer_worker_enqueue_stroke_end(), dt_drawlayer_worker_flush_pending(), and dt_drawlayer_worker_seal_for_commit().
| dt_drawlayer_paint_stroke_t* dt_drawlayer_worker_t::stroke |
Worker-owned current stroke runtime.
Referenced by _backend_pending_dabs_locked(), _backend_worker_on_idle(), _backend_worker_process_sample(), _backend_worker_process_stroke_end(), _make_backend_ctx(), _stroke_begin(), _stroke_clear(), _stroke_create(), _stroke_destroy(), dt_drawlayer_worker_pending_dab_count(), dt_drawlayer_worker_seal_for_commit(), and dt_drawlayer_worker_stroke().
| GArray* dt_drawlayer_worker_t::stroke_raw_inputs |
Preserved raw input history for current stroke.
Referenced by _backend_worker_process_sample(), _drain_queued_raw_inputs_locked(), _enqueue_finished_stroke(), _rt_destroy_state(), _rt_init_state(), _stroke_begin(), _stroke_clear(), and dt_drawlayer_worker_raw_inputs().
| guint* dt_drawlayer_worker_t::stroke_sample_count |
External per-stroke sample counter mirror.
Referenced by _enqueue_input(), and _rt_init_state().
| pthread_cond_t dt_drawlayer_worker_t::worker_cond |
Condition variable for worker wakeups.
Referenced by _backend_worker_process_stroke_end(), _drawlayer_fullres_worker_main(), _drawlayer_worker_main(), _enqueue_event(), _enqueue_finished_stroke(), _enqueue_input(), _pause_worker(), _resume_worker(), _rt_destroy_state(), _rt_init_state(), _stop_worker(), _wait_fullres_idle(), _wait_worker_idle(), dt_drawlayer_worker_request_commit(), and dt_drawlayer_worker_seal_for_commit().
| dt_pthread_mutex_t dt_drawlayer_worker_t::worker_mutex |
Mutex guarding queue/flags.
Referenced by _async_commit_idle(), _backend_worker_on_idle(), _backend_worker_process_stroke_end(), _cancel_async_commit(), _drawlayer_fullres_worker_main(), _drawlayer_worker_main(), _enqueue_event(), _enqueue_finished_stroke(), _enqueue_input(), _pause_worker(), _resume_worker(), _rt_destroy_state(), _rt_init_state(), _rt_workers_active(), _rt_workers_any_active(), _stop_worker(), _wait_fullres_idle(), _wait_worker_idle(), dt_drawlayer_worker_get_snapshot(), dt_drawlayer_worker_pending_dab_count(), dt_drawlayer_worker_request_commit(), dt_drawlayer_worker_reset_backend_path(), dt_drawlayer_worker_reset_live_publish(), dt_drawlayer_worker_reset_stroke(), and dt_drawlayer_worker_seal_for_commit().
| drawlayer_rt_worker_t dt_drawlayer_worker_t::workers[DRAWLAYER_RT_WORKER_COUNT] |
Worker slots.
Referenced by _backend_worker(), and _backend_worker_const().