pub struct ResourceBarrier {
pub src_stage: PipelineStage,
pub dst_stage: PipelineStage,
pub resource_name: String,
}Expand description
Describes a memory/execution barrier between two pipeline stages.
On a real GPU this would translate to a vkCmdPipelineBarrier or
wgpu::CommandEncoder::insert_debug_marker. Here it is a pure data
type used to validate that the user has not forgotten to insert barriers
between dependent passes.
Fields§
§src_stage: PipelineStageThe stage that writes the resource.
dst_stage: PipelineStageThe stage that reads the resource.
resource_name: StringHuman-readable name of the protected resource.
Implementations§
Source§impl ResourceBarrier
impl ResourceBarrier
Sourcepub fn new(src: PipelineStage, dst: PipelineStage, name: &str) -> Self
pub fn new(src: PipelineStage, dst: PipelineStage, name: &str) -> Self
Create a new barrier descriptor.
Sourcepub fn is_valid_order(&self) -> bool
pub fn is_valid_order(&self) -> bool
Returns true if the barrier is between stages in the correct
dependency order (src must come before dst).
Trait Implementations§
Source§impl Clone for ResourceBarrier
impl Clone for ResourceBarrier
Source§fn clone(&self) -> ResourceBarrier
fn clone(&self) -> ResourceBarrier
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ResourceBarrier
impl Debug for ResourceBarrier
Source§impl PartialEq for ResourceBarrier
impl PartialEq for ResourceBarrier
Source§fn eq(&self, other: &ResourceBarrier) -> bool
fn eq(&self, other: &ResourceBarrier) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for ResourceBarrier
Auto Trait Implementations§
impl Freeze for ResourceBarrier
impl RefUnwindSafe for ResourceBarrier
impl Send for ResourceBarrier
impl Sync for ResourceBarrier
impl Unpin for ResourceBarrier
impl UnsafeUnpin for ResourceBarrier
impl UnwindSafe for ResourceBarrier
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more