![]() |
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] |
| GArray * | backend_history |
| GArray * | stroke_raw_inputs |
| dt_drawlayer_paint_stroke_t * | stroke |
| dt_drawlayer_damaged_rect_t * | backend_path |
| dt_drawlayer_cache_patch_t | heartbeat_patch |
| dt_drawlayer_cache_patch_t | heartbeat_stroke_mask |
| gint64 | live_publish_ts |
| uint32_t | live_publish_serial |
| dt_drawlayer_damaged_rect_t | live_publish_damage |
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 _rasterize_pending_dab_batch(), _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().
| dt_drawlayer_cache_patch_t dt_drawlayer_worker_t::heartbeat_patch |
Worker-private scratch patch for one heartbeat batch.
Referenced by _ensure_heartbeat_batch_buffers(), _rasterize_pending_dab_batch(), and _rt_destroy_state().
| dt_drawlayer_cache_patch_t dt_drawlayer_worker_t::heartbeat_stroke_mask |
Worker-private stroke mask for one heartbeat batch.
Referenced by _ensure_heartbeat_batch_buffers(), _rasterize_pending_dab_batch(), and _rt_destroy_state().
| dt_drawlayer_damaged_rect_t dt_drawlayer_worker_t::live_publish_damage |
Worker-owned accumulated publish damage.
Referenced by _publish_backend_progress(), _rasterize_pending_dab_batch(), and _reset_live_publish().
| uint32_t dt_drawlayer_worker_t::live_publish_serial |
Monotonic live publish serial committed by heartbeat flushes.
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 _drawlayer_worker_main(), _rt_destroy_state(), _rt_init_state(), dt_drawlayer_worker_enqueue_input(), dt_drawlayer_worker_enqueue_stroke_end(), and dt_drawlayer_worker_flush_pending().
| 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(), 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(), _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_worker_main(), _enqueue_event(), _enqueue_input(), _pause_worker(), _resume_worker(), _rt_destroy_state(), _rt_init_state(), _stop_worker(), _wait_worker_idle(), and dt_drawlayer_worker_request_commit().
| dt_pthread_mutex_t dt_drawlayer_worker_t::worker_mutex |
Mutex guarding queue/flags.
Referenced by _backend_worker_on_idle(), _backend_worker_process_stroke_end(), _cancel_async_commit(), _drawlayer_worker_main(), _enqueue_event(), _enqueue_input(), _pause_worker(), _resume_worker(), _rt_destroy_state(), _rt_init_state(), _rt_workers_active(), _rt_workers_any_active(), _stop_worker(), _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(), and dt_drawlayer_worker_reset_stroke().
| drawlayer_rt_worker_t dt_drawlayer_worker_t::workers[DRAWLAYER_RT_WORKER_COUNT] |
Worker slots.
Referenced by _backend_worker(), and _backend_worker_const().