RenderSessionAttachOptions

data class RenderSessionAttachOptions(val driver: RenderDriverKind, val producerSyncKinds: GpuSyncKindFlag = GpuSyncKindFlag.NONE, val frameWake: Wake = Wake(), val redrawWake: Wake = Wake(), val driverWorkWake: Wake = Wake(), val queueLock: QueueLock = QueueLock())

Options for attaching a render session to a map.

See mln_render_session_attach_options in the C API reference.

Constructors

Link copied to clipboard
constructor(driver: RenderDriverKind, producerSyncKinds: GpuSyncKindFlag = GpuSyncKindFlag.NONE, frameWake: Wake = Wake(), redrawWake: Wake = Wake(), driverWorkWake: Wake = Wake(), queueLock: QueueLock = QueueLock())

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard

The thread that runs the session's graphics work, which depends on the target:

Link copied to clipboard

Called when a session driven by RenderDriverKind.CALLER_GRAPHICS_THREAD has work for RenderSessionHandle.serviceDriverWork(). It isn't called again until a service runs.

Link copied to clipboard

Called when frame results are waiting for RenderSessionHandle.drainFrameResults(). It isn't called again until a drain takes them.

Link copied to clipboard

The kinds of GpuSync that you can wait on before you read an acquired frame. The session uses one of them that its target supports. Zero lets the session pick a kind that names no object to wait on.

Link copied to clipboard

Your lock on the Vulkan queue, when you submit to it yourself.

Link copied to clipboard

Called when the session has something new to draw. Demand a frame at your next display refresh. It isn't called again until you demand a frame, or while the session has no target.