Struct Alignments
pub struct Alignments {
pub buffer_copy_offset: NonZero<u64>,
pub buffer_copy_pitch: NonZero<u64>,
pub uniform_bounds_check_alignment: NonZero<u64>,
pub raw_tlas_instance_size: usize,
pub ray_tracing_scratch_buffer_alignment: u32,
}
unstable-wgpu-24
only.Fields§
§buffer_copy_offset: NonZero<u64>
The alignment of the start of the buffer used as a GPU copy source.
buffer_copy_pitch: NonZero<u64>
The alignment of the row pitch of the texture data stored in a buffer that is used in a GPU copy operation.
uniform_bounds_check_alignment: NonZero<u64>
The finest alignment of bound range checking for uniform buffers.
When wgpu_hal
restricts shader references to the accessible
region of a Uniform
buffer, the size of the accessible region
is the bind group binding’s stated size, rounded up to the next
multiple of this value.
We don’t need an analogous field for storage buffer bindings, because
all our backends promise to enforce the size at least to a four-byte
alignment, and wgpu_hal
requires bound range lengths to be a multiple
of four anyway.
raw_tlas_instance_size: usize
The size of the raw TLAS instance
ray_tracing_scratch_buffer_alignment: u32
What the scratch buffer for building an acceleration structure must be aligned to
Trait Implementations§
§impl Clone for Alignments
impl Clone for Alignments
§fn clone(&self) -> Alignments
fn clone(&self) -> Alignments
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreAuto Trait Implementations§
impl Freeze for Alignments
impl RefUnwindSafe for Alignments
impl Send for Alignments
impl Sync for Alignments
impl Unpin for Alignments
impl UnwindSafe for Alignments
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§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>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§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>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§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.§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.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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