#[repr(C)]pub struct ImageSubresourceRange {
pub aspect: TextureAspect,
pub base_mip_level: u32,
pub mip_level_count: Option<u32>,
pub base_array_layer: u32,
pub array_layer_count: Option<u32>,
}Expand description
Subresource range within an image
Fields§
§aspect: TextureAspectAspect of the texture. Color textures must be TextureAspect::All.
base_mip_level: u32Base mip level.
mip_level_count: Option<u32>Mip level count.
If Some(count), base_mip_level + count must be less or equal to underlying texture mip count.
If None, considered to include the rest of the mipmap levels, but at least 1 in total.
base_array_layer: u32Base array layer.
array_layer_count: Option<u32>Layer count.
If Some(count), base_array_layer + count must be less or equal to the underlying array count.
If None, considered to include the rest of the array layers, but at least 1 in total.
Implementations§
Source§impl ImageSubresourceRange
impl ImageSubresourceRange
Sourcepub fn is_full_resource(
&self,
format: TextureFormat,
mip_levels: u32,
array_layers: u32,
) -> bool
pub fn is_full_resource( &self, format: TextureFormat, mip_levels: u32, array_layers: u32, ) -> bool
Returns if the given range represents a full resource, with a texture of the given layer count and mip count.
let range_none = wgpu::ImageSubresourceRange {
aspect: wgpu::TextureAspect::All,
base_mip_level: 0,
mip_level_count: None,
base_array_layer: 0,
array_layer_count: None,
};
assert_eq!(range_none.is_full_resource(wgpu::TextureFormat::Stencil8, 5, 10), true);
let range_some = wgpu::ImageSubresourceRange {
aspect: wgpu::TextureAspect::All,
base_mip_level: 0,
mip_level_count: Some(5),
base_array_layer: 0,
array_layer_count: Some(10),
};
assert_eq!(range_some.is_full_resource(wgpu::TextureFormat::Stencil8, 5, 10), true);
let range_mixed = wgpu::ImageSubresourceRange {
aspect: wgpu::TextureAspect::StencilOnly,
base_mip_level: 0,
// Only partial resource
mip_level_count: Some(3),
base_array_layer: 0,
array_layer_count: None,
};
assert_eq!(range_mixed.is_full_resource(wgpu::TextureFormat::Stencil8, 5, 10), false);Trait Implementations§
Source§impl Clone for ImageSubresourceRange
impl Clone for ImageSubresourceRange
Source§fn clone(&self) -> ImageSubresourceRange
fn clone(&self) -> ImageSubresourceRange
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for ImageSubresourceRange
Source§impl Debug for ImageSubresourceRange
impl Debug for ImageSubresourceRange
Source§impl Default for ImageSubresourceRange
impl Default for ImageSubresourceRange
Source§fn default() -> ImageSubresourceRange
fn default() -> ImageSubresourceRange
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for ImageSubresourceRange
Available on crate feature serde only.
impl<'de> Deserialize<'de> for ImageSubresourceRange
Available on crate feature
serde only.Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for ImageSubresourceRange
Source§impl PartialEq for ImageSubresourceRange
impl PartialEq for ImageSubresourceRange
Source§impl Serialize for ImageSubresourceRange
Available on crate feature serde only.
impl Serialize for ImageSubresourceRange
Available on crate feature
serde only.impl StructuralPartialEq for ImageSubresourceRange
Auto Trait Implementations§
impl Freeze for ImageSubresourceRange
impl RefUnwindSafe for ImageSubresourceRange
impl Send for ImageSubresourceRange
impl Sync for ImageSubresourceRange
impl Unpin for ImageSubresourceRange
impl UnsafeUnpin for ImageSubresourceRange
impl UnwindSafe for ImageSubresourceRange
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more