pub enum Barrier<'a, B: Backend> {
AllBuffers(Range<Access>),
AllImages(Range<Access>),
Buffer {
states: Range<State>,
target: &'a B::Buffer,
range: SubRange,
families: Option<Range<QueueFamilyId>>,
},
Image {
states: Range<State>,
target: &'a B::Image,
range: SubresourceRange,
families: Option<Range<QueueFamilyId>>,
},
}
Expand description
A memory barrier type for either buffers or images.
Variants
AllBuffers(Range<Access>)
Applies the given access flags to all buffers in the range.
AllImages(Range<Access>)
Applies the given access flags to all images in the range.
Buffer
Fields
target: &'a B::Buffer
The buffer the barrier controls.
range: SubRange
Subrange of the buffer the barrier applies to.
families: Option<Range<QueueFamilyId>>
The source and destination Queue family IDs, for a queue family ownership transfer
Can be None
to indicate no ownership transfer.
A memory barrier that defines access to a buffer.
Image
Fields
target: &'a B::Image
The image the barrier controls.
range: SubresourceRange
A SubresourceRange
that defines which section of an image the barrier applies to.
families: Option<Range<QueueFamilyId>>
The source and destination Queue family IDs, for a queue family ownership transfer
Can be None
to indicate no ownership transfer.
A memory barrier that defines access to (a subset of) an image.
Implementations
sourceimpl<'a, B: Backend> Barrier<'a, B>
impl<'a, B: Backend> Barrier<'a, B>
sourcepub fn whole_buffer(target: &'a B::Buffer, states: Range<State>) -> Self
pub fn whole_buffer(target: &'a B::Buffer, states: Range<State>) -> Self
Create a barrier for the whole buffer between the given states.
Trait Implementations
Auto Trait Implementations
impl<'a, B> RefUnwindSafe for Barrier<'a, B> where
<B as Backend>::Buffer: RefUnwindSafe,
<B as Backend>::Image: RefUnwindSafe,
impl<'a, B> Send for Barrier<'a, B>
impl<'a, B> Sync for Barrier<'a, B>
impl<'a, B> Unpin for Barrier<'a, B>
impl<'a, B> UnwindSafe for Barrier<'a, B> where
<B as Backend>::Buffer: RefUnwindSafe,
<B as Backend>::Image: RefUnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more