Expand description
Synchronization on the GPU.
Just like for CPU code, you have to ensure that buffers and images are not accessed mutably by multiple GPU queues simultaneously and that they are not accessed mutably by the CPU and by the GPU simultaneously.
This safety is enforced at runtime by vulkano but it is not magic and you will require some knowledge if you want to avoid errors.
Re-exports§
Modules§
- event
- An event provides fine-grained synchronization within a single queue, or from the host to a queue.
- fence
- A fence provides synchronization between the device and the host, or between an external source and the host.
- future
- Represents an event that will happen on the GPU in the future.
- semaphore
- A semaphore provides synchronization between multiple queues, with non-command buffer commands on the same queue, or between the device and an external source.
Structs§
- Access
Flags - A set of memory access types that are included in a memory dependency.
- Buffer
Memory Barrier - A memory barrier that is applied to a single buffer.
- Dependency
Flags - Flags that modify how execution and memory dependencies are formed.
- Dependency
Info - Dependency info for barriers in a pipeline barrier or event command.
- Image
Memory Barrier - A memory barrier that is applied to a single image.
- Memory
Barrier - A memory barrier that is applied globally.
- Pipeline
Stages - A set of
PipelineStagevalues.
Enums§
- Access
Conflict - Conflict when attempting to access a resource.
- Host
Access Error - Error when attempting to read or write a resource from the host (CPU).
- Pipeline
Stage - A single stage in the device’s processing pipeline.
- Queue
Family Ownership Transfer - Specifies a queue family ownership transfer for a resource.
- Sharing
- Declares in which queue(s) a resource can be used.
- Sharing
Mode - Declares in which queue(s) a resource can be used.