Trait encase::ShaderSize

source ·
pub trait ShaderSize: ShaderType {
    const SHADER_SIZE: NonZeroU64 = _;
}
Expand description

Trait implemented for all WGSL fixed-footprint types

Provided Associated Constants§

source

const SHADER_SIZE: NonZeroU64 = _

Represents WGSL Size (equivalent to ShaderType::min_size)

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl ShaderSize for Option<NonZeroI32>

source§

impl ShaderSize for Option<NonZeroU32>

source§

impl ShaderSize for f32

source§

impl ShaderSize for i32

source§

impl ShaderSize for u32

source§

impl ShaderSize for Wrapping<i32>

source§

impl ShaderSize for Wrapping<u32>

source§

impl ShaderSize for AtomicI32

source§

impl ShaderSize for AtomicU32

source§

impl ShaderSize for Mat3
where f32: ShaderSize,

Available on crate feature glam only.
source§

impl ShaderSize for Mat2
where f32: ShaderSize,

Available on crate feature glam only.
source§

impl ShaderSize for Mat4
where f32: ShaderSize,

Available on crate feature glam only.
source§

impl ShaderSize for Vec4
where f32: ShaderSize,

Available on crate feature glam only.
source§

impl ShaderSize for Vec2
where f32: ShaderSize,

Available on crate feature glam only.
source§

impl ShaderSize for Vec3
where f32: ShaderSize,

Available on crate feature glam only.
source§

impl ShaderSize for IVec2
where i32: ShaderSize,

Available on crate feature glam only.
source§

impl ShaderSize for IVec3
where i32: ShaderSize,

Available on crate feature glam only.
source§

impl ShaderSize for IVec4
where i32: ShaderSize,

Available on crate feature glam only.
source§

impl ShaderSize for UVec2
where u32: ShaderSize,

Available on crate feature glam only.
source§

impl ShaderSize for UVec3
where u32: ShaderSize,

Available on crate feature glam only.
source§

impl ShaderSize for UVec4
where u32: ShaderSize,

Available on crate feature glam only.
source§

impl ShaderSize for IVec2
where i32: ShaderSize,

Available on crate feature ultraviolet only.
source§

impl ShaderSize for IVec3
where i32: ShaderSize,

Available on crate feature ultraviolet only.
source§

impl ShaderSize for IVec4
where i32: ShaderSize,

Available on crate feature ultraviolet only.
source§

impl ShaderSize for UVec2
where u32: ShaderSize,

Available on crate feature ultraviolet only.
source§

impl ShaderSize for UVec3
where u32: ShaderSize,

Available on crate feature ultraviolet only.
source§

impl ShaderSize for UVec4
where u32: ShaderSize,

Available on crate feature ultraviolet only.
source§

impl ShaderSize for Mat2
where f32: ShaderSize,

Available on crate feature ultraviolet only.
source§

impl ShaderSize for Mat3
where f32: ShaderSize,

Available on crate feature ultraviolet only.
source§

impl ShaderSize for Mat4
where f32: ShaderSize,

Available on crate feature ultraviolet only.
source§

impl ShaderSize for Vec2
where f32: ShaderSize,

Available on crate feature ultraviolet only.
source§

impl ShaderSize for Vec3
where f32: ShaderSize,

Available on crate feature ultraviolet only.
source§

impl ShaderSize for Vec4
where f32: ShaderSize,

Available on crate feature ultraviolet only.
source§

impl<T> ShaderSize for Cow<'_, T>
where T: ShaderSize + ?Sized + ToOwned<Owned = T>,

source§

const SHADER_SIZE: NonZeroU64 = T::SHADER_SIZE

source§

impl<T> ShaderSize for &T
where T: ShaderSize + ?Sized,

source§

const SHADER_SIZE: NonZeroU64 = T::SHADER_SIZE

source§

impl<T> ShaderSize for &mut T
where T: ShaderSize + ?Sized,

source§

const SHADER_SIZE: NonZeroU64 = T::SHADER_SIZE

source§

impl<T> ShaderSize for Box<T>
where T: ShaderSize + ?Sized,

source§

const SHADER_SIZE: NonZeroU64 = T::SHADER_SIZE

source§

impl<T> ShaderSize for Rc<T>
where T: ShaderSize + ?Sized,

source§

const SHADER_SIZE: NonZeroU64 = T::SHADER_SIZE

source§

impl<T> ShaderSize for Arc<T>
where T: ShaderSize + ?Sized,

source§

const SHADER_SIZE: NonZeroU64 = T::SHADER_SIZE

source§

