Functions
mk_encoder_dispatch_indirectfunction
void mk_encoder_dispatch_indirect(mk_encoder_t enc, mk_view_id_t view, mk_shader_t shader, mk_indirect_buf_t indirect, uint32_t start, uint32_t num, uint8_t flags)
Dispatch compute shader indirectly via encoder.
| Parameter | Type | Description |
|---|
enc | mk_encoder_t | Value for enc. |
view | mk_view_id_t | Value for view. |
shader | mk_shader_t | Value for shader. |
indirect | mk_indirect_buf_t | Value for indirect. |
start | uint32_t | Value for start. |
num | uint32_t | Value for num. |
flags | uint8_t | Value for flags. |
mk_encoder_set_compute_indirectfunction
void mk_encoder_set_compute_indirect(mk_encoder_t enc, uint8_t stage, mk_indirect_buf_t buf, mk_access_t access)
Set compute indirect buffer via encoder.
| Parameter | Type | Description |
|---|
enc | mk_encoder_t | Value for enc. |
stage | uint8_t | Value for stage. |
buf | mk_indirect_buf_t | Value for buf. |
access | mk_access_t | Value for access. |
mk_encoder_set_conditionfunction
void mk_encoder_set_condition(mk_encoder_t enc, mk_occlusion_query_t query, bool visible)
Set condition for conditional rendering via encoder.
| Parameter | Type | Description |
|---|
enc | mk_encoder_t | Value for enc. |
query | mk_occlusion_query_t | Value for query. |
visible | bool | Value for visible. |
mk_encoder_submit_indirectfunction
void mk_encoder_submit_indirect(mk_encoder_t enc, mk_view_id_t view, mk_shader_t shader, mk_indirect_buf_t indirect, uint32_t start, uint32_t num, uint32_t depth, uint8_t flags)
Submit indirect draw call via encoder.
| Parameter | Type | Description |
|---|
enc | mk_encoder_t | Value for enc. |
view | mk_view_id_t | Value for view. |
shader | mk_shader_t | Value for shader. |
indirect | mk_indirect_buf_t | Value for indirect. |
start | uint32_t | Value for start. |
num | uint32_t | Value for num. |
depth | uint32_t | Value for depth. |
flags | uint8_t | Value for flags. |
mk_encoder_submit_occlusionfunction
void mk_encoder_submit_occlusion(mk_encoder_t enc, mk_view_id_t view, mk_shader_t shader, mk_occlusion_query_t query, uint32_t depth, uint8_t flags)
Submit draw call with occlusion query via encoder.
| Parameter | Type | Description |
|---|
enc | mk_encoder_t | Value for enc. |
view | mk_view_id_t | Value for view. |
shader | mk_shader_t | Value for shader. |
query | mk_occlusion_query_t | Value for query. |
depth | uint32_t | Value for depth. |
flags | uint8_t | Value for flags. |
mk_indirect_buf_createfunction
mk_indirect_buf_t mk_indirect_buf_create(uint32_t num)
Create an indirect buffer.
| Parameter | Type | Description |
|---|
num | uint32_t | Number of draw/dispatch commands the buffer can hold |
Returns Buffer handle, or MK_INDIRECT_BUF_INVALID on failure
mk_indirect_buf_destroyfunction
void mk_indirect_buf_destroy(mk_indirect_buf_t buf)
Destroy an indirect buffer.
| Parameter | Type | Description |
|---|
buf | mk_indirect_buf_t | Value for buf. |
mk_indirect_buf_is_validfunction
bool mk_indirect_buf_is_valid(mk_indirect_buf_t buf)
Check if indirect buffer handle is valid.
| Parameter | Type | Description |
|---|
buf | mk_indirect_buf_t | Value for buf. |
Returns True when the condition holds.
mk_occlusion_query_createfunction
mk_occlusion_query_t mk_occlusion_query_create(void)
Create an occlusion query.
Returns Query handle, or MK_OCCLUSION_QUERY_INVALID on failure
mk_occlusion_query_destroyfunction
void mk_occlusion_query_destroy(mk_occlusion_query_t query)
Destroy an occlusion query.
| Parameter | Type | Description |
|---|
query | mk_occlusion_query_t | Value for query. |
mk_occlusion_query_is_validfunction
bool mk_occlusion_query_is_valid(mk_occlusion_query_t query)
Check if occlusion query handle is valid.
| Parameter | Type | Description |
|---|
query | mk_occlusion_query_t | Value for query. |
Returns True when the condition holds.
mk_occlusion_query_resultfunction
mk_occlusion_result_t mk_occlusion_query_result(mk_occlusion_query_t query, int32_t *result)
Get occlusion query result.
| Parameter | Type | Description |
|---|
query | mk_occlusion_query_t | Query handle |
result | int32_t * | Pointer to store the number of visible pixels (can be NULL) |
Returns Occlusion query result
mk_render_ctx_beginfunction
bool mk_render_ctx_begin(mk_render_ctx_t ctx)
Begin encoding commands for this frame.
Must be called before any draw commands.
| Parameter | Type | Description |
|---|
ctx | mk_render_ctx_t | Context handle |
Returns true if encoding started successfully
mk_render_ctx_createfunction
mk_render_ctx_t mk_render_ctx_create(void)
Create a new render context.
Call from main thread during initialization.
Returns Context handle, or MK_RENDER_CTX_INVALID on failure
mk_render_ctx_destroyfunction
void mk_render_ctx_destroy(mk_render_ctx_t ctx)
Destroy a render context.
Call from main thread during cleanup. Context must not be in encoding state.
| Parameter | Type | Description |
|---|
ctx | mk_render_ctx_t | Active operation context. |
mk_render_ctx_encoderfunction
mk_encoder_t mk_render_ctx_encoder(mk_render_ctx_t ctx)
Get the encoder for issuing draw commands.
Only valid between begin/end calls.
| Parameter | Type | Description |
|---|
ctx | mk_render_ctx_t | Context handle |
Returns Encoder handle, or NULL if not encoding
mk_render_ctx_endfunction
void mk_render_ctx_end(mk_render_ctx_t ctx)
End encoding and submit all queued commands.
Must be called after all draw commands are issued.
| Parameter | Type | Description |
|---|
ctx | mk_render_ctx_t | Context handle |
mk_render_ctx_idfunction
uint32_t mk_render_ctx_id(mk_render_ctx_t ctx)
Stable diagnostic identifier assigned when the context is created.
| Parameter | Type | Description |
|---|
ctx | mk_render_ctx_t | Active operation context. |
Returns The resulting value.
mk_render_ctx_is_encodingfunction
bool mk_render_ctx_is_encoding(mk_render_ctx_t ctx)
Check if context is currently encoding.
| Parameter | Type | Description |
|---|
ctx | mk_render_ctx_t | Context handle |
Returns true if between begin/end calls
mk_render_ctx_preparefunction
bool mk_render_ctx_prepare(mk_render_ctx_t ctx, mk_view_t opaque_view, mk_view_t transparent_view)
Bind a context to the currently open pass before dispatching its worker job.
API-thread only. The transparent view may be MK_VIEW_INVALID for opaque-only work. Captures the current frame/pass generations for stale-use validation.
| Parameter | Type | Description |
|---|
ctx | mk_render_ctx_t | Active operation context. |
opaque_view | mk_view_t | Value for opaque view. |
transparent_view | mk_view_t | Value for transparent view. |
Returns True when the operation succeeds.