From f7f3f9ccf190f9b9951070faed085d05cee1c3fc Mon Sep 17 00:00:00 2001 From: hodasemi Date: Mon, 10 Mar 2025 17:19:17 +0100 Subject: [PATCH] Fix deadlock when resizing --- skybox/src/lib.rs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/skybox/src/lib.rs b/skybox/src/lib.rs index 1501c15..dea9671 100644 --- a/skybox/src/lib.rs +++ b/skybox/src/lib.rs @@ -54,7 +54,7 @@ impl SkyBox { .sample_count; let context = world.resources.get_mut_unchecked::(); - context.render_core_mut().add_render_routine::(1); + context.render_core_mut().add_render_routine::(10); let images = images.into(); let cube_map = Image::cube_map([ @@ -91,7 +91,7 @@ impl SkyBox { ) .build(context.device().clone())?; - let render_target = Self::create_render_target(context, sample_count)?; + let render_target = Self::create_render_target(context, &context.images(), sample_count)?; let pipeline_layout = PipelineLayout::builder() .add_descriptor_set_layout(&descriptor_set_layout) @@ -179,9 +179,10 @@ impl SkyBox { fn create_render_target( context: &Context, + images: &TargetMode>>, sample_count: VkSampleCountFlags, ) -> Result> { - context.images().execute(|images| { + images.execute(|images| { let first = images.first().unwrap(); let width = first.width(); @@ -287,7 +288,7 @@ impl TScene for SkyBox { &mut self, _window_width: f32, _window_height: f32, - _images: &TargetMode>>, + images: &TargetMode>>, world: &mut World, ) -> Result<()> { let sample_count = world @@ -303,7 +304,7 @@ impl TScene for SkyBox { TargetMode::Stereo(p, _) => p.pipeline_layout().clone(), }; - self.render_target = Self::create_render_target(context, sample_count)?; + self.render_target = Self::create_render_target(context, images, sample_count)?; self.pipeline = Self::create_pipeline( context, sample_count,