Compare commits

..

2 Commits

Author SHA1 Message Date
Jarrod Doyle 2bba6c8476
Make brickmap struct private 2024-03-29 09:16:29 +00:00
Jarrod Doyle 4a5c142625
Rename brickmap unpack element 2024-03-29 09:15:19 +00:00
1 changed files with 11 additions and 12 deletions

View File

@ -1,23 +1,22 @@
use crate::gfx::{BulkBufferBuilder, Context}; use crate::gfx::{BulkBufferBuilder, Context};
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, bytemuck::Pod, bytemuck::Zeroable)]
pub struct Brickmap {
pub bitmask: [u32; 16],
pub shading_table_offset: u32,
pub lod_color: u32,
}
#[derive(Debug, Default, Copy, Clone)] #[derive(Debug, Default, Copy, Clone)]
pub struct BrickmapCacheEntry { pub struct BrickmapCacheEntry {
pub grid_idx: usize, pub grid_idx: usize,
pub shading_table_offset: u32, pub shading_table_offset: u32,
} }
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, bytemuck::Pod, bytemuck::Zeroable)]
struct Brickmap {
bitmask: [u32; 16],
shading_table_offset: u32,
lod_color: u32,
}
#[repr(C)] #[repr(C)]
#[derive(Debug, Copy, Clone, bytemuck::Pod, bytemuck::Zeroable)] #[derive(Debug, Copy, Clone, bytemuck::Pod, bytemuck::Zeroable)]
// TODO: Rename struct struct BrickmapUploadElement {
struct BrickmapUnpackElement {
cache_idx: u32, // TODO: Change to usize? cache_idx: u32, // TODO: Change to usize?
brickmap: Brickmap, brickmap: Brickmap,
shading_element_count: u32, shading_element_count: u32,
@ -29,7 +28,7 @@ pub struct BrickmapCache {
cache: Vec<Option<BrickmapCacheEntry>>, cache: Vec<Option<BrickmapCacheEntry>>,
pub index: usize, pub index: usize,
pub num_loaded: u32, pub num_loaded: u32,
staged: Vec<BrickmapUnpackElement>, staged: Vec<BrickmapUploadElement>,
max_upload_count: usize, max_upload_count: usize,
buffer: wgpu::Buffer, buffer: wgpu::Buffer,
upload_buffer: wgpu::Buffer, upload_buffer: wgpu::Buffer,
@ -103,7 +102,7 @@ impl BrickmapCache {
let mut shading_elements = [0u32; 512]; let mut shading_elements = [0u32; 512];
shading_elements[..shading_element_count].copy_from_slice(&albedo_data); shading_elements[..shading_element_count].copy_from_slice(&albedo_data);
let staged_brickmap = BrickmapUnpackElement { let staged_brickmap = BrickmapUploadElement {
cache_idx: self.index as u32, cache_idx: self.index as u32,
brickmap, brickmap,
shading_element_count: shading_element_count as u32, shading_element_count: shading_element_count as u32,