#[repr(C)]pub struct EncodeParams {
pub object_count: u32,
pub region_count: u32,
pub region_mask: u32,
pub skinned_base: u32,
pub bucket_count: u32,
pub draw_status: u32,
pub _pad: [u32; 2],
}Expand description
Parameters of the Metal ICB encode kernel, pushed inline at buffer(7) after
the decision dispatch. Layout (32 bytes) must match EncodeParams in
cull_encode.metal.
Fields§
§object_count: u32Records per region: the slot grid is region_count * object_count.
region_count: u32Regions in the target ICB: 1 for the main, phase-2 and mirror culls, one per cascade for the shadow cull.
region_mask: u32Bit r set means region r is encoded this dispatch; a clear bit
leaves that region’s commands untouched.
skinned_base: u32Record index where the folded skinned tail begins; those records draw through the skinned index buffer.
bucket_count: u32How many shader-bucket ICBs the argument buffer carries.
draw_status: u32The cull_status value that encodes a draw (CullStatus::DRAWN for
every dispatch but phase 2, which encodes CullStatus::REDRAW).
_pad: [u32; 2]Padding to a 16-byte multiple.
Trait Implementations§
Source§impl Clone for EncodeParams
impl Clone for EncodeParams
Source§fn clone(&self) -> EncodeParams
fn clone(&self) -> EncodeParams
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more