From 0476822863de6a2f394d6502fecda538cd0966a2 Mon Sep 17 00:00:00 2001 From: Ashley Date: Mon, 22 Feb 2021 18:19:57 +0100 Subject: [PATCH] [rs] Fix create_texture_with_data for 3d textures (#771) * Fix create_texture_with_data for 3d textures * Remove depth_per_iteration variable --- wgpu/src/util/device.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/wgpu/src/util/device.rs b/wgpu/src/util/device.rs index 8da588802d..3ac9296304 100644 --- a/wgpu/src/util/device.rs +++ b/wgpu/src/util/device.rs @@ -25,7 +25,7 @@ pub trait DeviceExt { /// each layer and its mips to be tightly packed. /// /// Example: - /// Layer0Mip0 Layer0Mip1 Layer0Mip2 ... Layer1Mip0 Layer1Mip1 Layer1Mip2 ... + /// Layer0Mip0 Layer0Mip1 Layer0Mip2 ... Layer1Mip0 Layer1Mip1 Layer1Mip2 ... fn create_texture_with_data( &self, queue: &crate::Queue, @@ -105,7 +105,7 @@ impl DeviceExt for crate::Device { let height_blocks = mip_physical.height / format_info.block_dimensions.1 as u32; let bytes_per_row = width_blocks * format_info.block_size as u32; - let data_size = bytes_per_row * height_blocks; + let data_size = bytes_per_row * height_blocks * mip_extent.depth; let end_offset = binary_offset + data_size as usize; @@ -123,7 +123,7 @@ impl DeviceExt for crate::Device { crate::TextureDataLayout { offset: 0, bytes_per_row, - rows_per_image: 0, + rows_per_image: mip_physical.height, }, mip_physical, );