Enumeration

MaplibreNativeFfiGpuSyncKind

Declaration

enum MaplibreNativeFfi.GpuSyncKind

Description [src]

How one side waits for the other’s GPU work on a shared texture.

A sync file descriptor or an OpenGL fence signals once, so when maplibre_native_ffi_acquired_frame_release() succeeds, the session takes the one you pass. A Vulkan timeline semaphore, Metal shared event, or D3D12 fence counts up with each frame, so the one you pass stays yours. Keep it valid until a detach or release of the session completes.

See mln_gpu_sync_kind in the C API reference.

Members

MAPLIBRE_NATIVE_FFI_GPU_SYNC_CPU_COMPLETE

The work has already finished, so there is nothing to wait for.

  • Value: 0
  • Available since: 0
MAPLIBRE_NATIVE_FFI_GPU_SYNC_OPEN_GL_FENCE

handle is a GLsync in the session’s share group.

  • Value: 1
  • Available since: 0
MAPLIBRE_NATIVE_FFI_GPU_SYNC_QUEUE_ORDER

The work was submitted to the queue that both sides share, so work submitted to that queue later runs after it.

  • Value: 2
  • Available since: 0
MAPLIBRE_NATIVE_FFI_GPU_SYNC_VULKAN_TIMELINE_SEMAPHORE

handle is a VkSemaphore. Wait until it reaches value.

  • Value: 3
  • Available since: 0
MAPLIBRE_NATIVE_FFI_GPU_SYNC_SYNC_FD

handle is a sync file descriptor.

  • Value: 4
  • Available since: 0
MAPLIBRE_NATIVE_FFI_GPU_SYNC_METAL_SHARED_EVENT

handle is an MTLSharedEvent. Wait until it reaches value.

  • Value: 5
  • Available since: 0
MAPLIBRE_NATIVE_FFI_GPU_SYNC_D3D12_FENCE

handle is a shared Windows handle to an ID3D12Fence. Wait until it reaches value.

  • Value: 6
  • Available since: 0