Fix deadlock when resizing
This commit is contained in:
parent
402f3eb5bd
commit
f7f3f9ccf1
1 changed files with 6 additions and 5 deletions
|
@ -54,7 +54,7 @@ impl SkyBox {
|
||||||
.sample_count;
|
.sample_count;
|
||||||
|
|
||||||
let context = world.resources.get_mut_unchecked::<Context>();
|
let context = world.resources.get_mut_unchecked::<Context>();
|
||||||
context.render_core_mut().add_render_routine::<Self>(1);
|
context.render_core_mut().add_render_routine::<Self>(10);
|
||||||
|
|
||||||
let images = images.into();
|
let images = images.into();
|
||||||
let cube_map = Image::cube_map([
|
let cube_map = Image::cube_map([
|
||||||
|
@ -91,7 +91,7 @@ impl SkyBox {
|
||||||
)
|
)
|
||||||
.build(context.device().clone())?;
|
.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()
|
let pipeline_layout = PipelineLayout::builder()
|
||||||
.add_descriptor_set_layout(&descriptor_set_layout)
|
.add_descriptor_set_layout(&descriptor_set_layout)
|
||||||
|
@ -179,9 +179,10 @@ impl SkyBox {
|
||||||
|
|
||||||
fn create_render_target(
|
fn create_render_target(
|
||||||
context: &Context,
|
context: &Context,
|
||||||
|
images: &TargetMode<Vec<Arc<Image>>>,
|
||||||
sample_count: VkSampleCountFlags,
|
sample_count: VkSampleCountFlags,
|
||||||
) -> Result<TargetMode<RenderTarget>> {
|
) -> Result<TargetMode<RenderTarget>> {
|
||||||
context.images().execute(|images| {
|
images.execute(|images| {
|
||||||
let first = images.first().unwrap();
|
let first = images.first().unwrap();
|
||||||
|
|
||||||
let width = first.width();
|
let width = first.width();
|
||||||
|
@ -287,7 +288,7 @@ impl TScene for SkyBox {
|
||||||
&mut self,
|
&mut self,
|
||||||
_window_width: f32,
|
_window_width: f32,
|
||||||
_window_height: f32,
|
_window_height: f32,
|
||||||
_images: &TargetMode<Vec<Arc<Image>>>,
|
images: &TargetMode<Vec<Arc<Image>>>,
|
||||||
world: &mut World,
|
world: &mut World,
|
||||||
) -> Result<()> {
|
) -> Result<()> {
|
||||||
let sample_count = world
|
let sample_count = world
|
||||||
|
@ -303,7 +304,7 @@ impl TScene for SkyBox {
|
||||||
TargetMode::Stereo(p, _) => p.pipeline_layout().clone(),
|
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(
|
self.pipeline = Self::create_pipeline(
|
||||||
context,
|
context,
|
||||||
sample_count,
|
sample_count,
|
||||||
|
|
Loading…
Reference in a new issue