84 cl_mem process_read_clmem;
85 int process_read_clmem_width;
86 int process_read_clmem_height;
87 int process_read_clmem_devid;
88 gboolean process_read_clmem_dirty;
385 gboolean display_pipe,
388 gboolean *runtime_display_pipe);
typedef void((*dt_cache_allocate_t)(void *userdata, dt_cache_entry_t *entry))
Shared coordinate transforms and geometry computations for drawlayer.
void dt_drawlayer_runtime_manager_cleanup(dt_drawlayer_runtime_manager_t *state)
Definition runtime.c:127
dt_drawlayer_runtime_raw_input_kind_t
Definition runtime.h:218
@ DT_DRAWLAYER_RUNTIME_RAW_INPUT_NONE
Definition runtime.h:219
@ DT_DRAWLAYER_RUNTIME_RAW_INPUT_STROKE_BEGIN
Definition runtime.h:221
@ DT_DRAWLAYER_RUNTIME_RAW_INPUT_STROKE_END
Definition runtime.h:222
@ DT_DRAWLAYER_RUNTIME_RAW_INPUT_SAMPLE
Definition runtime.h:220
void dt_drawlayer_runtime_manager_note_sidecar_io(dt_drawlayer_runtime_manager_t *state, gboolean active)
Definition runtime.c:167
gboolean dt_drawlayer_process_state_publish_locked(dt_drawlayer_process_state_t *state, const dt_drawlayer_damaged_rect_t *damage, gboolean full_copy)
Definition runtime.c:1068
void dt_drawlayer_runtime_manager_init(dt_drawlayer_runtime_manager_t *state)
Definition runtime.c:119
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)
Definition runtime.c:753
dt_drawlayer_runtime_source_kind_t
Definition runtime.h:320
@ DT_DRAWLAYER_SOURCE_HEADLESS_BASE
Definition runtime.h:323
@ DT_DRAWLAYER_SOURCE_NONE
Definition runtime.h:321
@ DT_DRAWLAYER_SOURCE_GUI_PROCESS
Definition runtime.h:322
void dt_drawlayer_process_state_reset_stroke(dt_drawlayer_process_state_t *state)
Definition runtime.c:1035
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, gboolean display_pipe, dt_drawlayer_runtime_manager_t **runtime_manager, dt_drawlayer_process_state_t **runtime_process, gboolean *runtime_display_pipe)
Definition runtime.c:987
void dt_drawlayer_runtime_manager_note_thread(dt_drawlayer_runtime_manager_t *state, dt_drawlayer_runtime_actor_t actor, gboolean active, gboolean waiting, guint queued)
Definition runtime.c:178
void dt_drawlayer_process_state_init(dt_drawlayer_process_state_t *state)
Definition runtime.c:1001
dt_drawlayer_runtime_actor_t
Definition runtime.h:169
@ DT_DRAWLAYER_RUNTIME_ACTOR_GUI
Definition runtime.h:171
@ DT_DRAWLAYER_RUNTIME_ACTOR_RASTER_BACKEND
Definition runtime.h:174
@ DT_DRAWLAYER_RUNTIME_ACTOR_PIPELINE_CPU
Definition runtime.h:172
@ DT_DRAWLAYER_RUNTIME_ACTOR_RASTER_FULLRES
Definition runtime.h:175
@ DT_DRAWLAYER_RUNTIME_ACTOR_COUNT
Definition runtime.h:177
@ DT_DRAWLAYER_RUNTIME_ACTOR_TIFF_IO
Definition runtime.h:176
@ DT_DRAWLAYER_RUNTIME_ACTOR_NONE
Definition runtime.h:170
@ DT_DRAWLAYER_RUNTIME_ACTOR_PIPELINE_CL
Definition runtime.h:173
void dt_drawlayer_ui_cursor_clear(dt_drawlayer_ui_state_t *state)
Definition runtime.c:1148
void dt_drawlayer_process_state_cleanup(dt_drawlayer_process_state_t *state)
Definition runtime.c:1014
struct dt_drawlayer_runtime_action_request_t dt_drawlayer_runtime_action_request_t
Definition runtime.h:268
dt_drawlayer_runtime_commit_mode_t
Definition runtime.h:226
@ DT_DRAWLAYER_RUNTIME_COMMIT_HISTORY
Definition runtime.h:229
@ DT_DRAWLAYER_RUNTIME_COMMIT_QUIET
Definition runtime.h:228
@ DT_DRAWLAYER_RUNTIME_COMMIT_NONE
Definition runtime.h:227
void dt_drawlayer_process_state_invalidate(dt_drawlayer_process_state_t *state)
Definition runtime.c:1048
dt_drawlayer_runtime_buffer_t
Definition runtime.h:181
@ DT_DRAWLAYER_RUNTIME_BUFFER_COUNT
Definition runtime.h:188
@ DT_DRAWLAYER_RUNTIME_BUFFER_BASE_PATCH
Definition runtime.h:182
@ DT_DRAWLAYER_RUNTIME_BUFFER_PROCESS_STROKE_MASK
Definition runtime.h:187
@ DT_DRAWLAYER_RUNTIME_BUFFER_PROCESS_CL
Definition runtime.h:185
@ DT_DRAWLAYER_RUNTIME_BUFFER_STROKE_MASK
Definition runtime.h:186
@ DT_DRAWLAYER_RUNTIME_BUFFER_PROCESS_PATCH
Definition runtime.h:183
@ DT_DRAWLAYER_RUNTIME_BUFFER_PROCESS_SNAPSHOT
Definition runtime.h:184
dt_drawlayer_runtime_event_t
Definition runtime.h:192
@ DT_DRAWLAYER_RUNTIME_EVENT_SIDECAR_LOAD_END
Definition runtime.h:210
@ DT_DRAWLAYER_RUNTIME_EVENT_GUI_FOCUS_GAIN
Definition runtime.h:194
@ DT_DRAWLAYER_RUNTIME_EVENT_SIDECAR_LOAD_BEGIN
Definition runtime.h:209
@ DT_DRAWLAYER_RUNTIME_EVENT_GUI_RESYNC
Definition runtime.h:201
@ DT_DRAWLAYER_RUNTIME_EVENT_PROCESS_CPU_AFTER
Definition runtime.h:206
@ DT_DRAWLAYER_RUNTIME_EVENT_GUI_SCROLL
Definition runtime.h:198
@ DT_DRAWLAYER_RUNTIME_EVENT_PROCESS_CL_BEFORE
Definition runtime.h:207
@ DT_DRAWLAYER_RUNTIME_EVENT_GUI_PIPE_FINISHED
Definition runtime.h:202
@ DT_DRAWLAYER_RUNTIME_EVENT_PROCESS_CL_AFTER
Definition runtime.h:208
@ DT_DRAWLAYER_RUNTIME_EVENT_GUI_CHANGE_IMAGE
Definition runtime.h:200
@ DT_DRAWLAYER_RUNTIME_EVENT_GUI_RAW_INPUT
Definition runtime.h:204
@ DT_DRAWLAYER_RUNTIME_EVENT_PROCESS_CPU_BEFORE
Definition runtime.h:205
@ DT_DRAWLAYER_RUNTIME_EVENT_SIDECAR_SAVE_END
Definition runtime.h:212
@ DT_DRAWLAYER_RUNTIME_EVENT_GUI_MOUSE_LEAVE
Definition runtime.h:197
@ DT_DRAWLAYER_RUNTIME_EVENT_COMMIT_BEGIN
Definition runtime.h:213
@ DT_DRAWLAYER_RUNTIME_EVENT_GUI_STROKE_ABORT
Definition runtime.h:203
@ DT_DRAWLAYER_RUNTIME_EVENT_GUI_MOUSE_ENTER
Definition runtime.h:196
@ DT_DRAWLAYER_RUNTIME_EVENT_COMMIT_END
Definition runtime.h:214
@ DT_DRAWLAYER_RUNTIME_EVENT_NONE
Definition runtime.h:193
@ DT_DRAWLAYER_RUNTIME_EVENT_SIDECAR_SAVE_BEGIN
Definition runtime.h:211
@ DT_DRAWLAYER_RUNTIME_EVENT_GUI_FOCUS_LOSS
Definition runtime.h:195
@ DT_DRAWLAYER_RUNTIME_EVENT_GUI_SYNC_TEMP_BUFFERS
Definition runtime.h:199
void dt_drawlayer_runtime_manager_note_buffer_lock(dt_drawlayer_runtime_manager_t *state, dt_drawlayer_runtime_buffer_t buffer, dt_drawlayer_runtime_actor_t actor, gboolean write_lock, gboolean acquire)
Definition runtime.c:138
struct _GtkWidget GtkWidget
Definition splash.h:29
#define DRAWLAYER_NAME_SIZE
Definition src/iop/drawlayer/common.h:10
Definition coordinates.h:11
Definition pixelpipe_hb.h:58
Generic float RGBA patch stored either in malloc memory or pixel cache.
Definition iop/drawlayer/cache.h:37
GtkWidget * map_tilt_size
Definition runtime.h:155
GtkWidget * map_tilt_softness
Definition runtime.h:158
GtkWidget * map_pressure_flow
Definition runtime.h:153
GtkWidget * map_accel_flow
Definition runtime.h:161
GtkWidget * image_colorpicker_source
Definition runtime.h:127
GtkWidget * sprinkle_coarseness
Definition runtime.h:135
GtkWidget * softness
Definition runtime.h:136
GtkWidget * sprinkles
Definition runtime.h:133
GtkWidget * opacity
Definition runtime.h:131
GtkWidget * brush_mode
Definition runtime.h:122
GtkWidget * preview_bg_black
Definition runtime.h:143
GtkWidget * map_pressure_opacity
Definition runtime.h:152
GtkWidget * size
Definition runtime.h:128
GtkWidget * create_background
Definition runtime.h:146
GtkWidget * smoothing
Definition runtime.h:130
GtkWidget * preview_bg_white
Definition runtime.h:141
GtkWidget * distance
Definition runtime.h:129
GtkWidget * create_layer
Definition runtime.h:145
GtkWidget * tilt_profile
Definition runtime.h:164
GtkWidget * map_accel_softness
Definition runtime.h:162
GtkWidget * hdr_exposure
Definition runtime.h:137
GtkWidget * fill_white
Definition runtime.h:148
GtkWidget * color_swatch
Definition runtime.h:125
GtkWidget * preview_bg_image
Definition runtime.h:140
GtkWidget * color_row
Definition runtime.h:124
GtkWidget * accel_profile
Definition runtime.h:165
GtkWidget * preview_bg_grey
Definition runtime.h:142
GtkWidget * map_tilt_flow
Definition runtime.h:157
GtkWidget * fill_transparent
Definition runtime.h:150
GtkWidget * flow
Definition runtime.h:132
GtkWidget * fill_black
Definition runtime.h:149
GtkWidget * delete_layer
Definition runtime.h:144
GtkWidget * pressure_profile
Definition runtime.h:163
GtkWidget * map_accel_opacity
Definition runtime.h:160
GtkWidget * map_tilt_opacity
Definition runtime.h:156
GtkWidget * map_accel_size
Definition runtime.h:159
GtkWidget * map_pressure_softness
Definition runtime.h:154
GtkWidget * sprinkle_size
Definition runtime.h:134
GtkWidget * brush_shape
Definition runtime.h:121
GtkWidget * color
Definition runtime.h:123
GtkWidget * map_pressure_size
Definition runtime.h:151
GtkWidget * save_layer
Definition runtime.h:147
GtkWidget * image_colorpicker
Definition runtime.h:126
GtkEntry * layer_name
Definition runtime.h:138
GtkWidget * layer_select
Definition runtime.h:139
Integer axis-aligned rectangle in buffer coordinates.
Definition iop/drawlayer/paint.h:87
dt_drawlayer_cache_patch_t base_patch
Definition runtime.h:38
char cache_layer_name[DRAWLAYER_NAME_SIZE]
Definition runtime.h:69
gboolean process_snapshot_valid
Definition runtime.h:80
dt_drawlayer_cache_patch_t stroke_mask
Definition runtime.h:58
dt_iop_roi_t process_combined_roi
Definition runtime.h:91
gboolean process_patch_valid
Definition runtime.h:74
gboolean cache_dirty
Definition runtime.h:66
dt_drawlayer_cache_patch_t process_stroke_mask
Definition runtime.h:64
int process_patch_padding
Definition runtime.h:82
int cache_layer_order
Definition runtime.h:70
dt_drawlayer_cache_patch_t process_read_patch
Definition runtime.h:53
gboolean process_patch_dirty
Definition runtime.h:77
dt_drawlayer_damaged_rect_t process_dirty_rect
Definition runtime.h:81
dt_drawlayer_cache_patch_t process_patch
Definition runtime.h:45
gboolean cache_valid
Definition runtime.h:65
gboolean base_patch_loaded_ref
Definition runtime.h:71
int32_t cache_imgid
Definition runtime.h:68
uint32_t base_patch_stroke_refs
Definition runtime.h:72
dt_iop_roi_t blend_target_roi
Definition runtime.h:314
gboolean direct_copy
Definition runtime.h:316
const dt_drawlayer_cache_patch_t * patch
Definition runtime.h:313
dt_iop_roi_t source_process_roi
Definition runtime.h:315
const dt_drawlayer_paint_raw_input_t * raw_input
Definition runtime.h:308
dt_drawlayer_runtime_request_t runtime
Definition runtime.h:307
gboolean(* perform_action)(void *user_data, const dt_drawlayer_runtime_action_request_t *action, dt_drawlayer_runtime_result_t *result)
Definition runtime.h:276
void * user_data
Definition runtime.h:272
void(* collect_inputs)(void *user_data, dt_drawlayer_runtime_inputs_t *inputs, dt_drawlayer_worker_snapshot_t *worker_snapshot)
Definition runtime.h:273
dt_drawlayer_runtime_private_t * priv
Definition runtime.h:245
gboolean realtime_active
Definition runtime.h:242
gboolean painting_active
Definition runtime.h:243
gboolean background_job_running
Definition runtime.h:244
dt_drawlayer_runtime_source_t * source
Definition runtime.h:345
dt_drawlayer_process_state_t * process
Definition runtime.h:344
gboolean use_opencl
Definition runtime.h:302
gboolean display_pipe
Definition runtime.h:299
const dt_iop_drawlayer_params_t * runtime_params
Definition runtime.h:295
dt_iop_module_t * self
Definition runtime.h:293
const dt_iop_roi_t * roi_in
Definition runtime.h:300
dt_iop_drawlayer_gui_data_t * gui
Definition runtime.h:296
dt_drawlayer_process_state_t * process_state
Definition runtime.h:298
const dt_iop_roi_t * roi_out
Definition runtime.h:301
dt_dev_pixelpipe_iop_t * piece
Definition runtime.h:294
dt_drawlayer_runtime_manager_t * manager
Definition runtime.h:297
gboolean raw_input_ok
Definition runtime.h:235
gboolean ok
Definition runtime.h:234
const float * pixels
Definition runtime.h:330
dt_drawlayer_runtime_buffer_t tracked_buffer
Definition runtime.h:337
dt_iop_roi_t target_roi
Definition runtime.h:335
int width
Definition runtime.h:332
gboolean direct_copy
Definition runtime.h:334
gboolean tracked_read_lock
Definition runtime.h:339
int height
Definition runtime.h:333
dt_drawlayer_runtime_source_kind_t kind
Definition runtime.h:328
dt_pixel_cache_entry_t * cache_entry
Definition runtime.h:331
dt_drawlayer_process_view_t process_view
Definition runtime.h:329
dt_iop_roi_t source_roi
Definition runtime.h:336
dt_drawlayer_runtime_actor_t tracked_actor
Definition runtime.h:338
const dt_drawlayer_runtime_inputs_t * inputs
Definition runtime.h:352
dt_drawlayer_runtime_event_t event
Definition runtime.h:350
gboolean flush_pending
Definition runtime.h:353
dt_drawlayer_runtime_release_t release
Definition runtime.h:354
dt_drawlayer_runtime_raw_input_kind_t raw_input_kind
Definition runtime.h:351
float last_view_x
Definition runtime.h:21
drawlayer_view_patch_t live_patch
Definition runtime.h:27
char missing_layer_prompt_name[DRAWLAYER_NAME_SIZE]
Definition runtime.h:29
dt_drawlayer_damaged_rect_t preview_rect
Definition runtime.h:26
gboolean pointer_valid
Definition runtime.h:20
float live_padding
Definition runtime.h:25
float last_view_y
Definition runtime.h:22
dt_drawlayer_damaged_rect_t live_view_rect
Definition runtime.h:24
int preview_bg_mode
Definition runtime.h:28
gboolean background_job_running
Definition runtime.h:30
float last_view_scale
Definition runtime.h:23
uint32_t current_stroke_batch
Definition runtime.h:103
gboolean last_dab_valid
Definition runtime.h:99
uint32_t stroke_event_index
Definition runtime.h:98
guint stroke_sample_count
Definition runtime.h:97
float last_dab_x
Definition runtime.h:100
dt_drawlayer_worker_t * worker
Definition runtime.h:96
float last_dab_y
Definition runtime.h:101
gboolean finish_commit_pending
Definition runtime.h:102
float cursor_opacity
Definition runtime.h:113
cairo_surface_t * cursor_surface
Definition runtime.h:109
float cursor_radius
Definition runtime.h:112
double cursor_surface_ppd
Definition runtime.h:111
int cursor_shape
Definition runtime.h:115
dt_drawlayer_widgets_t * widgets
Definition runtime.h:108
float cursor_color[3]
Definition runtime.h:116
float cursor_hardness
Definition runtime.h:114
int cursor_surface_size
Definition runtime.h:110
Drawlayer worker global state shared with drawlayer module.
Definition worker.c:76
dt_drawlayer_controls_t controls
Definition runtime.h:288
dt_drawlayer_process_state_t process
Definition runtime.h:284
dt_drawlayer_session_state_t session
Definition runtime.h:283
dt_drawlayer_stroke_state_t stroke
Definition runtime.h:285
dt_drawlayer_runtime_manager_t manager
Definition runtime.h:286
dt_drawlayer_ui_state_t ui
Definition runtime.h:287
Definition src/iop/drawlayer/common.h:14
Definition pixelpipe_cache.h:78
Background stroke worker API for drawlayer realtime painting.