spirv_std::image

Trait ImageSizeQuery

Source
pub trait ImageSizeQuery<T, const DIM: u32, const ARRAYED: u32> { }
Expand description

Marker trait for query size results based on image dimension and arraying.

This trait represents the SPIR-V size query results:

  • 1D images return a scalar
  • 2D/Cube/Rect images return 2 components (Cube returns face width/height)
  • 3D images return 3 components
  • Arrayed images add one component for the array size

Implementors§

Source§

impl<T: Scalar> ImageSizeQuery<T, { Dimensionality::Buffer as u32 }, { Arrayed::False as u32 }> for T

Source§

impl<T: Scalar> ImageSizeQuery<T, { Dimensionality::OneD as u32 }, { Arrayed::False as u32 }> for T

Source§

impl<V: Vector<T, 2>, T: Scalar> ImageSizeQuery<T, { Dimensionality::Cube as u32 }, { Arrayed::False as u32 }> for V

Source§

impl<V: Vector<T, 2>, T: Scalar> ImageSizeQuery<T, { Dimensionality::OneD as u32 }, { Arrayed::True as u32 }> for V

Source§

impl<V: Vector<T, 2>, T: Scalar> ImageSizeQuery<T, { Dimensionality::Rect as u32 }, { Arrayed::False as u32 }> for V

Source§

impl<V: Vector<T, 2>, T: Scalar> ImageSizeQuery<T, { Dimensionality::TwoD as u32 }, { Arrayed::False as u32 }> for V

Source§

impl<V: Vector<T, 3>, T: Scalar> ImageSizeQuery<T, { Dimensionality::Cube as u32 }, { Arrayed::True as u32 }> for V

Source§

impl<V: Vector<T, 3>, T: Scalar> ImageSizeQuery<T, { Dimensionality::Rect as u32 }, { Arrayed::True as u32 }> for V

Source§

impl<V: Vector<T, 3>, T: Scalar> ImageSizeQuery<T, { Dimensionality::ThreeD as u32 }, { Arrayed::False as u32 }> for V

Source§

impl<V: Vector<T, 3>, T: Scalar> ImageSizeQuery<T, { Dimensionality::TwoD as u32 }, { Arrayed::True as u32 }> for V

Source§

impl<V: Vector<T, 4>, T: Scalar> ImageSizeQuery<T, { Dimensionality::ThreeD as u32 }, { Arrayed::True as u32 }> for V