![]() |
Ansel 0.0
A darktable fork - bloat + design vision
|
#include "develop/pixelpipe_cache.h"#include "control/control.h"#include "iop/drawlayer/runtime.h"#include <string.h>
Include dependency graph for runtime.c:Data Structures | |
| struct | dt_drawlayer_runtime_buffer_state_t |
| struct | dt_drawlayer_runtime_thread_state_t |
| struct | dt_drawlayer_runtime_private_t |
| struct | dt_drawlayer_runtime_schedule_t |
Typedefs | |
| typedef struct dt_drawlayer_runtime_buffer_state_t | dt_drawlayer_runtime_buffer_state_t |
| typedef struct dt_drawlayer_runtime_thread_state_t | dt_drawlayer_runtime_thread_state_t |
| typedef struct dt_drawlayer_runtime_schedule_t | dt_drawlayer_runtime_schedule_t |
| typedef struct dt_drawlayer_runtime_schedule_t dt_drawlayer_runtime_schedule_t |
|
static |
References _runtime_private(), dt_drawlayer_runtime_thread_state_t::active, DT_DRAWLAYER_RUNTIME_ACTOR_GUI, DT_DRAWLAYER_RUNTIME_ACTOR_PIPELINE_CL, DT_DRAWLAYER_RUNTIME_ACTOR_PIPELINE_CPU, DT_DRAWLAYER_RUNTIME_ACTOR_TIFF_IO, DT_DRAWLAYER_RUNTIME_EVENT_COMMIT_BEGIN, DT_DRAWLAYER_RUNTIME_EVENT_COMMIT_END, DT_DRAWLAYER_RUNTIME_EVENT_GUI_CHANGE_IMAGE, DT_DRAWLAYER_RUNTIME_EVENT_GUI_FOCUS_GAIN, DT_DRAWLAYER_RUNTIME_EVENT_GUI_FOCUS_LOSS, DT_DRAWLAYER_RUNTIME_EVENT_GUI_MOUSE_ENTER, DT_DRAWLAYER_RUNTIME_EVENT_GUI_MOUSE_LEAVE, DT_DRAWLAYER_RUNTIME_EVENT_GUI_PIPE_FINISHED, DT_DRAWLAYER_RUNTIME_EVENT_GUI_RAW_INPUT, DT_DRAWLAYER_RUNTIME_EVENT_GUI_RESYNC, DT_DRAWLAYER_RUNTIME_EVENT_GUI_SCROLL, DT_DRAWLAYER_RUNTIME_EVENT_GUI_STROKE_ABORT, DT_DRAWLAYER_RUNTIME_EVENT_NONE, DT_DRAWLAYER_RUNTIME_EVENT_PROCESS_CL_AFTER, DT_DRAWLAYER_RUNTIME_EVENT_PROCESS_CL_BEFORE, DT_DRAWLAYER_RUNTIME_EVENT_PROCESS_CPU_AFTER, DT_DRAWLAYER_RUNTIME_EVENT_PROCESS_CPU_BEFORE, DT_DRAWLAYER_RUNTIME_EVENT_SIDECAR_LOAD_BEGIN, DT_DRAWLAYER_RUNTIME_EVENT_SIDECAR_LOAD_END, DT_DRAWLAYER_RUNTIME_EVENT_SIDECAR_SAVE_BEGIN, DT_DRAWLAYER_RUNTIME_EVENT_SIDECAR_SAVE_END, DT_DRAWLAYER_RUNTIME_RAW_INPUT_STROKE_BEGIN, DT_DRAWLAYER_RUNTIME_RAW_INPUT_STROKE_END, dt_drawlayer_runtime_update_request_t::event, FALSE, dt_drawlayer_runtime_inputs_t::gui_attached, dt_drawlayer_runtime_private_t::gui_focused, dt_drawlayer_runtime_private_t::last_event, dt_drawlayer_runtime_private_t::last_raw_input_kind, dt_drawlayer_runtime_manager_t::painting_active, dt_drawlayer_runtime_update_request_t::raw_input_kind, dt_drawlayer_runtime_private_t::sidecar_io_active, dt_drawlayer_runtime_private_t::threads, TRUE, and dt_drawlayer_runtime_thread_state_t::waiting.
Referenced by _update_manager_information().
|
static |
References _runtime_private_const(), dt_drawlayer_runtime_thread_state_t::active, dt_drawlayer_runtime_schedule_t::build_process_patch, dt_drawlayer_runtime_schedule_t::commit_mode, dt_drawlayer_runtime_inputs_t::display_pipe, DT_DRAWLAYER_RUNTIME_ACTOR_RASTER_BACKEND, DT_DRAWLAYER_RUNTIME_ACTOR_RASTER_FULLRES, DT_DRAWLAYER_RUNTIME_COMMIT_HISTORY, DT_DRAWLAYER_RUNTIME_COMMIT_NONE, DT_DRAWLAYER_RUNTIME_COMMIT_QUIET, DT_DRAWLAYER_RUNTIME_EVENT_COMMIT_BEGIN, DT_DRAWLAYER_RUNTIME_EVENT_COMMIT_END, DT_DRAWLAYER_RUNTIME_EVENT_GUI_CHANGE_IMAGE, DT_DRAWLAYER_RUNTIME_EVENT_GUI_FOCUS_GAIN, DT_DRAWLAYER_RUNTIME_EVENT_GUI_FOCUS_LOSS, DT_DRAWLAYER_RUNTIME_EVENT_GUI_MOUSE_ENTER, DT_DRAWLAYER_RUNTIME_EVENT_GUI_MOUSE_LEAVE, DT_DRAWLAYER_RUNTIME_EVENT_GUI_PIPE_FINISHED, DT_DRAWLAYER_RUNTIME_EVENT_GUI_RAW_INPUT, DT_DRAWLAYER_RUNTIME_EVENT_GUI_RESYNC, DT_DRAWLAYER_RUNTIME_EVENT_GUI_SCROLL, DT_DRAWLAYER_RUNTIME_EVENT_GUI_STROKE_ABORT, DT_DRAWLAYER_RUNTIME_EVENT_GUI_SYNC_TEMP_BUFFERS, DT_DRAWLAYER_RUNTIME_EVENT_NONE, DT_DRAWLAYER_RUNTIME_EVENT_PROCESS_CL_AFTER, DT_DRAWLAYER_RUNTIME_EVENT_PROCESS_CL_BEFORE, DT_DRAWLAYER_RUNTIME_EVENT_PROCESS_CPU_AFTER, DT_DRAWLAYER_RUNTIME_EVENT_PROCESS_CPU_BEFORE, DT_DRAWLAYER_RUNTIME_EVENT_SIDECAR_LOAD_BEGIN, DT_DRAWLAYER_RUNTIME_EVENT_SIDECAR_LOAD_END, DT_DRAWLAYER_RUNTIME_EVENT_SIDECAR_SAVE_BEGIN, DT_DRAWLAYER_RUNTIME_EVENT_SIDECAR_SAVE_END, DT_DRAWLAYER_RUNTIME_FEEDBACK_FOCUS_LOSS_WAIT, DT_DRAWLAYER_RUNTIME_FEEDBACK_NONE, DT_DRAWLAYER_RUNTIME_RAW_INPUT_NONE, DT_DRAWLAYER_RUNTIME_RAW_INPUT_SAMPLE, DT_DRAWLAYER_RUNTIME_RAW_INPUT_STROKE_BEGIN, DT_DRAWLAYER_RUNTIME_RAW_INPUT_STROKE_END, dt_drawlayer_runtime_schedule_t::ensure_layer_cache, dt_drawlayer_runtime_schedule_t::ensure_worker_running, dt_drawlayer_runtime_update_request_t::event, FALSE, dt_drawlayer_runtime_schedule_t::feedback, dt_drawlayer_stroke_state_t::finish_commit_pending, dt_drawlayer_runtime_update_request_t::flush_pending, dt_drawlayer_runtime_schedule_t::flush_process_patch, dt_drawlayer_runtime_schedule_t::flush_sidecar, dt_drawlayer_runtime_inputs_t::gui_attached, dt_drawlayer_runtime_inputs_t::have_layer_selection, dt_drawlayer_runtime_inputs_t::have_valid_output_roi, dt_drawlayer_runtime_schedule_t::invalidate_layer_cache, dt_drawlayer_runtime_private_t::layer_cache_valid, dt_drawlayer_runtime_inputs_t::module_focused, dt_drawlayer_runtime_inputs_t::padding_changed, dt_drawlayer_runtime_manager_t::painting_active, dt_drawlayer_runtime_schedule_t::pointer_hide_cursor, dt_drawlayer_runtime_schedule_t::pointer_valid, dt_drawlayer_runtime_schedule_t::prime_live_process_patch, process(), dt_drawlayer_runtime_inputs_t::process, dt_drawlayer_runtime_private_t::process_cl_valid, dt_drawlayer_runtime_schedule_t::queue_raw_input, dt_drawlayer_runtime_schedule_t::queue_redraw_center, dt_drawlayer_runtime_schedule_t::rasterization_busy, dt_drawlayer_runtime_update_request_t::raw_input_kind, dt_drawlayer_runtime_schedule_t::refresh_gui, dt_drawlayer_runtime_schedule_t::release_process_clmem, dt_drawlayer_runtime_schedule_t::request_commit, dt_drawlayer_runtime_schedule_t::set_pointer_state, dt_drawlayer_runtime_schedule_t::stop_worker, dt_drawlayer_runtime_inputs_t::stroke, dt_drawlayer_stroke_state_t::stroke_sample_count, dt_drawlayer_runtime_schedule_t::sync_realtime_mode, dt_drawlayer_runtime_schedule_t::sync_widget_cache, dt_drawlayer_runtime_private_t::threads, TRUE, dt_drawlayer_runtime_inputs_t::view_changed, and dt_drawlayer_runtime_schedule_t::wait_fullres_worker.
Referenced by _update_manager_information().
|
static |
References _fill_runtime_inputs(), dt_drawlayer_worker_get_snapshot(), dt_drawlayer_runtime_request_t::gui, dt_drawlayer_runtime_update_request_t::inputs, dt_drawlayer_runtime_context_t::runtime, dt_iop_drawlayer_gui_data_t::stroke, and dt_drawlayer_stroke_state_t::worker.
Referenced by _update_manager_information().
|
static |
References dt_drawlayer_cache_patch_t::height, MIN, dt_drawlayer_cache_patch_t::pixels, and dt_drawlayer_cache_patch_t::width.
Referenced by dt_drawlayer_process_state_publish_locked().
|
static |
References dt_drawlayer_cache_patch_t::cache_entry, dt_drawlayer_cache_patch_t::cache_hash, darktable, dt_dev_pixelpipe_cache_ref_entry_for_host_ptr(), dt_drawlayer_cache_alloc_temp_buffer(), dt_drawlayer_cache_patch_clear(), DT_PIXELPIPE_CACHE_HASH_INVALID, dt_drawlayer_cache_patch_t::external_alloc, FALSE, dt_pixel_cache_entry_t::hash, height, dt_drawlayer_cache_patch_t::height, name, darktable_t::pixelpipe_cache, dt_drawlayer_cache_patch_t::pixels, TRUE, width, dt_drawlayer_cache_patch_t::width, dt_drawlayer_cache_patch_t::x, and dt_drawlayer_cache_patch_t::y.
Referenced by dt_drawlayer_process_state_publish_locked().
|
static |
References dt_iop_module_t::dev, dt_drawlayer_runtime_request_t::display_pipe, dt_drawlayer_current_live_padding(), FALSE, g, dt_drawlayer_runtime_request_t::gui, dt_develop_t::gui_attached, dt_develop_t::gui_module, dt_iop_roi_t::height, dt_iop_drawlayer_params_t::layer_name, dt_iop_module_t::params, process(), dt_drawlayer_runtime_request_t::process_state, dt_develop_t::roi, dt_drawlayer_runtime_request_t::roi_out, dt_drawlayer_runtime_context_t::runtime, dt_drawlayer_runtime_request_t::runtime_params, dt_develop_t::scaling, dt_drawlayer_runtime_request_t::self, dt_drawlayer_runtime_inputs_t::session, dt_drawlayer_runtime_request_t::use_opencl, dt_iop_roi_t::width, dt_develop_t::x, and dt_develop_t::y.
Referenced by _collect_runtime_inputs().
|
static |
References _update_manager_information(), dt_drawlayer_commit_dabs(), DT_DRAWLAYER_RUNTIME_COMMIT_HISTORY, DT_DRAWLAYER_RUNTIME_COMMIT_NONE, DT_DRAWLAYER_RUNTIME_EVENT_COMMIT_BEGIN, DT_DRAWLAYER_RUNTIME_EVENT_COMMIT_END, DT_DRAWLAYER_RUNTIME_RAW_INPUT_NONE, dt_drawlayer_set_pipeline_realtime_mode(), dt_drawlayer_runtime_update_request_t::event, FALSE, dt_drawlayer_runtime_request_t::gui, dt_drawlayer_runtime_update_request_t::inputs, dt_iop_drawlayer_gui_data_t::manager, dt_drawlayer_runtime_manager_t::realtime_active, dt_drawlayer_runtime_context_t::runtime, dt_drawlayer_runtime_request_t::self, TRUE, and dt_drawlayer_runtime_host_t::user_data.
Referenced by dt_drawlayer_runtime_manager_update().
|
static |
|
static |
References dt_drawlayer_cache_patch_rdunlock(), dt_drawlayer_runtime_manager_note_buffer_lock(), DT_DRAWLAYER_SOURCE_GUI_PROCESS, DT_DRAWLAYER_SOURCE_HEADLESS_BASE, DT_DRAWLAYER_SOURCE_NONE, FALSE, dt_drawlayer_runtime_source_t::kind, process(), dt_drawlayer_runtime_source_t::tracked_actor, dt_drawlayer_runtime_source_t::tracked_buffer, and dt_drawlayer_runtime_source_t::tracked_read_lock.
Referenced by dt_drawlayer_runtime_manager_update().
|
inlinestatic |
References dt_drawlayer_runtime_manager_t::priv.
Referenced by _apply_runtime_event(), _sync_buffer_state(), _sync_runtime_state_from_inputs(), _update_manager_information(), dt_drawlayer_runtime_manager_note_buffer_lock(), dt_drawlayer_runtime_manager_note_sidecar_io(), and dt_drawlayer_runtime_manager_note_thread().
|
inlinestatic |
References dt_drawlayer_runtime_manager_t::priv.
Referenced by _build_runtime_schedule(), and _update_realtime_state().
|
static |
|
static |
References _runtime_private(), _sync_buffer_state(), dt_drawlayer_runtime_thread_state_t::active, dt_drawlayer_worker_snapshot_t::backend_queue_count, dt_drawlayer_worker_snapshot_t::backend_state, dt_drawlayer_session_state_t::background_job_running, dt_drawlayer_runtime_manager_t::background_job_running, dt_drawlayer_runtime_inputs_t::base_patch, dt_drawlayer_runtime_inputs_t::base_patch_dirty, dt_drawlayer_runtime_inputs_t::base_patch_valid, dt_drawlayer_worker_snapshot_t::commit_pending, DT_DRAWLAYER_RUNTIME_ACTOR_RASTER_BACKEND, DT_DRAWLAYER_RUNTIME_ACTOR_RASTER_FULLRES, DT_DRAWLAYER_RUNTIME_BUFFER_BASE_PATCH, DT_DRAWLAYER_RUNTIME_BUFFER_PROCESS_CL, DT_DRAWLAYER_RUNTIME_BUFFER_PROCESS_PATCH, DT_DRAWLAYER_RUNTIME_BUFFER_PROCESS_SNAPSHOT, DT_DRAWLAYER_RUNTIME_BUFFER_PROCESS_STROKE_MASK, DT_DRAWLAYER_RUNTIME_BUFFER_STROKE_MASK, DT_DRAWLAYER_WORKER_STATE_BUSY, DT_DRAWLAYER_WORKER_STATE_PAUSED, DT_DRAWLAYER_WORKER_STATE_PAUSING, DT_DRAWLAYER_WORKER_STATE_STOPPED, FALSE, dt_drawlayer_worker_snapshot_t::fullres_queue_count, dt_drawlayer_worker_snapshot_t::fullres_state, dt_drawlayer_runtime_private_t::layer_cache_valid, dt_drawlayer_runtime_manager_t::painting_active, dt_drawlayer_runtime_inputs_t::painting_active, dt_drawlayer_cache_patch_t::pixels, process(), dt_drawlayer_runtime_inputs_t::process, dt_drawlayer_runtime_private_t::process_cl_valid, dt_drawlayer_runtime_private_t::process_patch_dirty, dt_drawlayer_runtime_private_t::process_snapshot_valid, dt_drawlayer_runtime_thread_state_t::queued, dt_drawlayer_runtime_inputs_t::session, dt_drawlayer_runtime_private_t::threads, dt_drawlayer_runtime_thread_state_t::waiting, and dt_drawlayer_runtime_inputs_t::worker.
Referenced by _update_manager_information().
|
static |
References _apply_runtime_event(), _build_runtime_schedule(), _collect_runtime_inputs(), _runtime_private(), _sync_runtime_state_from_inputs(), _update_realtime_state(), dt_pthread_mutex_lock(), dt_pthread_mutex_unlock(), and dt_drawlayer_runtime_host_t::user_data.
Referenced by _perform_runtime_commit_sequence(), and dt_drawlayer_runtime_manager_update().
|
static |
References _runtime_private_const(), DT_DRAWLAYER_RUNTIME_EVENT_COMMIT_BEGIN, DT_DRAWLAYER_RUNTIME_EVENT_COMMIT_END, DT_DRAWLAYER_RUNTIME_EVENT_GUI_CHANGE_IMAGE, DT_DRAWLAYER_RUNTIME_EVENT_GUI_FOCUS_GAIN, DT_DRAWLAYER_RUNTIME_EVENT_GUI_FOCUS_LOSS, DT_DRAWLAYER_RUNTIME_EVENT_GUI_MOUSE_ENTER, DT_DRAWLAYER_RUNTIME_EVENT_GUI_MOUSE_LEAVE, DT_DRAWLAYER_RUNTIME_EVENT_GUI_RAW_INPUT, DT_DRAWLAYER_RUNTIME_EVENT_GUI_RESYNC, DT_DRAWLAYER_RUNTIME_EVENT_GUI_SCROLL, DT_DRAWLAYER_RUNTIME_EVENT_GUI_STROKE_ABORT, DT_DRAWLAYER_RUNTIME_EVENT_GUI_SYNC_TEMP_BUFFERS, DT_DRAWLAYER_RUNTIME_EVENT_NONE, DT_DRAWLAYER_RUNTIME_EVENT_PROCESS_CL_AFTER, DT_DRAWLAYER_RUNTIME_EVENT_PROCESS_CL_BEFORE, DT_DRAWLAYER_RUNTIME_EVENT_PROCESS_CPU_AFTER, DT_DRAWLAYER_RUNTIME_EVENT_PROCESS_CPU_BEFORE, DT_DRAWLAYER_RUNTIME_EVENT_SIDECAR_LOAD_BEGIN, DT_DRAWLAYER_RUNTIME_EVENT_SIDECAR_LOAD_END, DT_DRAWLAYER_RUNTIME_EVENT_SIDECAR_SAVE_BEGIN, DT_DRAWLAYER_RUNTIME_EVENT_SIDECAR_SAVE_END, DT_DRAWLAYER_RUNTIME_RAW_INPUT_SAMPLE, DT_DRAWLAYER_RUNTIME_RAW_INPUT_STROKE_BEGIN, dt_drawlayer_runtime_update_request_t::event, FALSE, dt_drawlayer_runtime_inputs_t::gui_attached, dt_drawlayer_runtime_private_t::gui_focused, dt_drawlayer_runtime_manager_t::painting_active, dt_drawlayer_runtime_update_request_t::raw_input_kind, and dt_drawlayer_runtime_manager_t::realtime_active.
Referenced by _update_manager_information().
| void dt_drawlayer_process_state_cleanup | ( | dt_drawlayer_process_state_t * | state | ) |
References dt_drawlayer_process_state_t::base_patch, dt_drawlayer_process_state_t::cache_imgid, dt_drawlayer_process_state_t::cache_layer_order, dt_drawlayer_cache_patch_clear(), dt_drawlayer_paint_runtime_state_reset(), dt_drawlayer_process_state_t::process_patch, dt_drawlayer_process_state_t::process_read_patch, dt_drawlayer_process_state_t::process_stroke_mask, dt_drawlayer_process_state_t::stroke_mask, and TRUE.
Referenced by cleanup_pipe(), and gui_cleanup().
| void dt_drawlayer_process_state_init | ( | dt_drawlayer_process_state_t * | state | ) |
References dt_drawlayer_process_state_t::cache_imgid, dt_drawlayer_process_state_t::cache_layer_order, dt_drawlayer_paint_runtime_state_reset(), and TRUE.
Referenced by gui_init(), and init_pipe().
| void dt_drawlayer_process_state_invalidate | ( | dt_drawlayer_process_state_t * | state | ) |
References dt_drawlayer_cache_invalidate_process_patch_state(), dt_drawlayer_cache_patch_wrlock(), dt_drawlayer_cache_patch_wrunlock(), dt_drawlayer_paint_runtime_state_reset(), FALSE, dt_drawlayer_process_state_t::process_combined_roi, dt_drawlayer_process_state_t::process_dirty_rect, dt_drawlayer_process_state_t::process_patch, dt_drawlayer_process_state_t::process_patch_dirty, dt_drawlayer_process_state_t::process_patch_padding, dt_drawlayer_process_state_t::process_patch_valid, dt_drawlayer_process_state_t::process_snapshot_valid, and TRUE.
Referenced by _invalidate_process_patch(), _refresh_piece_base_cache(), and dt_drawlayer_runtime_manager_update().
| gboolean dt_drawlayer_process_state_publish_locked | ( | dt_drawlayer_process_state_t * | state, |
| const dt_drawlayer_damaged_rect_t * | damage, | ||
| const gboolean | full_copy | ||
| ) |
References _copy_patch_rect(), _ensure_external_patch_buffer(), darktable, dt_dev_pixelpipe_cache_flush_host_pinned_image(), dt_drawlayer_cache_patch_rdlock(), dt_drawlayer_cache_patch_rdunlock(), dt_drawlayer_cache_patch_wrlock(), dt_drawlayer_cache_patch_wrunlock(), dt_drawlayer_paint_runtime_note_dab_damage(), FALSE, height, dt_drawlayer_cache_patch_t::height, darktable_t::pixelpipe_cache, dt_drawlayer_cache_patch_t::pixels, dt_drawlayer_process_state_t::process_patch, dt_drawlayer_process_state_t::process_read_patch, dt_drawlayer_process_state_t::process_snapshot_valid, TRUE, dt_drawlayer_damaged_rect_t::valid, width, and dt_drawlayer_cache_patch_t::width.
Referenced by _publish_backend_progress(), and dt_drawlayer_build_process_patch_from_base().
| void dt_drawlayer_process_state_reset_stroke | ( | dt_drawlayer_process_state_t * | state | ) |
References dt_drawlayer_cache_patch_wrlock(), dt_drawlayer_cache_patch_wrunlock(), dt_drawlayer_paint_runtime_state_reset(), dt_drawlayer_cache_patch_t::height, dt_drawlayer_cache_patch_t::pixels, dt_drawlayer_process_state_t::process_dirty_rect, dt_drawlayer_process_state_t::process_patch, dt_drawlayer_process_state_t::process_stroke_mask, dt_drawlayer_process_state_t::stroke_mask, and dt_drawlayer_cache_patch_t::width.
Referenced by _reset_stroke_session().
| void dt_drawlayer_runtime_manager_bind_piece | ( | dt_drawlayer_runtime_manager_t * | headless_manager, |
| dt_drawlayer_process_state_t * | headless_process, | ||
| dt_drawlayer_runtime_manager_t * | gui_manager, | ||
| dt_drawlayer_process_state_t * | gui_process, | ||
| const gboolean | display_pipe, | ||
| dt_drawlayer_runtime_manager_t ** | runtime_manager, | ||
| dt_drawlayer_process_state_t ** | runtime_process, | ||
| gboolean * | runtime_display_pipe | ||
| ) |
Referenced by commit_params(), init_pipe(), and process().
| void dt_drawlayer_runtime_manager_cleanup | ( | dt_drawlayer_runtime_manager_t * | state | ) |
References dt_free, dt_pthread_mutex_destroy(), dt_drawlayer_runtime_private_t::mutex, and dt_drawlayer_runtime_manager_t::priv.
Referenced by cleanup_pipe(), and gui_cleanup().
| void dt_drawlayer_runtime_manager_init | ( | dt_drawlayer_runtime_manager_t * | state | ) |
References dt_pthread_mutex_init(), dt_drawlayer_runtime_private_t::mutex, and dt_drawlayer_runtime_manager_t::priv.
Referenced by gui_init(), and init_pipe().
| void dt_drawlayer_runtime_manager_note_buffer_lock | ( | dt_drawlayer_runtime_manager_t * | state, |
| const dt_drawlayer_runtime_buffer_t | buffer, | ||
| const dt_drawlayer_runtime_actor_t | actor, | ||
| const gboolean | write_lock, | ||
| const gboolean | acquire | ||
| ) |
References _runtime_private(), dt_drawlayer_runtime_private_t::buffers, DT_DRAWLAYER_RUNTIME_ACTOR_NONE, DT_DRAWLAYER_RUNTIME_BUFFER_COUNT, dt_pthread_mutex_lock(), dt_pthread_mutex_unlock(), dt_drawlayer_runtime_buffer_state_t::last_reader, dt_drawlayer_runtime_private_t::mutex, dt_drawlayer_runtime_buffer_state_t::read_locks, dt_drawlayer_runtime_buffer_state_t::write_locked, and dt_drawlayer_runtime_buffer_state_t::writer.
Referenced by _release_runtime_source(), and _update_runtime_state().
| void dt_drawlayer_runtime_manager_note_sidecar_io | ( | dt_drawlayer_runtime_manager_t * | state, |
| const gboolean | active | ||
| ) |
References _runtime_private(), dt_drawlayer_runtime_thread_state_t::active, DT_DRAWLAYER_RUNTIME_ACTOR_TIFF_IO, dt_pthread_mutex_lock(), dt_pthread_mutex_unlock(), FALSE, dt_drawlayer_runtime_private_t::mutex, dt_drawlayer_runtime_private_t::sidecar_io_active, dt_drawlayer_runtime_private_t::threads, and dt_drawlayer_runtime_thread_state_t::waiting.
| void dt_drawlayer_runtime_manager_note_thread | ( | dt_drawlayer_runtime_manager_t * | state, |
| const dt_drawlayer_runtime_actor_t | actor, | ||
| const gboolean | active, | ||
| const gboolean | waiting, | ||
| const guint | queued | ||
| ) |
References _runtime_private(), dt_drawlayer_runtime_thread_state_t::active, DT_DRAWLAYER_RUNTIME_ACTOR_COUNT, dt_pthread_mutex_lock(), dt_pthread_mutex_unlock(), dt_drawlayer_runtime_private_t::mutex, dt_drawlayer_runtime_thread_state_t::queued, dt_drawlayer_runtime_private_t::threads, and dt_drawlayer_runtime_thread_state_t::waiting.
| dt_drawlayer_runtime_result_t dt_drawlayer_runtime_manager_update | ( | dt_drawlayer_runtime_manager_t * | state, |
| const dt_drawlayer_runtime_update_request_t * | request, | ||
| const dt_drawlayer_runtime_host_t * | host | ||
| ) |
References _perform_runtime_commit_sequence(), _perform_runtime_widget_cache_sync(), _release_runtime_source(), _update_manager_information(), dt_drawlayer_runtime_schedule_t::build_process_patch, dt_drawlayer_runtime_schedule_t::commit_mode, dt_control_log(), dt_control_queue_redraw_center(), dt_drawlayer_begin_gui_stroke_capture(), dt_drawlayer_build_process_patch_from_base(), dt_drawlayer_cache_patch_clear(), dt_drawlayer_cache_patch_wrlock(), dt_drawlayer_cache_patch_wrunlock(), dt_drawlayer_end_gui_stroke_capture(), dt_drawlayer_ensure_layer_cache(), dt_drawlayer_flush_layer_cache(), dt_drawlayer_flush_process_patch_to_base(), dt_drawlayer_prime_live_process_patch_before_stroke(), dt_drawlayer_process_state_invalidate(), dt_drawlayer_release_all_base_patch_extra_refs(), DT_DRAWLAYER_RUNTIME_EVENT_COMMIT_BEGIN, DT_DRAWLAYER_RUNTIME_EVENT_COMMIT_END, DT_DRAWLAYER_RUNTIME_EVENT_GUI_CHANGE_IMAGE, DT_DRAWLAYER_RUNTIME_EVENT_GUI_FOCUS_GAIN, DT_DRAWLAYER_RUNTIME_EVENT_GUI_FOCUS_LOSS, DT_DRAWLAYER_RUNTIME_EVENT_GUI_MOUSE_ENTER, DT_DRAWLAYER_RUNTIME_EVENT_GUI_MOUSE_LEAVE, DT_DRAWLAYER_RUNTIME_EVENT_GUI_PIPE_FINISHED, DT_DRAWLAYER_RUNTIME_EVENT_GUI_RAW_INPUT, DT_DRAWLAYER_RUNTIME_EVENT_GUI_RESYNC, DT_DRAWLAYER_RUNTIME_EVENT_GUI_SCROLL, DT_DRAWLAYER_RUNTIME_EVENT_GUI_STROKE_ABORT, DT_DRAWLAYER_RUNTIME_EVENT_GUI_SYNC_TEMP_BUFFERS, DT_DRAWLAYER_RUNTIME_EVENT_NONE, DT_DRAWLAYER_RUNTIME_EVENT_PROCESS_CL_AFTER, DT_DRAWLAYER_RUNTIME_EVENT_PROCESS_CL_BEFORE, DT_DRAWLAYER_RUNTIME_EVENT_PROCESS_CPU_AFTER, DT_DRAWLAYER_RUNTIME_EVENT_PROCESS_CPU_BEFORE, DT_DRAWLAYER_RUNTIME_EVENT_SIDECAR_LOAD_BEGIN, DT_DRAWLAYER_RUNTIME_EVENT_SIDECAR_LOAD_END, DT_DRAWLAYER_RUNTIME_EVENT_SIDECAR_SAVE_BEGIN, DT_DRAWLAYER_RUNTIME_EVENT_SIDECAR_SAVE_END, DT_DRAWLAYER_RUNTIME_FEEDBACK_NONE, DT_DRAWLAYER_RUNTIME_RAW_INPUT_NONE, DT_DRAWLAYER_RUNTIME_RAW_INPUT_SAMPLE, DT_DRAWLAYER_RUNTIME_RAW_INPUT_STROKE_BEGIN, DT_DRAWLAYER_RUNTIME_RAW_INPUT_STROKE_END, dt_drawlayer_set_os_cursor_hidden(), dt_drawlayer_set_pipeline_realtime_mode(), dt_drawlayer_show_runtime_feedback(), dt_drawlayer_worker_enqueue_input(), dt_drawlayer_worker_enqueue_stroke_end(), dt_drawlayer_worker_ensure_running(), dt_drawlayer_worker_flush_finished_strokes(), dt_drawlayer_worker_request_commit(), dt_drawlayer_worker_stop(), dt_drawlayer_runtime_schedule_t::ensure_layer_cache, dt_drawlayer_runtime_schedule_t::ensure_worker_running, dt_drawlayer_runtime_update_request_t::event, FALSE, dt_drawlayer_runtime_schedule_t::feedback, dt_drawlayer_runtime_schedule_t::flush_process_patch, dt_drawlayer_runtime_schedule_t::flush_sidecar, g, dt_drawlayer_runtime_request_t::gui, gui_update(), dt_drawlayer_runtime_update_request_t::inputs, dt_drawlayer_runtime_schedule_t::invalidate_layer_cache, dt_drawlayer_runtime_result_t::ok, dt_drawlayer_runtime_request_t::piece, dt_drawlayer_runtime_schedule_t::pointer_hide_cursor, dt_drawlayer_runtime_schedule_t::pointer_valid, dt_drawlayer_runtime_schedule_t::prime_live_process_patch, process(), dt_drawlayer_runtime_release_t::process, dt_drawlayer_runtime_request_t::process_state, dt_drawlayer_runtime_schedule_t::queue_raw_input, dt_drawlayer_runtime_schedule_t::queue_redraw_center, dt_drawlayer_runtime_context_t::raw_input, dt_drawlayer_runtime_update_request_t::raw_input_kind, dt_drawlayer_runtime_result_t::raw_input_ok, dt_drawlayer_runtime_schedule_t::refresh_gui, dt_drawlayer_runtime_update_request_t::release, dt_drawlayer_runtime_schedule_t::release_process_clmem, dt_drawlayer_runtime_schedule_t::request_commit, dt_drawlayer_runtime_request_t::roi_in, dt_drawlayer_runtime_request_t::roi_out, dt_drawlayer_runtime_context_t::runtime, dt_drawlayer_runtime_request_t::self, dt_drawlayer_runtime_schedule_t::set_pointer_state, dt_drawlayer_runtime_release_t::source, dt_drawlayer_runtime_schedule_t::stop_worker, dt_drawlayer_runtime_schedule_t::sync_realtime_mode, dt_drawlayer_runtime_schedule_t::sync_widget_cache, TRUE, dt_drawlayer_runtime_host_t::user_data, and dt_drawlayer_runtime_schedule_t::wait_fullres_worker.
Referenced by _develop_ui_pipe_finished_callback(), _update_gui_runtime_manager(), button_pressed(), button_released(), change_image(), gui_focus(), gui_init(), gui_reset(), gui_update(), mouse_leave(), mouse_moved(), process(), and scrolled().
| void dt_drawlayer_ui_cursor_clear | ( | dt_drawlayer_ui_state_t * | state | ) |
References dt_drawlayer_ui_state_t::cursor_color, dt_drawlayer_ui_state_t::cursor_hardness, dt_drawlayer_ui_state_t::cursor_opacity, dt_drawlayer_ui_state_t::cursor_radius, dt_drawlayer_ui_state_t::cursor_shape, dt_drawlayer_ui_state_t::cursor_surface, dt_drawlayer_ui_state_t::cursor_surface_ppd, and dt_drawlayer_ui_state_t::cursor_surface_size.
Referenced by _apply_display_brush_color(), _ensure_cursor_stamp_surface(), and gui_cleanup().