Struct vk_sync::BufferBarrier [−][src]
pub struct BufferBarrier {
pub previous_accesses: Vec<AccessType>,
pub next_accesses: Vec<AccessType>,
pub src_queue_family_index: u32,
pub dst_queue_family_index: u32,
pub buffer: BufferType,
pub offset: usize,
pub size: usize,
}Buffer barriers should only be used when a queue family ownership transfer is required - prefer global barriers at all other times.
Access types are defined in the same way as for a global memory barrier, but
they only affect the buffer range identified by buffer, offset and size,
rather than all resources.
src_queue_family_index and dst_queue_family_index will be passed unmodified
into a buffer memory barrier.
A buffer barrier defining a queue ownership transfer needs to be executed twice - once by a queue in the source queue family, and then once again by a queue in the destination queue family, with a semaphore guaranteeing execution order between them.
Fields
previous_accesses: Vec<AccessType>
next_accesses: Vec<AccessType>
src_queue_family_index: u32
dst_queue_family_index: u32
buffer: BufferType
offset: usize
size: usize
Auto Trait Implementations
impl Send for BufferBarrier
impl Send for BufferBarrierimpl Sync for BufferBarrier
impl Sync for BufferBarrier