#[repr(C)]pub struct IndirectBatchSet {
pub indirect_parameters_count: u32,
pub indirect_parameters_base: u32,
}
Expand description
A structure, shared between CPU and GPU, that holds the number of on-GPU indirect draw commands for each batch set.
A batch set is a set of meshes that may be multi-drawn together.
If the current hardware and driver support multi_draw_indirect_count
, the
indirect parameters building shader increments
Self::indirect_parameters_count
as it generates indirect parameters. The
multi_draw_indirect_count
command reads
Self::indirect_parameters_count
in order to determine how many commands
belong to each batch set.
Fields§
§indirect_parameters_count: u32
The number of indirect parameter commands (i.e. batches) in this batch set.
The CPU sets this value to 0 before uploading this structure to GPU. The
indirect parameters building shader increments this value as it creates
indirect parameters. Then the multi_draw_indirect_count
command reads
this value in order to determine how many indirect draw commands to
process.
indirect_parameters_base: u32
The offset within the IndirectParametersBuffers::indexed_data
or
IndirectParametersBuffers::non_indexed_data
of the first indirect draw
command for this batch set.
The CPU fills out this value.
Trait Implementations§
Source§impl Clone for IndirectBatchSet
impl Clone for IndirectBatchSet
Source§fn clone(&self) -> IndirectBatchSet
fn clone(&self) -> IndirectBatchSet
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl CreateFrom for IndirectBatchSet
impl CreateFrom for IndirectBatchSet
fn create_from<B: BufferRef>(reader: &mut Reader<B>) -> Self
Source§impl Default for IndirectBatchSet
impl Default for IndirectBatchSet
Source§fn default() -> IndirectBatchSet
fn default() -> IndirectBatchSet
Source§impl ReadFrom for IndirectBatchSet
impl ReadFrom for IndirectBatchSet
Source§impl ShaderSize for IndirectBatchSetwhere
u32: ShaderSize,
impl ShaderSize for IndirectBatchSetwhere
u32: ShaderSize,
Source§const SHADER_SIZE: NonZero<u64> = _
const SHADER_SIZE: NonZero<u64> = _
ShaderType::min_size
)Source§impl ShaderType for IndirectBatchSet
impl ShaderType for IndirectBatchSet
Source§fn size(&self) -> NonZeroU64
fn size(&self) -> NonZeroU64
Self
at runtime Read moreSource§fn assert_uniform_compat()
fn assert_uniform_compat()
Self
meets the requirements of the
uniform address space restrictions on stored values and the
uniform address space layout constraints Read moreSource§impl WriteInto for IndirectBatchSet
impl WriteInto for IndirectBatchSet
fn write_into<B: BufferMut>(&self, writer: &mut Writer<B>)
impl Copy for IndirectBatchSet
impl Pod for IndirectBatchSet
Auto Trait Implementations§
impl Freeze for IndirectBatchSet
impl RefUnwindSafe for IndirectBatchSet
impl Send for IndirectBatchSet
impl Sync for IndirectBatchSet
impl Unpin for IndirectBatchSet
impl UnwindSafe for IndirectBatchSet
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> CheckedBitPattern for Twhere
T: AnyBitPattern,
impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
Source§type Bits = T
type Bits = T
Self
must have the same layout as the specified Bits
except for
the possible invalid bit patterns being checked during
is_valid_bit_pattern
.Source§fn is_valid_bit_pattern(_bits: &T) -> bool
fn is_valid_bit_pattern(_bits: &T) -> bool
bits
as &Self
.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> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere
T: Default,
Source§fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
Creates Self
using default()
.
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