pub struct Compute { /* private fields */ }Expand description
Describes a compute pipeline + its own bind group, the source type
GPUCompute is built from via build_compute. Fields are private —
start from Compute::new and chain the setters below rather than
constructing one as a struct literal.
Implementations§
Source§impl Compute
impl Compute
Sourcepub fn new(shader_source: &'static str) -> Self
pub fn new(shader_source: &'static str) -> Self
Start building a compute pass with the given WGSL shader source.
All other fields are set to their defaults (see Default).
pub fn label(self, label: &'static str) -> Self
pub fn entry_point(self, entry: &'static str) -> Self
pub fn entries(self, entries: Vec<BindingEntry>) -> Self
pub fn own_group(self, group: u32) -> Self
Sourcepub fn no_own_group(self) -> Self
pub fn no_own_group(self) -> Self
Clear own_group — this compute pass has no bind group entries of
its own (only extra_layouts). The
counterpart to own_group, which can only set it
to Some.
pub fn extra_layouts(self, layouts: Vec<OwnedGroupLayout>) -> Self
Sourcepub fn build_asset(self, name: &str, assets: &mut Assets<Self>) -> Handle<Self>
pub fn build_asset(self, name: &str, assets: &mut Assets<Self>) -> Handle<Self>
Consume the builder, insert into assets under name, and return
the resulting Handle<Compute>.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for Compute
impl !UnwindSafe for Compute
impl Freeze for Compute
impl Send for Compute
impl Sync for Compute
impl Unpin for Compute
impl UnsafeUnpin for Compute
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
impl<T> Component for T
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().