6#ifndef MAPLIBRE_NATIVE_C_RENDER_SESSION_H
7#define MAPLIBRE_NATIVE_C_RENDER_SESSION_H
55 MLN_RENDER_SESSION_STATE_ATTACHING = 1U,
56 MLN_RENDER_SESSION_STATE_ATTACHED = 2U,
57 MLN_RENDER_SESSION_STATE_DETACHING = 3U,
58 MLN_RENDER_SESSION_STATE_DETACHED = 4U,
65 MLN_RENDER_SESSION_STATE_ABANDONED = 6U,
174 MLN_BINDING(
"length=result_count;stride=result_size");
217typedef struct mln_render_abandon_result {
220 uint32_t disposition
MLN_BINDING(
"enum=mln_render_abandon_disposition");
222 uint32_t quarantined_resource_count;
224} mln_render_abandon_result;
445 void** out_scope
MLN_BINDING(
"direction=out;kind=context"),
699 mln_render_abandon_result* out_result
MLN_BINDING(
"direction=out"),
uint64_t mln_render_session
Definition base.h:161
uint64_t mln_render_frame_batch
Definition base.h:173
uint64_t mln_acquired_frame
Definition base.h:168
mln_status
Definition base.h:61
#define MLN_BINDING(contract)
Definition binding.h:17
mln_frame_demand mln_frame_demand_default(void)
mln_status mln_render_session_reduce_memory_use(mln_render_session session, const mln_completion *completion, mln_diagnostic *out_diagnostic)
mln_status mln_render_session_get_snapshot(mln_render_session session, mln_render_session_snapshot *out_snapshot, mln_diagnostic *out_diagnostic)
mln_render_abandon_disposition
Definition render_session.h:210
@ MLN_RENDER_ABANDON_DISPOSITION_QUARANTINED
Definition render_session.h:214
@ MLN_RENDER_ABANDON_DISPOSITION_CLEAN
Definition render_session.h:212
mln_status mln_render_session_release(mln_render_session session, mln_diagnostic *out_diagnostic)
mln_status mln_render_session_dispose(mln_render_session session, mln_diagnostic *out_diagnostic)
mln_status mln_acquired_frame_release(mln_acquired_frame frame, const mln_gpu_sync *consumer_completion, mln_diagnostic *out_diagnostic)
mln_status mln_render_session_abandon(mln_render_session session, mln_render_abandon_result *out_result, mln_diagnostic *out_diagnostic)
mln_status mln_render_session_service_driver_work(mln_render_session session, mln_diagnostic *out_diagnostic)
void mln_acquired_frame_view_end(void *scope)
mln_render_session_state
Definition render_session.h:54
@ MLN_RENDER_SESSION_STATE_TARGET_LOST
Definition render_session.h:64
mln_status mln_render_session_acquire_frame(mln_render_session session, mln_acquired_frame *out_frame, mln_diagnostic *out_diagnostic)
mln_status mln_render_frame_batch_get(mln_render_frame_batch batch, mln_render_frame_batch_view *out_view, mln_diagnostic *out_diagnostic)
mln_status mln_acquired_frame_get_result(mln_acquired_frame frame, mln_render_frame_result *out_result, mln_diagnostic *out_diagnostic)
mln_frame_demand_flag
Definition render_session.h:69
@ MLN_FRAME_DEMAND_PRESENT
Definition render_session.h:77
@ MLN_FRAME_DEMAND_WAIT_FOR_UPDATE
Definition render_session.h:93
@ MLN_FRAME_DEMAND_IF_NEEDED
Definition render_session.h:71
mln_status mln_render_session_detach(mln_render_session session, const mln_completion *completion, mln_diagnostic *out_diagnostic)
mln_status mln_render_session_clear_data(mln_render_session session, const mln_completion *completion, mln_diagnostic *out_diagnostic)
mln_status mln_render_session_barrier(mln_render_session session, const mln_completion *completion, mln_diagnostic *out_diagnostic)
mln_status mln_acquired_frame_get_producer_sync(mln_acquired_frame frame, mln_gpu_sync *out_sync, mln_diagnostic *out_diagnostic)
mln_status mln_render_session_drain_frame_results(mln_render_session session, mln_render_frame_batch *out_batch, mln_diagnostic *out_diagnostic)
mln_render_result
Definition render_session.h:25
@ MLN_RENDER_RESULT_TARGET_NOT_READY
Definition render_session.h:48
@ MLN_RENDER_RESULT_SUPERSEDED
Definition render_session.h:50
@ MLN_RENDER_RESULT_NO_UPDATE
Definition render_session.h:41
@ MLN_RENDER_RESULT_RENDERED
Definition render_session.h:33
mln_status mln_render_session_resize(mln_render_session session, mln_logical_extent extent, const mln_completion *completion, mln_diagnostic *out_diagnostic)
mln_status mln_acquired_frame_dispose(mln_acquired_frame frame, mln_diagnostic *out_diagnostic)
void mln_render_frame_batch_release(mln_render_frame_batch batch)
mln_status mln_render_session_get_capabilities(mln_render_session session, mln_render_session_capabilities *out_capabilities, mln_diagnostic *out_diagnostic)
mln_status mln_acquired_frame_view_begin(mln_acquired_frame frame, void **out_scope, mln_diagnostic *out_diagnostic)
mln_status mln_render_session_request_frame(mln_render_session session, const mln_frame_demand *demand, mln_diagnostic *out_diagnostic)
mln_status mln_render_session_dump_debug_logs(mln_render_session session, const mln_completion *completion, mln_diagnostic *out_diagnostic)
Definition completion.h:121
Definition render_session.h:97
uint64_t token
Definition render_session.h:105
uint32_t flags
Definition render_session.h:103
Definition render_target.h:217
Definition render_session.h:163
uint32_t result_size
Definition render_session.h:169
size_t result_count
Definition render_session.h:176
const mln_render_frame_result * results
Definition render_session.h:174
Definition render_session.h:116
uint32_t disposition
Definition render_session.h:119
mln_map_view view
Definition render_session.h:154
uint64_t generation
Definition render_session.h:132
bool needs_repaint
Definition render_session.h:146
uint64_t frame_generation
Definition render_session.h:137
uint64_t map_update_generation
Definition render_session.h:127
Definition render_target.h:154
Definition render_session.h:180
uint32_t acquired_frame_count
Definition render_session.h:201
bool pending_changes
Definition render_session.h:206
uint64_t rendered_update_generation
Definition render_session.h:197
uint64_t frame_generation
Definition render_session.h:199
uint64_t map_update_generation
Definition render_session.h:192
uint64_t generation
Definition render_session.h:190
mln_logical_extent extent
Definition render_session.h:185
uint32_t state
Definition render_session.h:183