pub struct BufferBinding<'a> {
    pub buffer: &'a Buffer,
    pub offset: u64,
    pub size: Option<NonZero<u64>>,
}Expand description
Describes the segment of a buffer to bind.
Corresponds to WebGPU GPUBufferBinding.
Fields§
§buffer: &'a BufferThe buffer to bind.
offset: u64Base offset of the buffer, in bytes.
If the has_dynamic_offset field of this buffer’s layout entry is
true, the offset here will be added to the dynamic offset passed to
RenderPass::set_bind_group or ComputePass::set_bind_group.
If the buffer was created with BufferUsages::UNIFORM, then this
offset must be a multiple of
Limits::min_uniform_buffer_offset_alignment.
If the buffer was created with BufferUsages::STORAGE, then this
offset must be a multiple of
Limits::min_storage_buffer_offset_alignment.
size: Option<NonZero<u64>>Size of the binding in bytes, or None for using the rest of the buffer.
Trait Implementations§
Source§impl<'a> Clone for BufferBinding<'a>
 
impl<'a> Clone for BufferBinding<'a>
Source§fn clone(&self) -> BufferBinding<'a>
 
fn clone(&self) -> BufferBinding<'a>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
 
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<'a> Debug for BufferBinding<'a>
 
impl<'a> Debug for BufferBinding<'a>
Source§impl<'a> From<BufferSlice<'a>> for BufferBinding<'a>
 
impl<'a> From<BufferSlice<'a>> for BufferBinding<'a>
Source§fn from(value: BufferSlice<'a>) -> BufferBinding<'a>
 
fn from(value: BufferSlice<'a>) -> BufferBinding<'a>
Convert a BufferSlice to an equivalent BufferBinding,
provided that it will be used without a dynamic offset.
Source§impl<'a> IntoBinding<'a> for BufferBinding<'a>
 
impl<'a> IntoBinding<'a> for BufferBinding<'a>
fn into_binding(self) -> BindingResource<'a>
Auto Trait Implementations§
impl<'a> Freeze for BufferBinding<'a>
impl<'a> !RefUnwindSafe for BufferBinding<'a>
impl<'a> Send for BufferBinding<'a>
impl<'a> Sync for BufferBinding<'a>
impl<'a> Unpin for BufferBinding<'a>
impl<'a> !UnwindSafe for BufferBinding<'a>
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
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
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>
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>
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)
&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)
&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<T> DowncastSync for T
 
impl<T> DowncastSync for T
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>
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>
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