meep maap

This commit is contained in:
2021-03-13 20:44:38 +01:00
parent f5ed8f4e40
commit 0c8d09effa
2 changed files with 12 additions and 14 deletions

View File

@@ -22,7 +22,4 @@ mgf = "1.4.0"
[[bin]]
name = "converter"
path = "build/converter/src/main.rs"
[profile.dev.package."*"]
opt-level = 3
path = "build/converter/src/main.rs"

View File

@@ -447,7 +447,7 @@ impl VulkanRenderer {
device.clone(),
dimensions,
format,
MipmapsCount::Specific(13),
MipmapsCount::Log2,
usage,
layout,
device.active_queue_families(),
@@ -456,7 +456,7 @@ impl VulkanRenderer {
let init = SubImage::new(
Arc::new(initializer),
0,
13,
image_view.mipmap_levels(),
0,
1,
ImageLayout::ShaderReadOnlyOptimal,
@@ -464,15 +464,16 @@ impl VulkanRenderer {
let mut cbb = AutoCommandBufferBuilder::new(device.clone(), self.queue.family()).unwrap();
let mut offset: usize = 0;
let mut offset: usize = 128;
for i in 0..13 {
for i in 0..image_view.mipmap_levels() {
let mip_size = dimensions.to_image_dimensions().mipmap_dimensions(i).unwrap().width_height_depth();
println!("Mip level {}, dimensions {:?}", i, mip_size);
// TODO: load sizes from DXT header instead
// 4 bits per pixel in DXT1 -> 1/2 byte
let mip_byte_size = ((mip_size[0] * mip_size[1]) / 2 + 8) as usize;
let block_bytes = 8;
let mip_byte_size = (
(u32::max(4, mip_size[0]) / 4)
* (u32::max(4, mip_size[1]) / 4)
* block_bytes) as usize;
let source = CpuAccessibleBuffer::from_iter(
device.clone(),
@@ -505,8 +506,8 @@ impl VulkanRenderer {
future.flush().unwrap();
let sampler = Sampler::new(device.clone(), Filter::Linear, Filter::Linear,
MipmapMode::Nearest, SamplerAddressMode::Repeat, SamplerAddressMode::Repeat,
SamplerAddressMode::Repeat, 0.0, 1.0, 0.0, 12 as f32).unwrap();
MipmapMode::Linear, SamplerAddressMode::Repeat, SamplerAddressMode::Repeat,
SamplerAddressMode::Repeat, 0.0, 1.0, 0.0, (image_view.mipmap_levels() - 1) as f32).unwrap();
self.game_data.textures.push(Texture { image: image_view, sampler });
}