disable mesh shading

This commit is contained in:
2025-06-23 22:22:17 +01:00
parent e8a80ca8b7
commit 030c4a0017
+14 -2
View File
@@ -207,6 +207,7 @@ struct RenderContext {
previous_frame_end: Option<Box<dyn GpuFuture>>, previous_frame_end: Option<Box<dyn GpuFuture>>,
gui: Gui, gui: Gui,
render_start: Instant, render_start: Instant,
new_object_start: Option<Instant>,
} }
fn app_version() -> Version { fn app_version() -> Version {
@@ -305,7 +306,7 @@ impl App {
let mut device_extensions = DeviceExtensions { let mut device_extensions = DeviceExtensions {
khr_swapchain: true, khr_swapchain: true,
ext_mesh_shader: true, ext_mesh_shader: false,
khr_fragment_shading_rate: true, khr_fragment_shading_rate: true,
..DeviceExtensions::empty() ..DeviceExtensions::empty()
}; };
@@ -762,6 +763,7 @@ impl ApplicationHandler for App {
previous_frame_end, previous_frame_end,
gui, gui,
render_start: Instant::now(), render_start: Instant::now(),
new_object_start: None,
}); });
} }
@@ -847,7 +849,8 @@ impl ApplicationHandler for App {
rot: Vec3::ZERO, rot: Vec3::ZERO,
scale: Vec3::ONE, scale: Vec3::ONE,
}; };
self.rcx.as_mut().unwrap().recreate_shaders = true; let rcx = self.rcx.as_mut().unwrap();
rcx.recreate_shaders = true;
}, },
_ => {}, _ => {},
}, },
@@ -912,6 +915,7 @@ impl App {
} }
if rcx.recreate_shaders { if rcx.recreate_shaders {
rcx.new_object_start = Some(Instant::now());
let new_module = self.gstate.csg[0] let new_module = self.gstate.csg[0]
.parts .parts
.compile_to_spirv(Some(self.base_module.clone())); .compile_to_spirv(Some(self.base_module.clone()));
@@ -953,6 +957,14 @@ impl App {
}, },
); );
rcx.recreate_pipelines = false; rcx.recreate_pipelines = false;
if (rcx.new_object_start.is_some()) {
let end = Instant::now();
info!(
"Object recreation took {} milliseconds",
(end - rcx.new_object_start.unwrap()).as_secs_f64() * 1000.0
);
rcx.new_object_start = None;
}
} }
let (mut push_constants, cam_set) = { let (mut push_constants, cam_set) = {