pub struct BindGroupLayoutEntry {
    pub binding: u32,
    pub visibility: ShaderStages,
    pub ty: BindingType,
    pub count: Option<NonZero<u32>>,
}Expand description
Describes a single binding inside a bind group.
Corresponds to WebGPU GPUBindGroupLayoutEntry.
Fields§
§binding: u32Binding index. Must match shader index and be unique inside a BindGroupLayout. A binding
of index 1, would be described as @group(0) @binding(1) in shaders.
visibility: ShaderStagesWhich shader stages can see this binding.
ty: BindingTypeThe type of the binding
count: Option<NonZero<u32>>If the binding is an array of multiple resources. Corresponds to binding_array<T> in the shader.
When this is Some the following validation applies:
- Size must be of value 1 or greater.
 - When 
ty == BindingType::Texture,Features::TEXTURE_BINDING_ARRAYmust be supported. - When 
ty == BindingType::Sampler,Features::TEXTURE_BINDING_ARRAYmust be supported. - When 
ty == BindingType::Buffer,Features::BUFFER_BINDING_ARRAYmust be supported. - When 
ty == BindingType::Bufferandty.ty == BufferBindingType::Storage,Features::STORAGE_RESOURCE_BINDING_ARRAYmust be supported. - When 
ty == BindingType::StorageTexture,Features::STORAGE_RESOURCE_BINDING_ARRAYmust be supported. - When any binding in the group is an array, no 
BindingType::Bufferin the group may havehas_dynamic_offset == true - When any binding in the group is an array, no 
BindingType::Bufferin the group may havety.ty == BufferBindingType::Uniform. 
Trait Implementations§
Source§impl Clone for BindGroupLayoutEntry
 
impl Clone for BindGroupLayoutEntry
Source§fn clone(&self) -> BindGroupLayoutEntry
 
fn clone(&self) -> BindGroupLayoutEntry
Returns a duplicate of the value. Read more
1.0.0 · 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 BindGroupLayoutEntry
 
impl Debug for BindGroupLayoutEntry
Source§impl<'de> Deserialize<'de> for BindGroupLayoutEntry
 
impl<'de> Deserialize<'de> for BindGroupLayoutEntry
Source§fn deserialize<__D>(
    __deserializer: __D,
) -> Result<BindGroupLayoutEntry, <__D as Deserializer<'de>>::Error>where
    __D: Deserializer<'de>,
 
fn deserialize<__D>(
    __deserializer: __D,
) -> Result<BindGroupLayoutEntry, <__D as Deserializer<'de>>::Error>where
    __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Hash for BindGroupLayoutEntry
 
impl Hash for BindGroupLayoutEntry
Source§impl PartialEq for BindGroupLayoutEntry
 
impl PartialEq for BindGroupLayoutEntry
Source§impl Serialize for BindGroupLayoutEntry
 
impl Serialize for BindGroupLayoutEntry
Source§fn serialize<__S>(
    &self,
    __serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
    __S: Serializer,
 
fn serialize<__S>(
    &self,
    __serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
    __S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl Copy for BindGroupLayoutEntry
impl Eq for BindGroupLayoutEntry
impl StructuralPartialEq for BindGroupLayoutEntry
Auto Trait Implementations§
impl Freeze for BindGroupLayoutEntry
impl RefUnwindSafe for BindGroupLayoutEntry
impl Send for BindGroupLayoutEntry
impl Sync for BindGroupLayoutEntry
impl Unpin for BindGroupLayoutEntry
impl UnwindSafe for BindGroupLayoutEntry
Blanket Implementations§
Source§impl<T, U> AsBindGroupShaderType<U> for T
 
impl<T, U> AsBindGroupShaderType<U> for T
Source§fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
 
fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
Return the 
T ShaderType for self. When used in AsBindGroup
derives, it is safe to assume that all images in self exist.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> 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>
Converts 
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn 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>
Converts 
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which 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)
Converts 
&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)
Converts 
&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> DowncastSend for T
 
impl<T> DowncastSend for T
Source§impl<Q, K> Equivalent<K> for Q
 
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
 
fn equivalent(&self, key: &K) -> bool
Compare self to 
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
 
impl<Q, K> Equivalent<K> for Q
Source§impl<T, W> HasTypeWitness<W> for Twhere
    W: MakeTypeWitness<Arg = T>,
    T: ?Sized,
 
impl<T, W> HasTypeWitness<W> for Twhere
    W: MakeTypeWitness<Arg = T>,
    T: ?Sized,
Source§impl<T> Identity for Twhere
    T: ?Sized,
 
impl<T> Identity for Twhere
    T: ?Sized,
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> IntoResult<T> for T
 
impl<T> IntoResult<T> for T
Source§fn into_result(self) -> Result<T, RunSystemError>
 
fn into_result(self) -> Result<T, RunSystemError>
Converts this type into the system output type.
Source§impl<T> Serialize for T
 
impl<T> Serialize for T
fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<(), Error>
fn do_erased_serialize( &self, serializer: &mut dyn Serializer, ) -> Result<(), ErrorImpl>
Source§impl<T> TypeData for T
 
impl<T> TypeData for T
Source§fn clone_type_data(&self) -> Box<dyn TypeData>
 
fn clone_type_data(&self) -> Box<dyn TypeData>
Creates a type-erased clone of this value.