impl<T> ShaderSize for Cell<T>
where T: ShaderSize + ?Sized + Copy,

source§

const SHADER_SIZE: NonZeroU64 = T::SHADER_SIZE

source§

impl<T> ShaderSize for Matrix2<T>
where T: ShaderSize,

Available on crate feature cgmath only.
source§

impl<T> ShaderSize for Matrix3<T>
where T: ShaderSize,

Available on crate feature cgmath only.
source§

impl<T> ShaderSize for Matrix4<T>
where T: ShaderSize,

Available on crate feature cgmath only.
source§

impl<T> ShaderSize for Point2<T>
where T: ShaderSize,

Available on crate feature cgmath only.
source§

impl<T> ShaderSize for Point3<T>
where T: ShaderSize,

Available on crate feature cgmath only.
source§

impl<T> ShaderSize for Vector2<T>
where T: ShaderSize,

Available on crate feature cgmath only.
source§

impl<T> ShaderSize for Vector3<T>
where T: ShaderSize,

Available on crate feature cgmath only.
source§

impl<T> ShaderSize for Vector4<T>
where T: ShaderSize,

Available on crate feature cgmath only.
source§

impl<T> ShaderSize for ColumnMatrix2<T>
where T: ShaderSize,

Available on crate feature mint only.
source§

impl<T> ShaderSize for ColumnMatrix2x3<T>
where T: ShaderSize,

Available on crate feature mint only.
source§

impl<T> ShaderSize for ColumnMatrix2x4<T>
where T: ShaderSize,

Available on crate feature mint only.
source§

impl<T> ShaderSize for ColumnMatrix3<T>
where T: ShaderSize,

Available on crate feature mint only.
source§

impl<T> ShaderSize for ColumnMatrix3x2<T>
where T: ShaderSize,

Available on crate feature mint only.
source§

impl<T> ShaderSize for ColumnMatrix3x4<T>
where T: ShaderSize,

Available on crate feature mint only.
source§

impl<T> ShaderSize for ColumnMatrix4<T>
where T: ShaderSize,

Available on crate feature mint only.
source§

impl<T> ShaderSize for ColumnMatrix4x2<T>
where T: ShaderSize,

Available on crate feature mint only.
source§

impl<T> ShaderSize for ColumnMatrix4x3<T>
where T: ShaderSize,

Available on crate feature mint only.
source§

impl<T> ShaderSize for Point2<T>
where T: ShaderSize,

Available on crate feature mint only.
source§

impl<T> ShaderSize for Point3<T>
where T: ShaderSize,

Available on crate feature mint only.
source§

impl<T> ShaderSize for Vector2<T>
where T: ShaderSize,

Available on crate feature mint only.
source§

impl<T> ShaderSize for Vector3<T>
where T: ShaderSize,

Available on crate feature mint only.
source§

impl<T> ShaderSize for Vector4<T>
where T: ShaderSize,

Available on crate feature mint only.
source§

impl<T> ShaderSize for Mat2<T>
where T: ShaderSize,

Available on crate feature vek only.
source§

impl<T> ShaderSize for Mat3<T>
where T: ShaderSize,

Available on crate feature vek only.
source§

impl<T> ShaderSize for Mat4<T>
where T: ShaderSize,

Available on crate feature vek only.
source§

impl<T> ShaderSize for Vec2<T>
where T: ShaderSize,

Available on crate feature vek only.
source§

impl<T> ShaderSize for Vec3<T>
where T: ShaderSize,

Available on crate feature vek only.
source§

impl<T> ShaderSize for Vec4<T>
where T: ShaderSize,

Available on crate feature vek only.
source§

impl<T> ShaderSize for Matrix2<T>
where T: ShaderSize,

Available on crate feature nalgebra only.
source§

impl<T> ShaderSize for Matrix2x3<T>
where T: ShaderSize,

Available on crate feature nalgebra only.
source§

impl<T> ShaderSize for Matrix2x4<T>
where T: ShaderSize,

Available on crate feature nalgebra only.
source§

impl<T> ShaderSize for Matrix3<T>
where T: ShaderSize,

Available on crate feature nalgebra only.
source§

impl<T> ShaderSize for Matrix3x2<T>
where T: ShaderSize,

Available on crate feature nalgebra only.
source§

impl<T> ShaderSize for Matrix3x4<T>
where T: ShaderSize,

Available on crate feature nalgebra only.
source§

impl<T> ShaderSize for Matrix4<T>
where T: ShaderSize,

Available on crate feature nalgebra only.
source§

impl<T> ShaderSize for Matrix4x2<T>
where T: ShaderSize,

