@@ -103,7 +103,6 @@ impl super::Device {
103103 target,
104104 } ,
105105 externally_owned,
106- mip_level_count : desc. mip_level_count ,
107106 array_layer_count : if desc. dimension == wgt:: TextureDimension :: D2 {
108107 desc. size . depth_or_array_layers
109108 } else {
@@ -135,7 +134,6 @@ impl super::Device {
135134 raw : glow:: NativeRenderbuffer ( name) ,
136135 } ,
137136 externally_owned,
138- mip_level_count : desc. mip_level_count ,
139137 array_layer_count : if desc. dimension == wgt:: TextureDimension :: D2 {
140138 desc. size . depth_or_array_layers
141139 } else {
@@ -711,7 +709,6 @@ impl crate::Device<super::Api> for super::Device {
711709 Ok ( super :: Texture {
712710 inner,
713711 externally_owned : false ,
714- mip_level_count : desc. mip_level_count ,
715712 array_layer_count : if desc. dimension == wgt:: TextureDimension :: D2 {
716713 desc. size . depth_or_array_layers
717714 } else {
@@ -743,22 +740,18 @@ impl crate::Device<super::Api> for super::Device {
743740 texture : & super :: Texture ,
744741 desc : & crate :: TextureViewDescriptor ,
745742 ) -> Result < super :: TextureView , crate :: DeviceError > {
746- let end_array_layer = match desc. range . array_layer_count {
747- Some ( count) => desc. range . base_array_layer + count. get ( ) ,
748- None => texture. array_layer_count ,
749- } ;
750- let end_mip_level = match desc. range . mip_level_count {
751- Some ( count) => desc. range . base_mip_level + count. get ( ) ,
752- None => texture. mip_level_count ,
753- } ;
754743 Ok ( super :: TextureView {
755744 //TODO: use `conv::map_view_dimension(desc.dimension)`?
756- inner : texture. inner . clone ( ) ,
745+ inner : texture. inner ,
757746 sample_type : texture. format . describe ( ) . sample_type ,
758747 aspects : crate :: FormatAspects :: from ( texture. format )
759748 & crate :: FormatAspects :: from ( desc. range . aspect ) ,
760- mip_levels : desc. range . base_mip_level ..end_mip_level,
761- array_layers : desc. range . base_array_layer ..end_array_layer,
749+ base_mip_level : desc. range . base_mip_level ,
750+ base_array_layer : desc. range . base_array_layer ,
751+ array_layer_count : match desc. range . array_layer_count {
752+ Some ( count) => count. get ( ) ,
753+ None => texture. array_layer_count ,
754+ } ,
762755 format : texture. format ,
763756 } )
764757 }
@@ -964,7 +957,7 @@ impl crate::Device<super::Api> for super::Device {
964957 }
965958 wgt:: BindingType :: Texture { .. } => {
966959 let view = desc. textures [ entry. resource_index as usize ] . view ;
967- if view. mip_levels . start != 0 || view. array_layers . start != 0 {
960+ if view. base_mip_level != 0 || view. base_array_layer != 0 {
968961 log:: error!( "Unable to create a sampled texture binding for non-zero mipmap level or array layer.\n {}" ,
969962 "This is an implementation problem of wgpu-hal/gles backend." )
970963 }
@@ -981,11 +974,11 @@ impl crate::Device<super::Api> for super::Device {
981974 let ( raw, _target) = view. inner . as_native ( ) ;
982975 super :: RawBinding :: Image ( super :: ImageBinding {
983976 raw,
984- mip_level : view. mip_levels . start ,
977+ mip_level : view. base_mip_level ,
985978 array_layer : match view_dimension {
986979 wgt:: TextureViewDimension :: D2Array
987980 | wgt:: TextureViewDimension :: CubeArray => None ,
988- _ => Some ( view. array_layers . start ) ,
981+ _ => Some ( view. base_array_layer ) ,
989982 } ,
990983 access : conv:: map_storage_access ( access) ,
991984 format : format_desc. internal ,
0 commit comments