Module vulkano::sync [] [src]

Synchronization primitives for Vulkan objects.

In Vulkan, you have to manually ensure two things:

  • That a buffer or an image are not read and written simultaneously (similarly to the CPU).
  • That writes to a buffer or an image are propagated to other queues by inserting memory barriers.

But don't worry ; this is automatically enforced by this library (as long as you don't use any unsafe function). See the memory module for more info.

Structs

Event

Used to block the GPU execution until an event on the CPU occurs.

Fence

A fence is used to know when a command buffer submission has finished its execution.

Semaphore

Used to provide synchronization between command buffers during their execution.

Enums

FenceWaitError

Error that can be returned when waiting on a fence.

Sharing

Declares in which queue(s) a resource can be used.

SharingMode

Declares in which queue(s) a resource can be used.

Traits

Resource

Base trait for objects that can be used as resources and must be synchronized.