From 5ed2f673240f6c28a078d51c73ad3b3fba26e4e3 Mon Sep 17 00:00:00 2001 From: Albin Chaboissier Date: Tue, 15 Sep 2026 22:27:26 +0200 Subject: [PATCH] adding sort that actually stops when finshed --- shaders/voxel.spv | Bin 16948 -> 16812 bytes src/main.rs | 1 + src/voxel_cache/request_buffer.rs | 5 +---- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/shaders/voxel.spv b/shaders/voxel.spv index c406950f0473499f6eef80a570c1d73e0f4e6cce..3da5f45f9714e2f1bd6ad8560b58fe1c8789b93b 100644 GIT binary patch literal 16812 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 WY{tvg&q%uaR{b5~w9DiFk@`P)u2h=< diff --git a/src/main.rs b/src/main.rs index 1e2c90b..06154a8 100644 --- a/src/main.rs +++ b/src/main.rs @@ -146,6 +146,7 @@ impl State backends: wgpu::Backends::VULKAN, display: Some(Box::new(display)), + //flags: InstanceFlags::default() | InstanceFlags::debugging(), flags: InstanceFlags::default(), memory_budget_thresholds: MemoryBudgetThresholds::default(), backend_options: Default::default(), diff --git a/src/voxel_cache/request_buffer.rs b/src/voxel_cache/request_buffer.rs index 203fef0..78dbc4a 100644 --- a/src/voxel_cache/request_buffer.rs +++ b/src/voxel_cache/request_buffer.rs @@ -249,17 +249,14 @@ where // Check if phase is last - /* if(phase == sub_phase) {{ let next_phase_width = phase_total_width * 2; - if(next_phase_width >= element_sort_count && phase_total_width >= element_sort_count) + if(next_phase_width >= (element_sort_count * 2) && phase_total_width >= (element_sort_count * 2)) {{ - // This was the final phase, stop indirect_count = vec3(0); }} }} - */ if(phase == 0) {{