pub struct MipLayout {
pub mip_count: u32,
pub occ_words_per_slot: u32,
pub offsets_words_per_slot: u32,
pub mip_occ_rel: [u32; 6],
pub mip_coff_rel: [u32; 6],
}Expand description
GPU.11 — per-slot occupancy/color-offset strides + per-mip
within-slot relative offsets for a grid of side vsid. All
chunks of a grid share these (uniform mip count by
gpu_mip_count). colors keep their fixed
COLORS_PER_CHUNK_WORDS stride; each mip’s colours are
concatenated within that block and indexed by the chunk’s own
(absolute) color_offsets.
Fields§
§mip_count: u32Number of mip levels stored per slot = gpu_mip_count(vsid),
always 1..=MAX_GPU_MIPS.
occ_words_per_slot: u32Occupancy u32 words per chunk slot, summed over all mips — each
mip stores its textured and solid bitmap back-to-back, so
this is Σ 2·(vsid>>m)²·occ_words_per_column_for_mip(m).
offsets_words_per_slot: u32color_offsets u32 words per chunk slot, summed over all mips
(Σ (vsid>>m)² + 1 — each mip keeps its own cols + 1 prefix
table).
mip_occ_rel: [u32; 6]Within-slot u32 offset where mip m’s occupancy starts.
mip_coff_rel: [u32; 6]Within-slot u32 offset where mip m’s color_offsets start.