Module Sarek_vulkan.Vulkan_api_barrier

Global memory barriers recorded into command buffers. Vulkan orders the start of commands in a queue, not their memory: every producer/consumer pair below needs one. The first scope of a barrier includes every command submitted to the queue before it, so a barrier at the head of a command buffer also orders it after earlier submissions.

val record : Vulkan_types.vk_command_buffer Ctypes.structure Ctypes_static.ptr -> src_stage:int -> dst_stage:int -> src_access:int -> dst_access:int -> unit
val compute : int
val transfer : int
val shader_rw : int
val writes : int
val before_dispatch : Vulkan_types.vk_command_buffer Ctypes.structure Ctypes_static.ptr -> unit

Before a dispatch: the writes of earlier dispatches and copies are visible to it.

val end_of_batch : Vulkan_types.vk_command_buffer Ctypes.structure Ctypes_static.ptr -> unit

End of a launch batch: dispatch writes are visible to later copies and to the host.

val before_copy : Vulkan_types.vk_command_buffer Ctypes.structure Ctypes_static.ptr -> unit

Head of a staged copy: earlier dispatches and copies are visible to it.

val after_copy : Vulkan_types.vk_command_buffer Ctypes.structure Ctypes_static.ptr -> unit

Tail of a staged copy: its writes are visible to the host.