Available on crate feature nalgebra only.
source§

impl<T> ShaderSize for Matrix4x3<T>
where T: ShaderSize,

Available on crate feature nalgebra only.
source§

impl<T> ShaderSize for Vector2<T>
where T: ShaderSize,

Available on crate feature nalgebra only.
source§

impl<T> ShaderSize for Vector3<T>
where T: ShaderSize,

Available on crate feature nalgebra only.
source§

impl<T> ShaderSize for Vector4<T>
where T: ShaderSize,

Available on crate feature nalgebra only.
source§

impl<T> ShaderSize for MatrixView2<'_, T>
where T: ShaderSize,

Available on crate feature nalgebra only.
source§

impl<T> ShaderSize for MatrixView2x3<'_, T>
where T: ShaderSize,

Available on crate feature nalgebra only.
source§

impl<T> ShaderSize for MatrixView2x4<'_, T>
where T: ShaderSize,

Available on crate feature nalgebra only.
source§

impl<T> ShaderSize for MatrixView3<'_, T>
where T: ShaderSize,

Available on crate feature nalgebra only.
source§

impl<T> ShaderSize for MatrixView3x2<'_, T>
where T: ShaderSize,

Available on crate feature nalgebra only.
source§

impl<T> ShaderSize for MatrixView3x4<'_, T>
where T: ShaderSize,

Available on crate feature nalgebra only.
source§

impl<T> ShaderSize for MatrixView4<'_, T>
where T: ShaderSize,

Available on crate feature nalgebra only.
source§

impl<T> ShaderSize for MatrixView4x2<'_, T>
where T: ShaderSize,

Available on crate feature nalgebra only.
source§

impl<T> ShaderSize for MatrixView4x3<'_, T>
where T: ShaderSize,

Available on crate feature nalgebra only.
source§

impl<T> ShaderSize for MatrixViewMut2<'_, T>
where T: ShaderSize,

Available on crate feature nalgebra only.
source§

impl<T> ShaderSize for MatrixViewMut2x3<'_, T>
where T: ShaderSize,

Available on crate feature nalgebra only.
source§

impl<T> ShaderSize for MatrixViewMut2x4<'_, T>
where T: ShaderSize,

Available on crate feature nalgebra only.
source§

impl<T> ShaderSize for MatrixViewMut3<'_, T>
where T: ShaderSize,

Available on crate feature nalgebra only.
source§

impl<T> ShaderSize for MatrixViewMut3x2<'_, T>
where T: ShaderSize,

Available on crate feature nalgebra only.
source§

impl<T> ShaderSize for MatrixViewMut3x4<'_, T>
where T: ShaderSize,

Available on crate feature nalgebra only.
source§

impl<T> ShaderSize for MatrixViewMut4<'_, T>
where T: ShaderSize,

Available on crate feature nalgebra only.
source§

impl<T> ShaderSize for MatrixViewMut4x2<'_, T>
where T: ShaderSize,

Available on crate feature nalgebra only.
source§

impl<T> ShaderSize for MatrixViewMut4x3<'_, T>
where T: ShaderSize,

Available on crate feature nalgebra only.
source§

impl<T> ShaderSize for VectorView2<'_, T>
where T: ShaderSize,

Available on crate feature nalgebra only.
source§

impl<T> ShaderSize for VectorView3<'_, T>
where T: ShaderSize,

Available on crate feature nalgebra only.
source§

impl<T> ShaderSize for VectorView4<'_, T>
where T: ShaderSize,

Available on crate feature nalgebra only.
source§

impl<T> ShaderSize for VectorViewMut2<'_, T>
where T: ShaderSize,

Available on crate feature nalgebra only.
source§

impl<T> ShaderSize for VectorViewMut3<'_, T>
where T: ShaderSize,

Available on crate feature nalgebra only.
source§

impl<T> ShaderSize for VectorViewMut4<'_, T>
where T: ShaderSize,

Available on crate feature nalgebra only.
source§

impl<T, P: SharedPointerKind> ShaderSize for SharedPointer<T, P>
where T: ShaderSize,

Available on crate feature archery only.
source§

const SHADER_SIZE: NonZeroU64 = T::SHADER_SIZE

source§

impl<T, const NUM: usize, const DEN: usize> ShaderSize for StaticRc<T, NUM, DEN>
where T: ShaderSize + ?Sized,

Available on crate feature static-rc only.
source§

const SHADER_SIZE: NonZeroU64 = T::SHADER_SIZE

source§

impl<T: ShaderSize, const N: usize> ShaderSize for [T; N]

Implementors§