pub struct ChunkCtx<'a> {
pub rd: Gd<RenderingDevice>,
pub gpu: &'a mut ChunkGpuResources,
pub stage: &'a mut Option<ChunkStage>,
pub terrain: TerrainGpu,
pub res: u32,
pub realize_count: u32,
pub vis_count: u32,
pub captured: Vec<&'static str>,
/* private fields */
}Expand description
Production recording context for the chunk pipeline: wraps the main
RenderingDevice, the chunk GPU resources, and the staged upload for this
execute. Mirrors Ctx<'a> from pipeline.rs.
Fields§
§rd: Gd<RenderingDevice>§gpu: &'a mut ChunkGpuResources§stage: &'a mut Option<ChunkStage>§terrain: TerrainGpu§res: u32§realize_count: u32Chunks to realize this execute; set by the upload node from the stage and
read by the realize node to size its dispatch (count * verts_per_chunk).
vis_count: u32Visible instances this execute (CEL-73); set by the upload node, read by
the scatter-compact node to size its dispatch (vis * capacity).
captured: Vec<&'static str>Timestamp labels captured this execute (for GPU timing parity with Ctx).
Implementations§
Source§impl<'a> ChunkCtx<'a>
impl<'a> ChunkCtx<'a>
pub fn new( rd: Gd<RenderingDevice>, gpu: &'a mut ChunkGpuResources, stage: &'a mut Option<ChunkStage>, terrain: TerrainGpu, res: u32, ) -> Self
pub fn list(&mut self) -> i64
Sourcepub fn close_list(&mut self)
pub fn close_list(&mut self)
Timestamps must sit between compute lists, so close any open list.
Trait Implementations§
Auto Trait Implementations§
impl<'a> Freeze for ChunkCtx<'a>
impl<'a> !RefUnwindSafe for ChunkCtx<'a>
impl<'a> !Send for ChunkCtx<'a>
impl<'a> !Sync for ChunkCtx<'a>
impl<'a> Unpin for ChunkCtx<'a>
impl<'a> UnsafeUnpin for ChunkCtx<'a>
impl<'a> !UnwindSafe for ChunkCtx<'a>
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
Mutably borrows from an owned value. Read more