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
- An event provides fine-grained synchronization within a single queue, or from the host to a queue.
- A fence provides synchronization between the device and the host, or between an external source and the host.
- Represents an event that will happen on the GPU in the future.
- 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
- A set of memory access types that are included in a memory dependency.
- A memory barrier that is applied to a single buffer.
- Flags that modify how execution and memory dependencies are formed.
- Dependency info for barriers in a pipeline barrier or event command.
- A memory barrier that is applied to a single image.
- A memory barrier that is applied globally.
- A set of
PipelineStage
values.
Enums
- Conflict when attempting to access a resource.
- Error when attempting to read or write a resource from the host (CPU).
- A single stage in the device’s processing pipeline.
- Specifies a queue family ownership transfer for a resource.
- Declares in which queue(s) a resource can be used.
- Declares in which queue(s) a resource can be used.