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

Auto Trait Implementations