pub struct PipelineBarrier {
pub src_stage: PipelineStage,
pub dst_stage: PipelineStage,
pub label: String,
pub color_to_shader_read: bool,
}Expand description
A pipeline memory barrier between passes.
Fields§
§src_stage: PipelineStageStage that must complete before the barrier.
dst_stage: PipelineStageStage that must wait after the barrier.
label: StringHuman-readable label.
color_to_shader_read: boolWhether this is a color attachment → shader read transition.
Implementations§
Source§impl PipelineBarrier
impl PipelineBarrier
Sourcepub fn color_attachment_to_shader_read(label: impl Into<String>) -> Self
pub fn color_attachment_to_shader_read(label: impl Into<String>) -> Self
Create a color attachment output → shader read barrier.
Sourcepub fn compute_to_compute(label: impl Into<String>) -> Self
pub fn compute_to_compute(label: impl Into<String>) -> Self
Create a compute → compute barrier (for storage buffer hazards).
Sourcepub fn is_compute_read_hazard(&self) -> bool
pub fn is_compute_read_hazard(&self) -> bool
True when the barrier crosses a compute → read hazard.
Trait Implementations§
Source§impl Clone for PipelineBarrier
impl Clone for PipelineBarrier
Source§fn clone(&self) -> PipelineBarrier
fn clone(&self) -> PipelineBarrier
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 moreAuto Trait Implementations§
impl Freeze for PipelineBarrier
impl RefUnwindSafe for PipelineBarrier
impl Send for PipelineBarrier
impl Sync for PipelineBarrier
impl Unpin for PipelineBarrier
impl UnsafeUnpin for PipelineBarrier
impl UnwindSafe for PipelineBarrier
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