Expand description
Batching functionality when GPU preprocessing is in use.
Structs§
- Batched
Instance Buffers - The GPU buffers holding the data needed to render batches.
- Batching
Plugin - GpuOcclusion
Culling Work Item Buffers - The work item buffers we use when GPU occlusion culling is in use.
- GpuPreprocessing
Support - Records whether GPU preprocessing and/or GPU culling are supported on the device.
- Indirect
Batch Set - A structure, shared between CPU and GPU, that holds the number of on-GPU indirect draw commands for each batch set.
- Indirect
Parameters Buffers - The buffers containing all the information that indirect draw commands
(
multi_draw_indirect
,multi_draw_indirect_count
) use to draw the scene. - Indirect
Parameters CpuMetadata - A structure, initialized on CPU and read on GPU, that contains metadata about each batch.
- Indirect
Parameters GpuMetadata - A structure, written and read GPU, that records how many instances of each mesh are actually to be drawn.
- Indirect
Parameters Indexed - The
wgpu
indirect parameters structure that specifies a GPU draw command. - Indirect
Parameters NonIndexed - The
wgpu
indirect parameters structure that specifies a GPU draw command. - Instance
Input Uniform Buffer - Holds the GPU buffer of instance input data, which is the data about each mesh instance that the CPU provides.
- Late
Preprocess Work Item Indirect Parameters - A GPU-side data structure that stores the number of workgroups to dispatch for the second phase of GPU occlusion culling.
- Mesh
Class Indirect Parameters Buffers - The buffers containing all the information that indirect draw commands use to draw the scene, for a single mesh class (indexed or non-indexed), for a single phase.
- Phase
Batched Instance Buffers - The GPU buffers holding the data needed to render batches for a single phase.
- Phase
Indirect Parameters Buffers - The buffers containing all the information that indirect draw commands use to draw the scene, for a single phase.
- Preprocess
Work Item - One invocation of the preprocessing shader: i.e. one mesh instance in a view.
- Untyped
Phase Batched Instance Buffers - The GPU buffers holding the data needed to render batches for a single phase, without a type parameter for that phase.
- Untyped
Phase Indirect Parameters Buffers - The buffers containing all the information that indirect draw commands use to draw the scene, for a single phase.
Enums§
- GpuPreprocessing
Mode - The amount of GPU preprocessing (compute and indirect draw) that we do.
- Preprocess
Work Item Buffers - The buffer of GPU preprocessing work items for a single view.
Functions§
- batch_
and_ prepare_ binned_ render_ phase - Creates batches for a render phase that uses bins.
- batch_
and_ prepare_ sorted_ render_ phase - Batch the items in a sorted render phase, when GPU instance buffer building is in use. This means comparing metadata needed to draw each phase item and trying to combine the draws into a batch.
- clear_
batched_ gpu_ instance_ buffers - A system that runs early in extraction and clears out all the
BatchedInstanceBuffers
for the frame. - clear_
indirect_ parameters_ buffers - collect_
buffers_ for_ phase - A system that gathers up the per-phase GPU buffers and inserts them into the
BatchedInstanceBuffers
andIndirectParametersBuffers
tables. - delete_
old_ work_ item_ buffers - A system that removes GPU preprocessing work item buffers that correspond to
deleted
ExtractedView
s. - get_
or_ create_ work_ item_ buffer - Returns the set of work item buffers for the given view, first creating it if necessary.
- init_
work_ item_ buffers - Initializes work item buffers for a phase in preparation for a new frame.
- write_
batched_ instance_ buffers - A system that writes all instance buffers to the GPU.
- write_
indirect_ parameters_ buffers