From 510e35d5b03db1353aff97cedfd979b5f9d005a4 Mon Sep 17 00:00:00 2001 From: Stanislav Ponomarev Date: Wed, 20 Mar 2024 16:27:47 -0400 Subject: [PATCH] Fixed crash when wgpu tries to read past image data for dds skybox re undoing a pre- ddsfile:0.5.2 workaround --- crates/bevy_render/src/texture/dds.rs | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/crates/bevy_render/src/texture/dds.rs b/crates/bevy_render/src/texture/dds.rs index b3ae1e7cfeb87..5f5afcb6ece5a 100644 --- a/crates/bevy_render/src/texture/dds.rs +++ b/crates/bevy_render/src/texture/dds.rs @@ -24,23 +24,22 @@ pub fn dds_buffer_to_image( } let mut image = Image::default(); let is_cubemap = dds.header.caps2.contains(Caps2::CUBEMAP); - let mut depth_or_array_layers = if dds.get_num_array_layers() > 1 { + let depth_or_array_layers = if dds.get_num_array_layers() > 1 { dds.get_num_array_layers() } else { dds.get_depth() }; - if is_cubemap { - if !dds.header.caps2.contains( + if is_cubemap + && !dds.header.caps2.contains( Caps2::CUBEMAP_NEGATIVEX | Caps2::CUBEMAP_NEGATIVEY | Caps2::CUBEMAP_NEGATIVEZ | Caps2::CUBEMAP_POSITIVEX | Caps2::CUBEMAP_POSITIVEY | Caps2::CUBEMAP_POSITIVEZ, - ) { - return Err(TextureError::IncompleteCubemap); - } - depth_or_array_layers *= 6; + ) + { + return Err(TextureError::IncompleteCubemap); } image.texture_descriptor.size = Extent3d { width: dds.get_width(),