pub struct GpuChunkResident {
pub vsid: u32,
pub occupancy: Buffer,
pub color_offsets: Buffer,
pub colors: Buffer,
pub occupancy_bytes: u64,
pub color_offsets_bytes: u64,
pub colors_bytes: u64,
/* private fields */
}Expand description
GPU-side storage for one decompressed chunk. Owns its buffers; dropping releases them.
Fields§
§vsid: u32§occupancy: Buffer§color_offsets: Buffer§colors: Buffer§occupancy_bytes: u64§color_offsets_bytes: u64§colors_bytes: u64Implementations§
Source§impl GpuChunkResident
impl GpuChunkResident
Sourcepub fn upload(device: &Device, chunk: &ChunkUpload) -> Self
pub fn upload(device: &Device, chunk: &ChunkUpload) -> Self
Upload chunk to device. Single-shot allocation; no
streaming machinery yet — that arrives in GPU.6 / GPU.7.
Sourcepub fn resident_bytes(&self) -> u64
pub fn resident_bytes(&self) -> u64
Total resident bytes (occupancy + offsets + colours) — for the upload-time benchmark.
Sourcepub fn read_voxel_blocking(
&self,
device: &Device,
queue: &Queue,
x: u32,
y: u32,
z: u32,
) -> Option<u32>
pub fn read_voxel_blocking( &self, device: &Device, queue: &Queue, x: u32, y: u32, z: u32, ) -> Option<u32>
Round-trip read of a single voxel via the debug shader.
Returns Some(rgb) for a solid voxel (textured or bedrock),
None for empty / out-of-bounds.
Blocks until the GPU finishes; not intended for the render hot path. The GPU.2 validation test is the only caller.
Auto Trait Implementations§
impl !Freeze for GpuChunkResident
impl !RefUnwindSafe for GpuChunkResident
impl !UnwindSafe for GpuChunkResident
impl Send for GpuChunkResident
impl Sync for GpuChunkResident
impl Unpin for GpuChunkResident
impl UnsafeUnpin for GpuChunkResident
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