// This file is auto-generated by vulkano autogen from vk.xml header version 1.3.238. // It should not be edited manually. Changes should be made by editing autogen. #[doc = r" An enumeration of all the possible formats."] #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)] #[repr(i32)] #[allow(non_camel_case_types)] #[non_exhaustive] pub enum Format { R4G4_UNORM_PACK8 = ash::vk::Format::R4G4_UNORM_PACK8.as_raw(), R4G4B4A4_UNORM_PACK16 = ash::vk::Format::R4G4B4A4_UNORM_PACK16.as_raw(), B4G4R4A4_UNORM_PACK16 = ash::vk::Format::B4G4R4A4_UNORM_PACK16.as_raw(), R5G6B5_UNORM_PACK16 = ash::vk::Format::R5G6B5_UNORM_PACK16.as_raw(), B5G6R5_UNORM_PACK16 = ash::vk::Format::B5G6R5_UNORM_PACK16.as_raw(), R5G5B5A1_UNORM_PACK16 = ash::vk::Format::R5G5B5A1_UNORM_PACK16.as_raw(), B5G5R5A1_UNORM_PACK16 = ash::vk::Format::B5G5R5A1_UNORM_PACK16.as_raw(), A1R5G5B5_UNORM_PACK16 = ash::vk::Format::A1R5G5B5_UNORM_PACK16.as_raw(), R8_UNORM = ash::vk::Format::R8_UNORM.as_raw(), R8_SNORM = ash::vk::Format::R8_SNORM.as_raw(), R8_USCALED = ash::vk::Format::R8_USCALED.as_raw(), R8_SSCALED = ash::vk::Format::R8_SSCALED.as_raw(), R8_UINT = ash::vk::Format::R8_UINT.as_raw(), R8_SINT = ash::vk::Format::R8_SINT.as_raw(), R8_SRGB = ash::vk::Format::R8_SRGB.as_raw(), R8G8_UNORM = ash::vk::Format::R8G8_UNORM.as_raw(), R8G8_SNORM = ash::vk::Format::R8G8_SNORM.as_raw(), R8G8_USCALED = ash::vk::Format::R8G8_USCALED.as_raw(), R8G8_SSCALED = ash::vk::Format::R8G8_SSCALED.as_raw(), R8G8_UINT = ash::vk::Format::R8G8_UINT.as_raw(), R8G8_SINT = ash::vk::Format::R8G8_SINT.as_raw(), R8G8_SRGB = ash::vk::Format::R8G8_SRGB.as_raw(), R8G8B8_UNORM = ash::vk::Format::R8G8B8_UNORM.as_raw(), R8G8B8_SNORM = ash::vk::Format::R8G8B8_SNORM.as_raw(), R8G8B8_USCALED = ash::vk::Format::R8G8B8_USCALED.as_raw(), R8G8B8_SSCALED = ash::vk::Format::R8G8B8_SSCALED.as_raw(), R8G8B8_UINT = ash::vk::Format::R8G8B8_UINT.as_raw(), R8G8B8_SINT = ash::vk::Format::R8G8B8_SINT.as_raw(), R8G8B8_SRGB = ash::vk::Format::R8G8B8_SRGB.as_raw(), B8G8R8_UNORM = ash::vk::Format::B8G8R8_UNORM.as_raw(), B8G8R8_SNORM = ash::vk::Format::B8G8R8_SNORM.as_raw(), B8G8R8_USCALED = ash::vk::Format::B8G8R8_USCALED.as_raw(), B8G8R8_SSCALED = ash::vk::Format::B8G8R8_SSCALED.as_raw(), B8G8R8_UINT = ash::vk::Format::B8G8R8_UINT.as_raw(), B8G8R8_SINT = ash::vk::Format::B8G8R8_SINT.as_raw(), B8G8R8_SRGB = ash::vk::Format::B8G8R8_SRGB.as_raw(), R8G8B8A8_UNORM = ash::vk::Format::R8G8B8A8_UNORM.as_raw(), R8G8B8A8_SNORM = ash::vk::Format::R8G8B8A8_SNORM.as_raw(), R8G8B8A8_USCALED = ash::vk::Format::R8G8B8A8_USCALED.as_raw(), R8G8B8A8_SSCALED = ash::vk::Format::R8G8B8A8_SSCALED.as_raw(), R8G8B8A8_UINT = ash::vk::Format::R8G8B8A8_UINT.as_raw(), R8G8B8A8_SINT = ash::vk::Format::R8G8B8A8_SINT.as_raw(), R8G8B8A8_SRGB = ash::vk::Format::R8G8B8A8_SRGB.as_raw(), B8G8R8A8_UNORM = ash::vk::Format::B8G8R8A8_UNORM.as_raw(), B8G8R8A8_SNORM = ash::vk::Format::B8G8R8A8_SNORM.as_raw(), B8G8R8A8_USCALED = ash::vk::Format::B8G8R8A8_USCALED.as_raw(), B8G8R8A8_SSCALED = ash::vk::Format::B8G8R8A8_SSCALED.as_raw(), B8G8R8A8_UINT = ash::vk::Format::B8G8R8A8_UINT.as_raw(), B8G8R8A8_SINT = ash::vk::Format::B8G8R8A8_SINT.as_raw(), B8G8R8A8_SRGB = ash::vk::Format::B8G8R8A8_SRGB.as_raw(), A8B8G8R8_UNORM_PACK32 = ash::vk::Format::A8B8G8R8_UNORM_PACK32.as_raw(), A8B8G8R8_SNORM_PACK32 = ash::vk::Format::A8B8G8R8_SNORM_PACK32.as_raw(), A8B8G8R8_USCALED_PACK32 = ash::vk::Format::A8B8G8R8_USCALED_PACK32.as_raw(), A8B8G8R8_SSCALED_PACK32 = ash::vk::Format::A8B8G8R8_SSCALED_PACK32.as_raw(), A8B8G8R8_UINT_PACK32 = ash::vk::Format::A8B8G8R8_UINT_PACK32.as_raw(), A8B8G8R8_SINT_PACK32 = ash::vk::Format::A8B8G8R8_SINT_PACK32.as_raw(), A8B8G8R8_SRGB_PACK32 = ash::vk::Format::A8B8G8R8_SRGB_PACK32.as_raw(), A2R10G10B10_UNORM_PACK32 = ash::vk::Format::A2R10G10B10_UNORM_PACK32.as_raw(), A2R10G10B10_SNORM_PACK32 = ash::vk::Format::A2R10G10B10_SNORM_PACK32.as_raw(), A2R10G10B10_USCALED_PACK32 = ash::vk::Format::A2R10G10B10_USCALED_PACK32.as_raw(), A2R10G10B10_SSCALED_PACK32 = ash::vk::Format::A2R10G10B10_SSCALED_PACK32.as_raw(), A2R10G10B10_UINT_PACK32 = ash::vk::Format::A2R10G10B10_UINT_PACK32.as_raw(), A2R10G10B10_SINT_PACK32 = ash::vk::Format::A2R10G10B10_SINT_PACK32.as_raw(), A2B10G10R10_UNORM_PACK32 = ash::vk::Format::A2B10G10R10_UNORM_PACK32.as_raw(), A2B10G10R10_SNORM_PACK32 = ash::vk::Format::A2B10G10R10_SNORM_PACK32.as_raw(), A2B10G10R10_USCALED_PACK32 = ash::vk::Format::A2B10G10R10_USCALED_PACK32.as_raw(), A2B10G10R10_SSCALED_PACK32 = ash::vk::Format::A2B10G10R10_SSCALED_PACK32.as_raw(), A2B10G10R10_UINT_PACK32 = ash::vk::Format::A2B10G10R10_UINT_PACK32.as_raw(), A2B10G10R10_SINT_PACK32 = ash::vk::Format::A2B10G10R10_SINT_PACK32.as_raw(), R16_UNORM = ash::vk::Format::R16_UNORM.as_raw(), R16_SNORM = ash::vk::Format::R16_SNORM.as_raw(), R16_USCALED = ash::vk::Format::R16_USCALED.as_raw(), R16_SSCALED = ash::vk::Format::R16_SSCALED.as_raw(), R16_UINT = ash::vk::Format::R16_UINT.as_raw(), R16_SINT = ash::vk::Format::R16_SINT.as_raw(), R16_SFLOAT = ash::vk::Format::R16_SFLOAT.as_raw(), R16G16_UNORM = ash::vk::Format::R16G16_UNORM.as_raw(), R16G16_SNORM = ash::vk::Format::R16G16_SNORM.as_raw(), R16G16_USCALED = ash::vk::Format::R16G16_USCALED.as_raw(), R16G16_SSCALED = ash::vk::Format::R16G16_SSCALED.as_raw(), R16G16_UINT = ash::vk::Format::R16G16_UINT.as_raw(), R16G16_SINT = ash::vk::Format::R16G16_SINT.as_raw(), R16G16_SFLOAT = ash::vk::Format::R16G16_SFLOAT.as_raw(), R16G16B16_UNORM = ash::vk::Format::R16G16B16_UNORM.as_raw(), R16G16B16_SNORM = ash::vk::Format::R16G16B16_SNORM.as_raw(), R16G16B16_USCALED = ash::vk::Format::R16G16B16_USCALED.as_raw(), R16G16B16_SSCALED = ash::vk::Format::R16G16B16_SSCALED.as_raw(), R16G16B16_UINT = ash::vk::Format::R16G16B16_UINT.as_raw(), R16G16B16_SINT = ash::vk::Format::R16G16B16_SINT.as_raw(), R16G16B16_SFLOAT = ash::vk::Format::R16G16B16_SFLOAT.as_raw(), R16G16B16A16_UNORM = ash::vk::Format::R16G16B16A16_UNORM.as_raw(), R16G16B16A16_SNORM = ash::vk::Format::R16G16B16A16_SNORM.as_raw(), R16G16B16A16_USCALED = ash::vk::Format::R16G16B16A16_USCALED.as_raw(), R16G16B16A16_SSCALED = ash::vk::Format::R16G16B16A16_SSCALED.as_raw(), R16G16B16A16_UINT = ash::vk::Format::R16G16B16A16_UINT.as_raw(), R16G16B16A16_SINT = ash::vk::Format::R16G16B16A16_SINT.as_raw(), R16G16B16A16_SFLOAT = ash::vk::Format::R16G16B16A16_SFLOAT.as_raw(), R32_UINT = ash::vk::Format::R32_UINT.as_raw(), R32_SINT = ash::vk::Format::R32_SINT.as_raw(), R32_SFLOAT = ash::vk::Format::R32_SFLOAT.as_raw(), R32G32_UINT = ash::vk::Format::R32G32_UINT.as_raw(), R32G32_SINT = ash::vk::Format::R32G32_SINT.as_raw(), R32G32_SFLOAT = ash::vk::Format::R32G32_SFLOAT.as_raw(), R32G32B32_UINT = ash::vk::Format::R32G32B32_UINT.as_raw(), R32G32B32_SINT = ash::vk::Format::R32G32B32_SINT.as_raw(), R32G32B32_SFLOAT = ash::vk::Format::R32G32B32_SFLOAT.as_raw(), R32G32B32A32_UINT = ash::vk::Format::R32G32B32A32_UINT.as_raw(), R32G32B32A32_SINT = ash::vk::Format::R32G32B32A32_SINT.as_raw(), R32G32B32A32_SFLOAT = ash::vk::Format::R32G32B32A32_SFLOAT.as_raw(), R64_UINT = ash::vk::Format::R64_UINT.as_raw(), R64_SINT = ash::vk::Format::R64_SINT.as_raw(), R64_SFLOAT = ash::vk::Format::R64_SFLOAT.as_raw(), R64G64_UINT = ash::vk::Format::R64G64_UINT.as_raw(), R64G64_SINT = ash::vk::Format::R64G64_SINT.as_raw(), R64G64_SFLOAT = ash::vk::Format::R64G64_SFLOAT.as_raw(), R64G64B64_UINT = ash::vk::Format::R64G64B64_UINT.as_raw(), R64G64B64_SINT = ash::vk::Format::R64G64B64_SINT.as_raw(), R64G64B64_SFLOAT = ash::vk::Format::R64G64B64_SFLOAT.as_raw(), R64G64B64A64_UINT = ash::vk::Format::R64G64B64A64_UINT.as_raw(), R64G64B64A64_SINT = ash::vk::Format::R64G64B64A64_SINT.as_raw(), R64G64B64A64_SFLOAT = ash::vk::Format::R64G64B64A64_SFLOAT.as_raw(), B10G11R11_UFLOAT_PACK32 = ash::vk::Format::B10G11R11_UFLOAT_PACK32.as_raw(), E5B9G9R9_UFLOAT_PACK32 = ash::vk::Format::E5B9G9R9_UFLOAT_PACK32.as_raw(), D16_UNORM = ash::vk::Format::D16_UNORM.as_raw(), X8_D24_UNORM_PACK32 = ash::vk::Format::X8_D24_UNORM_PACK32.as_raw(), D32_SFLOAT = ash::vk::Format::D32_SFLOAT.as_raw(), S8_UINT = ash::vk::Format::S8_UINT.as_raw(), D16_UNORM_S8_UINT = ash::vk::Format::D16_UNORM_S8_UINT.as_raw(), D24_UNORM_S8_UINT = ash::vk::Format::D24_UNORM_S8_UINT.as_raw(), D32_SFLOAT_S8_UINT = ash::vk::Format::D32_SFLOAT_S8_UINT.as_raw(), BC1_RGB_UNORM_BLOCK = ash::vk::Format::BC1_RGB_UNORM_BLOCK.as_raw(), BC1_RGB_SRGB_BLOCK = ash::vk::Format::BC1_RGB_SRGB_BLOCK.as_raw(), BC1_RGBA_UNORM_BLOCK = ash::vk::Format::BC1_RGBA_UNORM_BLOCK.as_raw(), BC1_RGBA_SRGB_BLOCK = ash::vk::Format::BC1_RGBA_SRGB_BLOCK.as_raw(), BC2_UNORM_BLOCK = ash::vk::Format::BC2_UNORM_BLOCK.as_raw(), BC2_SRGB_BLOCK = ash::vk::Format::BC2_SRGB_BLOCK.as_raw(), BC3_UNORM_BLOCK = ash::vk::Format::BC3_UNORM_BLOCK.as_raw(), BC3_SRGB_BLOCK = ash::vk::Format::BC3_SRGB_BLOCK.as_raw(), BC4_UNORM_BLOCK = ash::vk::Format::BC4_UNORM_BLOCK.as_raw(), BC4_SNORM_BLOCK = ash::vk::Format::BC4_SNORM_BLOCK.as_raw(), BC5_UNORM_BLOCK = ash::vk::Format::BC5_UNORM_BLOCK.as_raw(), BC5_SNORM_BLOCK = ash::vk::Format::BC5_SNORM_BLOCK.as_raw(), BC6H_UFLOAT_BLOCK = ash::vk::Format::BC6H_UFLOAT_BLOCK.as_raw(), BC6H_SFLOAT_BLOCK = ash::vk::Format::BC6H_SFLOAT_BLOCK.as_raw(), BC7_UNORM_BLOCK = ash::vk::Format::BC7_UNORM_BLOCK.as_raw(), BC7_SRGB_BLOCK = ash::vk::Format::BC7_SRGB_BLOCK.as_raw(), ETC2_R8G8B8_UNORM_BLOCK = ash::vk::Format::ETC2_R8G8B8_UNORM_BLOCK.as_raw(), ETC2_R8G8B8_SRGB_BLOCK = ash::vk::Format::ETC2_R8G8B8_SRGB_BLOCK.as_raw(), ETC2_R8G8B8A1_UNORM_BLOCK = ash::vk::Format::ETC2_R8G8B8A1_UNORM_BLOCK.as_raw(), ETC2_R8G8B8A1_SRGB_BLOCK = ash::vk::Format::ETC2_R8G8B8A1_SRGB_BLOCK.as_raw(), ETC2_R8G8B8A8_UNORM_BLOCK = ash::vk::Format::ETC2_R8G8B8A8_UNORM_BLOCK.as_raw(), ETC2_R8G8B8A8_SRGB_BLOCK = ash::vk::Format::ETC2_R8G8B8A8_SRGB_BLOCK.as_raw(), EAC_R11_UNORM_BLOCK = ash::vk::Format::EAC_R11_UNORM_BLOCK.as_raw(), EAC_R11_SNORM_BLOCK = ash::vk::Format::EAC_R11_SNORM_BLOCK.as_raw(), EAC_R11G11_UNORM_BLOCK = ash::vk::Format::EAC_R11G11_UNORM_BLOCK.as_raw(), EAC_R11G11_SNORM_BLOCK = ash::vk::Format::EAC_R11G11_SNORM_BLOCK.as_raw(), ASTC_4x4_UNORM_BLOCK = ash::vk::Format::ASTC_4X4_UNORM_BLOCK.as_raw(), ASTC_4x4_SRGB_BLOCK = ash::vk::Format::ASTC_4X4_SRGB_BLOCK.as_raw(), ASTC_5x4_UNORM_BLOCK = ash::vk::Format::ASTC_5X4_UNORM_BLOCK.as_raw(), ASTC_5x4_SRGB_BLOCK = ash::vk::Format::ASTC_5X4_SRGB_BLOCK.as_raw(), ASTC_5x5_UNORM_BLOCK = ash::vk::Format::ASTC_5X5_UNORM_BLOCK.as_raw(), ASTC_5x5_SRGB_BLOCK = ash::vk::Format::ASTC_5X5_SRGB_BLOCK.as_raw(), ASTC_6x5_UNORM_BLOCK = ash::vk::Format::ASTC_6X5_UNORM_BLOCK.as_raw(), ASTC_6x5_SRGB_BLOCK = ash::vk::Format::ASTC_6X5_SRGB_BLOCK.as_raw(), ASTC_6x6_UNORM_BLOCK = ash::vk::Format::ASTC_6X6_UNORM_BLOCK.as_raw(), ASTC_6x6_SRGB_BLOCK = ash::vk::Format::ASTC_6X6_SRGB_BLOCK.as_raw(), ASTC_8x5_UNORM_BLOCK = ash::vk::Format::ASTC_8X5_UNORM_BLOCK.as_raw(), ASTC_8x5_SRGB_BLOCK = ash::vk::Format::ASTC_8X5_SRGB_BLOCK.as_raw(), ASTC_8x6_UNORM_BLOCK = ash::vk::Format::ASTC_8X6_UNORM_BLOCK.as_raw(), ASTC_8x6_SRGB_BLOCK = ash::vk::Format::ASTC_8X6_SRGB_BLOCK.as_raw(), ASTC_8x8_UNORM_BLOCK = ash::vk::Format::ASTC_8X8_UNORM_BLOCK.as_raw(), ASTC_8x8_SRGB_BLOCK = ash::vk::Format::ASTC_8X8_SRGB_BLOCK.as_raw(), ASTC_10x5_UNORM_BLOCK = ash::vk::Format::ASTC_10X5_UNORM_BLOCK.as_raw(), ASTC_10x5_SRGB_BLOCK = ash::vk::Format::ASTC_10X5_SRGB_BLOCK.as_raw(), ASTC_10x6_UNORM_BLOCK = ash::vk::Format::ASTC_10X6_UNORM_BLOCK.as_raw(), ASTC_10x6_SRGB_BLOCK = ash::vk::Format::ASTC_10X6_SRGB_BLOCK.as_raw(), ASTC_10x8_UNORM_BLOCK = ash::vk::Format::ASTC_10X8_UNORM_BLOCK.as_raw(), ASTC_10x8_SRGB_BLOCK = ash::vk::Format::ASTC_10X8_SRGB_BLOCK.as_raw(), ASTC_10x10_UNORM_BLOCK = ash::vk::Format::ASTC_10X10_UNORM_BLOCK.as_raw(), ASTC_10x10_SRGB_BLOCK = ash::vk::Format::ASTC_10X10_SRGB_BLOCK.as_raw(), ASTC_12x10_UNORM_BLOCK = ash::vk::Format::ASTC_12X10_UNORM_BLOCK.as_raw(), ASTC_12x10_SRGB_BLOCK = ash::vk::Format::ASTC_12X10_SRGB_BLOCK.as_raw(), ASTC_12x12_UNORM_BLOCK = ash::vk::Format::ASTC_12X12_UNORM_BLOCK.as_raw(), ASTC_12x12_SRGB_BLOCK = ash::vk::Format::ASTC_12X12_SRGB_BLOCK.as_raw(), G8B8G8R8_422_UNORM = ash::vk::Format::G8B8G8R8_422_UNORM.as_raw(), B8G8R8G8_422_UNORM = ash::vk::Format::B8G8R8G8_422_UNORM.as_raw(), G8_B8_R8_3PLANE_420_UNORM = ash::vk::Format::G8_B8_R8_3PLANE_420_UNORM.as_raw(), G8_B8R8_2PLANE_420_UNORM = ash::vk::Format::G8_B8R8_2PLANE_420_UNORM.as_raw(), G8_B8_R8_3PLANE_422_UNORM = ash::vk::Format::G8_B8_R8_3PLANE_422_UNORM.as_raw(), G8_B8R8_2PLANE_422_UNORM = ash::vk::Format::G8_B8R8_2PLANE_422_UNORM.as_raw(), G8_B8_R8_3PLANE_444_UNORM = ash::vk::Format::G8_B8_R8_3PLANE_444_UNORM.as_raw(), R10X6_UNORM_PACK16 = ash::vk::Format::R10X6_UNORM_PACK16.as_raw(), R10X6G10X6_UNORM_2PACK16 = ash::vk::Format::R10X6G10X6_UNORM_2PACK16.as_raw(), R10X6G10X6B10X6A10X6_UNORM_4PACK16 = ash::vk::Format::R10X6G10X6B10X6A10X6_UNORM_4PACK16.as_raw(), G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = ash::vk::Format::G10X6B10X6G10X6R10X6_422_UNORM_4PACK16.as_raw(), B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = ash::vk::Format::B10X6G10X6R10X6G10X6_422_UNORM_4PACK16.as_raw(), G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = ash::vk::Format::G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16.as_raw(), G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = ash::vk::Format::G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16.as_raw(), G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = ash::vk::Format::G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16.as_raw(), G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = ash::vk::Format::G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16.as_raw(), G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = ash::vk::Format::G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16.as_raw(), R12X4_UNORM_PACK16 = ash::vk::Format::R12X4_UNORM_PACK16.as_raw(), R12X4G12X4_UNORM_2PACK16 = ash::vk::Format::R12X4G12X4_UNORM_2PACK16.as_raw(), R12X4G12X4B12X4A12X4_UNORM_4PACK16 = ash::vk::Format::R12X4G12X4B12X4A12X4_UNORM_4PACK16.as_raw(), G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = ash::vk::Format::G12X4B12X4G12X4R12X4_422_UNORM_4PACK16.as_raw(), B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = ash::vk::Format::B12X4G12X4R12X4G12X4_422_UNORM_4PACK16.as_raw(), G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = ash::vk::Format::G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16.as_raw(), G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = ash::vk::Format::G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16.as_raw(), G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = ash::vk::Format::G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16.as_raw(), G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = ash::vk::Format::G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16.as_raw(), G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = ash::vk::Format::G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16.as_raw(), G16B16G16R16_422_UNORM = ash::vk::Format::G16B16G16R16_422_UNORM.as_raw(), B16G16R16G16_422_UNORM = ash::vk::Format::B16G16R16G16_422_UNORM.as_raw(), G16_B16_R16_3PLANE_420_UNORM = ash::vk::Format::G16_B16_R16_3PLANE_420_UNORM.as_raw(), G16_B16R16_2PLANE_420_UNORM = ash::vk::Format::G16_B16R16_2PLANE_420_UNORM.as_raw(), G16_B16_R16_3PLANE_422_UNORM = ash::vk::Format::G16_B16_R16_3PLANE_422_UNORM.as_raw(), G16_B16R16_2PLANE_422_UNORM = ash::vk::Format::G16_B16R16_2PLANE_422_UNORM.as_raw(), G16_B16_R16_3PLANE_444_UNORM = ash::vk::Format::G16_B16_R16_3PLANE_444_UNORM.as_raw(), PVRTC1_2BPP_UNORM_BLOCK = ash::vk::Format::PVRTC1_2BPP_UNORM_BLOCK_IMG.as_raw(), PVRTC1_4BPP_UNORM_BLOCK = ash::vk::Format::PVRTC1_4BPP_UNORM_BLOCK_IMG.as_raw(), PVRTC2_2BPP_UNORM_BLOCK = ash::vk::Format::PVRTC2_2BPP_UNORM_BLOCK_IMG.as_raw(), PVRTC2_4BPP_UNORM_BLOCK = ash::vk::Format::PVRTC2_4BPP_UNORM_BLOCK_IMG.as_raw(), PVRTC1_2BPP_SRGB_BLOCK = ash::vk::Format::PVRTC1_2BPP_SRGB_BLOCK_IMG.as_raw(), PVRTC1_4BPP_SRGB_BLOCK = ash::vk::Format::PVRTC1_4BPP_SRGB_BLOCK_IMG.as_raw(), PVRTC2_2BPP_SRGB_BLOCK = ash::vk::Format::PVRTC2_2BPP_SRGB_BLOCK_IMG.as_raw(), PVRTC2_4BPP_SRGB_BLOCK = ash::vk::Format::PVRTC2_4BPP_SRGB_BLOCK_IMG.as_raw(), ASTC_4x4_SFLOAT_BLOCK = ash::vk::Format::ASTC_4X4_SFLOAT_BLOCK.as_raw(), ASTC_5x4_SFLOAT_BLOCK = ash::vk::Format::ASTC_5X4_SFLOAT_BLOCK.as_raw(), ASTC_5x5_SFLOAT_BLOCK = ash::vk::Format::ASTC_5X5_SFLOAT_BLOCK.as_raw(), ASTC_6x5_SFLOAT_BLOCK = ash::vk::Format::ASTC_6X5_SFLOAT_BLOCK.as_raw(), ASTC_6x6_SFLOAT_BLOCK = ash::vk::Format::ASTC_6X6_SFLOAT_BLOCK.as_raw(), ASTC_8x5_SFLOAT_BLOCK = ash::vk::Format::ASTC_8X5_SFLOAT_BLOCK.as_raw(), ASTC_8x6_SFLOAT_BLOCK = ash::vk::Format::ASTC_8X6_SFLOAT_BLOCK.as_raw(), ASTC_8x8_SFLOAT_BLOCK = ash::vk::Format::ASTC_8X8_SFLOAT_BLOCK.as_raw(), ASTC_10x5_SFLOAT_BLOCK = ash::vk::Format::ASTC_10X5_SFLOAT_BLOCK.as_raw(), ASTC_10x6_SFLOAT_BLOCK = ash::vk::Format::ASTC_10X6_SFLOAT_BLOCK.as_raw(), ASTC_10x8_SFLOAT_BLOCK = ash::vk::Format::ASTC_10X8_SFLOAT_BLOCK.as_raw(), ASTC_10x10_SFLOAT_BLOCK = ash::vk::Format::ASTC_10X10_SFLOAT_BLOCK.as_raw(), ASTC_12x10_SFLOAT_BLOCK = ash::vk::Format::ASTC_12X10_SFLOAT_BLOCK.as_raw(), ASTC_12x12_SFLOAT_BLOCK = ash::vk::Format::ASTC_12X12_SFLOAT_BLOCK.as_raw(), G8_B8R8_2PLANE_444_UNORM = ash::vk::Format::G8_B8R8_2PLANE_444_UNORM.as_raw(), G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 = ash::vk::Format::G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16.as_raw(), G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 = ash::vk::Format::G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16.as_raw(), G16_B16R16_2PLANE_444_UNORM = ash::vk::Format::G16_B16R16_2PLANE_444_UNORM.as_raw(), A4R4G4B4_UNORM_PACK16 = ash::vk::Format::A4R4G4B4_UNORM_PACK16.as_raw(), A4B4G4R4_UNORM_PACK16 = ash::vk::Format::A4B4G4R4_UNORM_PACK16.as_raw(), R16G16_S10_5_NV = ash::vk::Format::R16G16_S10_5_NV.as_raw(), } impl Format { #[doc = r" Returns the aspects that images of this format have."] pub fn aspects(self) -> ImageAspects { match self { Self::R4G4_UNORM_PACK8 => crate::image::ImageAspects::COLOR, Self::R4G4B4A4_UNORM_PACK16 => crate::image::ImageAspects::COLOR, Self::B4G4R4A4_UNORM_PACK16 => crate::image::ImageAspects::COLOR, Self::R5G6B5_UNORM_PACK16 => crate::image::ImageAspects::COLOR, Self::B5G6R5_UNORM_PACK16 => crate::image::ImageAspects::COLOR, Self::R5G5B5A1_UNORM_PACK16 => crate::image::ImageAspects::COLOR, Self::B5G5R5A1_UNORM_PACK16 => crate::image::ImageAspects::COLOR, Self::A1R5G5B5_UNORM_PACK16 => crate::image::ImageAspects::COLOR, Self::R8_UNORM => crate::image::ImageAspects::COLOR, Self::R8_SNORM => crate::image::ImageAspects::COLOR, Self::R8_USCALED => crate::image::ImageAspects::COLOR, Self::R8_SSCALED => crate::image::ImageAspects::COLOR, Self::R8_UINT => crate::image::ImageAspects::COLOR, Self::R8_SINT => crate::image::ImageAspects::COLOR, Self::R8_SRGB => crate::image::ImageAspects::COLOR, Self::R8G8_UNORM => crate::image::ImageAspects::COLOR, Self::R8G8_SNORM => crate::image::ImageAspects::COLOR, Self::R8G8_USCALED => crate::image::ImageAspects::COLOR, Self::R8G8_SSCALED => crate::image::ImageAspects::COLOR, Self::R8G8_UINT => crate::image::ImageAspects::COLOR, Self::R8G8_SINT => crate::image::ImageAspects::COLOR, Self::R8G8_SRGB => crate::image::ImageAspects::COLOR, Self::R8G8B8_UNORM => crate::image::ImageAspects::COLOR, Self::R8G8B8_SNORM => crate::image::ImageAspects::COLOR, Self::R8G8B8_USCALED => crate::image::ImageAspects::COLOR, Self::R8G8B8_SSCALED => crate::image::ImageAspects::COLOR, Self::R8G8B8_UINT => crate::image::ImageAspects::COLOR, Self::R8G8B8_SINT => crate::image::ImageAspects::COLOR, Self::R8G8B8_SRGB => crate::image::ImageAspects::COLOR, Self::B8G8R8_UNORM => crate::image::ImageAspects::COLOR, Self::B8G8R8_SNORM => crate::image::ImageAspects::COLOR, Self::B8G8R8_USCALED => crate::image::ImageAspects::COLOR, Self::B8G8R8_SSCALED => crate::image::ImageAspects::COLOR, Self::B8G8R8_UINT => crate::image::ImageAspects::COLOR, Self::B8G8R8_SINT => crate::image::ImageAspects::COLOR, Self::B8G8R8_SRGB => crate::image::ImageAspects::COLOR, Self::R8G8B8A8_UNORM => crate::image::ImageAspects::COLOR, Self::R8G8B8A8_SNORM => crate::image::ImageAspects::COLOR, Self::R8G8B8A8_USCALED => crate::image::ImageAspects::COLOR, Self::R8G8B8A8_SSCALED => crate::image::ImageAspects::COLOR, Self::R8G8B8A8_UINT => crate::image::ImageAspects::COLOR, Self::R8G8B8A8_SINT => crate::image::ImageAspects::COLOR, Self::R8G8B8A8_SRGB => crate::image::ImageAspects::COLOR, Self::B8G8R8A8_UNORM => crate::image::ImageAspects::COLOR, Self::B8G8R8A8_SNORM => crate::image::ImageAspects::COLOR, Self::B8G8R8A8_USCALED => crate::image::ImageAspects::COLOR, Self::B8G8R8A8_SSCALED => crate::image::ImageAspects::COLOR, Self::B8G8R8A8_UINT => crate::image::ImageAspects::COLOR, Self::B8G8R8A8_SINT => crate::image::ImageAspects::COLOR, Self::B8G8R8A8_SRGB => crate::image::ImageAspects::COLOR, Self::A8B8G8R8_UNORM_PACK32 => crate::image::ImageAspects::COLOR, Self::A8B8G8R8_SNORM_PACK32 => crate::image::ImageAspects::COLOR, Self::A8B8G8R8_USCALED_PACK32 => crate::image::ImageAspects::COLOR, Self::A8B8G8R8_SSCALED_PACK32 => crate::image::ImageAspects::COLOR, Self::A8B8G8R8_UINT_PACK32 => crate::image::ImageAspects::COLOR, Self::A8B8G8R8_SINT_PACK32 => crate::image::ImageAspects::COLOR, Self::A8B8G8R8_SRGB_PACK32 => crate::image::ImageAspects::COLOR, Self::A2R10G10B10_UNORM_PACK32 => crate::image::ImageAspects::COLOR, Self::A2R10G10B10_SNORM_PACK32 => crate::image::ImageAspects::COLOR, Self::A2R10G10B10_USCALED_PACK32 => crate::image::ImageAspects::COLOR, Self::A2R10G10B10_SSCALED_PACK32 => crate::image::ImageAspects::COLOR, Self::A2R10G10B10_UINT_PACK32 => crate::image::ImageAspects::COLOR, Self::A2R10G10B10_SINT_PACK32 => crate::image::ImageAspects::COLOR, Self::A2B10G10R10_UNORM_PACK32 => crate::image::ImageAspects::COLOR, Self::A2B10G10R10_SNORM_PACK32 => crate::image::ImageAspects::COLOR, Self::A2B10G10R10_USCALED_PACK32 => crate::image::ImageAspects::COLOR, Self::A2B10G10R10_SSCALED_PACK32 => crate::image::ImageAspects::COLOR, Self::A2B10G10R10_UINT_PACK32 => crate::image::ImageAspects::COLOR, Self::A2B10G10R10_SINT_PACK32 => crate::image::ImageAspects::COLOR, Self::R16_UNORM => crate::image::ImageAspects::COLOR, Self::R16_SNORM => crate::image::ImageAspects::COLOR, Self::R16_USCALED => crate::image::ImageAspects::COLOR, Self::R16_SSCALED => crate::image::ImageAspects::COLOR, Self::R16_UINT => crate::image::ImageAspects::COLOR, Self::R16_SINT => crate::image::ImageAspects::COLOR, Self::R16_SFLOAT => crate::image::ImageAspects::COLOR, Self::R16G16_UNORM => crate::image::ImageAspects::COLOR, Self::R16G16_SNORM => crate::image::ImageAspects::COLOR, Self::R16G16_USCALED => crate::image::ImageAspects::COLOR, Self::R16G16_SSCALED => crate::image::ImageAspects::COLOR, Self::R16G16_UINT => crate::image::ImageAspects::COLOR, Self::R16G16_SINT => crate::image::ImageAspects::COLOR, Self::R16G16_SFLOAT => crate::image::ImageAspects::COLOR, Self::R16G16B16_UNORM => crate::image::ImageAspects::COLOR, Self::R16G16B16_SNORM => crate::image::ImageAspects::COLOR, Self::R16G16B16_USCALED => crate::image::ImageAspects::COLOR, Self::R16G16B16_SSCALED => crate::image::ImageAspects::COLOR, Self::R16G16B16_UINT => crate::image::ImageAspects::COLOR, Self::R16G16B16_SINT => crate::image::ImageAspects::COLOR, Self::R16G16B16_SFLOAT => crate::image::ImageAspects::COLOR, Self::R16G16B16A16_UNORM => crate::image::ImageAspects::COLOR, Self::R16G16B16A16_SNORM => crate::image::ImageAspects::COLOR, Self::R16G16B16A16_USCALED => crate::image::ImageAspects::COLOR, Self::R16G16B16A16_SSCALED => crate::image::ImageAspects::COLOR, Self::R16G16B16A16_UINT => crate::image::ImageAspects::COLOR, Self::R16G16B16A16_SINT => crate::image::ImageAspects::COLOR, Self::R16G16B16A16_SFLOAT => crate::image::ImageAspects::COLOR, Self::R32_UINT => crate::image::ImageAspects::COLOR, Self::R32_SINT => crate::image::ImageAspects::COLOR, Self::R32_SFLOAT => crate::image::ImageAspects::COLOR, Self::R32G32_UINT => crate::image::ImageAspects::COLOR, Self::R32G32_SINT => crate::image::ImageAspects::COLOR, Self::R32G32_SFLOAT => crate::image::ImageAspects::COLOR, Self::R32G32B32_UINT => crate::image::ImageAspects::COLOR, Self::R32G32B32_SINT => crate::image::ImageAspects::COLOR, Self::R32G32B32_SFLOAT => crate::image::ImageAspects::COLOR, Self::R32G32B32A32_UINT => crate::image::ImageAspects::COLOR, Self::R32G32B32A32_SINT => crate::image::ImageAspects::COLOR, Self::R32G32B32A32_SFLOAT => crate::image::ImageAspects::COLOR, Self::R64_UINT => crate::image::ImageAspects::COLOR, Self::R64_SINT => crate::image::ImageAspects::COLOR, Self::R64_SFLOAT => crate::image::ImageAspects::COLOR, Self::R64G64_UINT => crate::image::ImageAspects::COLOR, Self::R64G64_SINT => crate::image::ImageAspects::COLOR, Self::R64G64_SFLOAT => crate::image::ImageAspects::COLOR, Self::R64G64B64_UINT => crate::image::ImageAspects::COLOR, Self::R64G64B64_SINT => crate::image::ImageAspects::COLOR, Self::R64G64B64_SFLOAT => crate::image::ImageAspects::COLOR, Self::R64G64B64A64_UINT => crate::image::ImageAspects::COLOR, Self::R64G64B64A64_SINT => crate::image::ImageAspects::COLOR, Self::R64G64B64A64_SFLOAT => crate::image::ImageAspects::COLOR, Self::B10G11R11_UFLOAT_PACK32 => crate::image::ImageAspects::COLOR, Self::E5B9G9R9_UFLOAT_PACK32 => crate::image::ImageAspects::COLOR, Self::D16_UNORM => crate::image::ImageAspects::DEPTH, Self::X8_D24_UNORM_PACK32 => crate::image::ImageAspects::DEPTH, Self::D32_SFLOAT => crate::image::ImageAspects::DEPTH, Self::S8_UINT => crate::image::ImageAspects::STENCIL, Self::D16_UNORM_S8_UINT => { crate::image::ImageAspects::DEPTH | crate::image::ImageAspects::STENCIL } Self::D24_UNORM_S8_UINT => { crate::image::ImageAspects::DEPTH | crate::image::ImageAspects::STENCIL } Self::D32_SFLOAT_S8_UINT => { crate::image::ImageAspects::DEPTH | crate::image::ImageAspects::STENCIL } Self::BC1_RGB_UNORM_BLOCK => crate::image::ImageAspects::COLOR, Self::BC1_RGB_SRGB_BLOCK => crate::image::ImageAspects::COLOR, Self::BC1_RGBA_UNORM_BLOCK => crate::image::ImageAspects::COLOR, Self::BC1_RGBA_SRGB_BLOCK => crate::image::ImageAspects::COLOR, Self::BC2_UNORM_BLOCK => crate::image::ImageAspects::COLOR, Self::BC2_SRGB_BLOCK => crate::image::ImageAspects::COLOR, Self::BC3_UNORM_BLOCK => crate::image::ImageAspects::COLOR, Self::BC3_SRGB_BLOCK => crate::image::ImageAspects::COLOR, Self::BC4_UNORM_BLOCK => crate::image::ImageAspects::COLOR, Self::BC4_SNORM_BLOCK => crate::image::ImageAspects::COLOR, Self::BC5_UNORM_BLOCK => crate::image::ImageAspects::COLOR, Self::BC5_SNORM_BLOCK => crate::image::ImageAspects::COLOR, Self::BC6H_UFLOAT_BLOCK => crate::image::ImageAspects::COLOR, Self::BC6H_SFLOAT_BLOCK => crate::image::ImageAspects::COLOR, Self::BC7_UNORM_BLOCK => crate::image::ImageAspects::COLOR, Self::BC7_SRGB_BLOCK => crate::image::ImageAspects::COLOR, Self::ETC2_R8G8B8_UNORM_BLOCK => crate::image::ImageAspects::COLOR, Self::ETC2_R8G8B8_SRGB_BLOCK => crate::image::ImageAspects::COLOR, Self::ETC2_R8G8B8A1_UNORM_BLOCK => crate::image::ImageAspects::COLOR, Self::ETC2_R8G8B8A1_SRGB_BLOCK => crate::image::ImageAspects::COLOR, Self::ETC2_R8G8B8A8_UNORM_BLOCK => crate::image::ImageAspects::COLOR, Self::ETC2_R8G8B8A8_SRGB_BLOCK => crate::image::ImageAspects::COLOR, Self::EAC_R11_UNORM_BLOCK => crate::image::ImageAspects::COLOR, Self::EAC_R11_SNORM_BLOCK => crate::image::ImageAspects::COLOR, Self::EAC_R11G11_UNORM_BLOCK => crate::image::ImageAspects::COLOR, Self::EAC_R11G11_SNORM_BLOCK => crate::image::ImageAspects::COLOR, Self::ASTC_4x4_UNORM_BLOCK => crate::image::ImageAspects::COLOR, Self::ASTC_4x4_SRGB_BLOCK => crate::image::ImageAspects::COLOR, Self::ASTC_5x4_UNORM_BLOCK => crate::image::ImageAspects::COLOR, Self::ASTC_5x4_SRGB_BLOCK => crate::image::ImageAspects::COLOR, Self::ASTC_5x5_UNORM_BLOCK => crate::image::ImageAspects::COLOR, Self::ASTC_5x5_SRGB_BLOCK => crate::image::ImageAspects::COLOR, Self::ASTC_6x5_UNORM_BLOCK => crate::image::ImageAspects::COLOR, Self::ASTC_6x5_SRGB_BLOCK => crate::image::ImageAspects::COLOR, Self::ASTC_6x6_UNORM_BLOCK => crate::image::ImageAspects::COLOR, Self::ASTC_6x6_SRGB_BLOCK => crate::image::ImageAspects::COLOR, Self::ASTC_8x5_UNORM_BLOCK => crate::image::ImageAspects::COLOR, Self::ASTC_8x5_SRGB_BLOCK => crate::image::ImageAspects::COLOR, Self::ASTC_8x6_UNORM_BLOCK => crate::image::ImageAspects::COLOR, Self::ASTC_8x6_SRGB_BLOCK => crate::image::ImageAspects::COLOR, Self::ASTC_8x8_UNORM_BLOCK => crate::image::ImageAspects::COLOR, Self::ASTC_8x8_SRGB_BLOCK => crate::image::ImageAspects::COLOR, Self::ASTC_10x5_UNORM_BLOCK => crate::image::ImageAspects::COLOR, Self::ASTC_10x5_SRGB_BLOCK => crate::image::ImageAspects::COLOR, Self::ASTC_10x6_UNORM_BLOCK => crate::image::ImageAspects::COLOR, Self::ASTC_10x6_SRGB_BLOCK => crate::image::ImageAspects::COLOR, Self::ASTC_10x8_UNORM_BLOCK => crate::image::ImageAspects::COLOR, Self::ASTC_10x8_SRGB_BLOCK => crate::image::ImageAspects::COLOR, Self::ASTC_10x10_UNORM_BLOCK => crate::image::ImageAspects::COLOR, Self::ASTC_10x10_SRGB_BLOCK => crate::image::ImageAspects::COLOR, Self::ASTC_12x10_UNORM_BLOCK => crate::image::ImageAspects::COLOR, Self::ASTC_12x10_SRGB_BLOCK => crate::image::ImageAspects::COLOR, Self::ASTC_12x12_UNORM_BLOCK => crate::image::ImageAspects::COLOR, Self::ASTC_12x12_SRGB_BLOCK => crate::image::ImageAspects::COLOR, Self::G8B8G8R8_422_UNORM => crate::image::ImageAspects::COLOR, Self::B8G8R8G8_422_UNORM => crate::image::ImageAspects::COLOR, Self::G8_B8_R8_3PLANE_420_UNORM => { crate::image::ImageAspects::COLOR | crate::image::ImageAspects::PLANE_0 | crate::image::ImageAspects::PLANE_1 | crate::image::ImageAspects::PLANE_2 } Self::G8_B8R8_2PLANE_420_UNORM => { crate::image::ImageAspects::COLOR | crate::image::ImageAspects::PLANE_0 | crate::image::ImageAspects::PLANE_1 } Self::G8_B8_R8_3PLANE_422_UNORM => { crate::image::ImageAspects::COLOR | crate::image::ImageAspects::PLANE_0 | crate::image::ImageAspects::PLANE_1 | crate::image::ImageAspects::PLANE_2 } Self::G8_B8R8_2PLANE_422_UNORM => { crate::image::ImageAspects::COLOR | crate::image::ImageAspects::PLANE_0 | crate::image::ImageAspects::PLANE_1 } Self::G8_B8_R8_3PLANE_444_UNORM => { crate::image::ImageAspects::COLOR | crate::image::ImageAspects::PLANE_0 | crate::image::ImageAspects::PLANE_1 | crate::image::ImageAspects::PLANE_2 } Self::R10X6_UNORM_PACK16 => crate::image::ImageAspects::COLOR, Self::R10X6G10X6_UNORM_2PACK16 => crate::image::ImageAspects::COLOR, Self::R10X6G10X6B10X6A10X6_UNORM_4PACK16 => crate::image::ImageAspects::COLOR, Self::G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 => crate::image::ImageAspects::COLOR, Self::B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 => crate::image::ImageAspects::COLOR, Self::G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 => { crate::image::ImageAspects::COLOR | crate::image::ImageAspects::PLANE_0 | crate::image::ImageAspects::PLANE_1 | crate::image::ImageAspects::PLANE_2 } Self::G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 => { crate::image::ImageAspects::COLOR | crate::image::ImageAspects::PLANE_0 | crate::image::ImageAspects::PLANE_1 } Self::G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 => { crate::image::ImageAspects::COLOR | crate::image::ImageAspects::PLANE_0 | crate::image::ImageAspects::PLANE_1 | crate::image::ImageAspects::PLANE_2 } Self::G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 => { crate::image::ImageAspects::COLOR | crate::image::ImageAspects::PLANE_0 | crate::image::ImageAspects::PLANE_1 } Self::G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 => { crate::image::ImageAspects::COLOR | crate::image::ImageAspects::PLANE_0 | crate::image::ImageAspects::PLANE_1 | crate::image::ImageAspects::PLANE_2 } Self::R12X4_UNORM_PACK16 => crate::image::ImageAspects::COLOR, Self::R12X4G12X4_UNORM_2PACK16 => crate::image::ImageAspects::COLOR, Self::R12X4G12X4B12X4A12X4_UNORM_4PACK16 => crate::image::ImageAspects::COLOR, Self::G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 => crate::image::ImageAspects::COLOR, Self::B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 => crate::image::ImageAspects::COLOR, Self::G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 => { crate::image::ImageAspects::COLOR | crate::image::ImageAspects::PLANE_0 | crate::image::ImageAspects::PLANE_1 | crate::image::ImageAspects::PLANE_2 } Self::G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 => { crate::image::ImageAspects::COLOR | crate::image::ImageAspects::PLANE_0 | crate::image::ImageAspects::PLANE_1 } Self::G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 => { crate::image::ImageAspects::COLOR | crate::image::ImageAspects::PLANE_0 | crate::image::ImageAspects::PLANE_1 | crate::image::ImageAspects::PLANE_2 } Self::G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 => { crate::image::ImageAspects::COLOR | crate::image::ImageAspects::PLANE_0 | crate::image::ImageAspects::PLANE_1 } Self::G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 => { crate::image::ImageAspects::COLOR | crate::image::ImageAspects::PLANE_0 | crate::image::ImageAspects::PLANE_1 | crate::image::ImageAspects::PLANE_2 } Self::G16B16G16R16_422_UNORM => crate::image::ImageAspects::COLOR, Self::B16G16R16G16_422_UNORM => crate::image::ImageAspects::COLOR, Self::G16_B16_R16_3PLANE_420_UNORM => { crate::image::ImageAspects::COLOR | crate::image::ImageAspects::PLANE_0 | crate::image::ImageAspects::PLANE_1 | crate::image::ImageAspects::PLANE_2 } Self::G16_B16R16_2PLANE_420_UNORM => { crate::image::ImageAspects::COLOR | crate::image::ImageAspects::PLANE_0 | crate::image::ImageAspects::PLANE_1 } Self::G16_B16_R16_3PLANE_422_UNORM => { crate::image::ImageAspects::COLOR | crate::image::ImageAspects::PLANE_0 | crate::image::ImageAspects::PLANE_1 | crate::image::ImageAspects::PLANE_2 } Self::G16_B16R16_2PLANE_422_UNORM => { crate::image::ImageAspects::COLOR | crate::image::ImageAspects::PLANE_0 | crate::image::ImageAspects::PLANE_1 } Self::G16_B16_R16_3PLANE_444_UNORM => { crate::image::ImageAspects::COLOR | crate::image::ImageAspects::PLANE_0 | crate::image::ImageAspects::PLANE_1 | crate::image::ImageAspects::PLANE_2 } Self::PVRTC1_2BPP_UNORM_BLOCK => crate::image::ImageAspects::COLOR, Self::PVRTC1_4BPP_UNORM_BLOCK => crate::image::ImageAspects::COLOR, Self::PVRTC2_2BPP_UNORM_BLOCK => crate::image::ImageAspects::COLOR, Self::PVRTC2_4BPP_UNORM_BLOCK => crate::image::ImageAspects::COLOR, Self::PVRTC1_2BPP_SRGB_BLOCK => crate::image::ImageAspects::COLOR, Self::PVRTC1_4BPP_SRGB_BLOCK => crate::image::ImageAspects::COLOR, Self::PVRTC2_2BPP_SRGB_BLOCK => crate::image::ImageAspects::COLOR, Self::PVRTC2_4BPP_SRGB_BLOCK => crate::image::ImageAspects::COLOR, Self::ASTC_4x4_SFLOAT_BLOCK => crate::image::ImageAspects::COLOR, Self::ASTC_5x4_SFLOAT_BLOCK => crate::image::ImageAspects::COLOR, Self::ASTC_5x5_SFLOAT_BLOCK => crate::image::ImageAspects::COLOR, Self::ASTC_6x5_SFLOAT_BLOCK => crate::image::ImageAspects::COLOR, Self::ASTC_6x6_SFLOAT_BLOCK => crate::image::ImageAspects::COLOR, Self::ASTC_8x5_SFLOAT_BLOCK => crate::image::ImageAspects::COLOR, Self::ASTC_8x6_SFLOAT_BLOCK => crate::image::ImageAspects::COLOR, Self::ASTC_8x8_SFLOAT_BLOCK => crate::image::ImageAspects::COLOR, Self::ASTC_10x5_SFLOAT_BLOCK => crate::image::ImageAspects::COLOR, Self::ASTC_10x6_SFLOAT_BLOCK => crate::image::ImageAspects::COLOR, Self::ASTC_10x8_SFLOAT_BLOCK => crate::image::ImageAspects::COLOR, Self::ASTC_10x10_SFLOAT_BLOCK => crate::image::ImageAspects::COLOR, Self::ASTC_12x10_SFLOAT_BLOCK => crate::image::ImageAspects::COLOR, Self::ASTC_12x12_SFLOAT_BLOCK => crate::image::ImageAspects::COLOR, Self::G8_B8R8_2PLANE_444_UNORM => { crate::image::ImageAspects::COLOR | crate::image::ImageAspects::PLANE_0 | crate::image::ImageAspects::PLANE_1 } Self::G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 => { crate::image::ImageAspects::COLOR | crate::image::ImageAspects::PLANE_0 | crate::image::ImageAspects::PLANE_1 } Self::G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 => { crate::image::ImageAspects::COLOR | crate::image::ImageAspects::PLANE_0 | crate::image::ImageAspects::PLANE_1 } Self::G16_B16R16_2PLANE_444_UNORM => { crate::image::ImageAspects::COLOR | crate::image::ImageAspects::PLANE_0 | crate::image::ImageAspects::PLANE_1 } Self::A4R4G4B4_UNORM_PACK16 => crate::image::ImageAspects::COLOR, Self::A4B4G4R4_UNORM_PACK16 => crate::image::ImageAspects::COLOR, Self::R16G16_S10_5_NV => crate::image::ImageAspects::COLOR, } } #[doc = r" Returns the extent in texels (horizontally and vertically) of a single texel"] #[doc = r" block of this format. A texel block is a rectangle of pixels that is represented by"] #[doc = r" a single element of this format. It is also the minimum granularity of the extent of"] #[doc = r" an image; images must always have an extent that's a multiple of the block extent."] #[doc = r""] #[doc = r" For normal formats, the block extent is [1, 1, 1], meaning that each element of the"] #[doc = r" format represents one texel. Block-compressed formats encode multiple texels into"] #[doc = r" a single element. The 422 and 420 YCbCr formats have a block extent of [2, 1, 1] and"] #[doc = r" [2, 2, 1] respectively, as the red and blue components are shared across multiple"] #[doc = r" texels."] pub fn block_extent(self) -> [u32; 3] { match self { Self::BC1_RGB_UNORM_BLOCK => [4, 4, 1], Self::BC1_RGB_SRGB_BLOCK => [4, 4, 1], Self::BC1_RGBA_UNORM_BLOCK => [4, 4, 1], Self::BC1_RGBA_SRGB_BLOCK => [4, 4, 1], Self::BC2_UNORM_BLOCK => [4, 4, 1], Self::BC2_SRGB_BLOCK => [4, 4, 1], Self::BC3_UNORM_BLOCK => [4, 4, 1], Self::BC3_SRGB_BLOCK => [4, 4, 1], Self::BC4_UNORM_BLOCK => [4, 4, 1], Self::BC4_SNORM_BLOCK => [4, 4, 1], Self::BC5_UNORM_BLOCK => [4, 4, 1], Self::BC5_SNORM_BLOCK => [4, 4, 1], Self::BC6H_UFLOAT_BLOCK => [4, 4, 1], Self::BC6H_SFLOAT_BLOCK => [4, 4, 1], Self::BC7_UNORM_BLOCK => [4, 4, 1], Self::BC7_SRGB_BLOCK => [4, 4, 1], Self::ETC2_R8G8B8_UNORM_BLOCK => [4, 4, 1], Self::ETC2_R8G8B8_SRGB_BLOCK => [4, 4, 1], Self::ETC2_R8G8B8A1_UNORM_BLOCK => [4, 4, 1], Self::ETC2_R8G8B8A1_SRGB_BLOCK => [4, 4, 1], Self::ETC2_R8G8B8A8_UNORM_BLOCK => [4, 4, 1], Self::ETC2_R8G8B8A8_SRGB_BLOCK => [4, 4, 1], Self::EAC_R11_UNORM_BLOCK => [4, 4, 1], Self::EAC_R11_SNORM_BLOCK => [4, 4, 1], Self::EAC_R11G11_UNORM_BLOCK => [4, 4, 1], Self::EAC_R11G11_SNORM_BLOCK => [4, 4, 1], Self::ASTC_4x4_UNORM_BLOCK => [4, 4, 1], Self::ASTC_4x4_SRGB_BLOCK => [4, 4, 1], Self::ASTC_5x4_UNORM_BLOCK => [5, 4, 1], Self::ASTC_5x4_SRGB_BLOCK => [5, 4, 1], Self::ASTC_5x5_UNORM_BLOCK => [5, 5, 1], Self::ASTC_5x5_SRGB_BLOCK => [5, 5, 1], Self::ASTC_6x5_UNORM_BLOCK => [6, 5, 1], Self::ASTC_6x5_SRGB_BLOCK => [6, 5, 1], Self::ASTC_6x6_UNORM_BLOCK => [6, 6, 1], Self::ASTC_6x6_SRGB_BLOCK => [6, 6, 1], Self::ASTC_8x5_UNORM_BLOCK => [8, 5, 1], Self::ASTC_8x5_SRGB_BLOCK => [8, 5, 1], Self::ASTC_8x6_UNORM_BLOCK => [8, 6, 1], Self::ASTC_8x6_SRGB_BLOCK => [8, 6, 1], Self::ASTC_8x8_UNORM_BLOCK => [8, 8, 1], Self::ASTC_8x8_SRGB_BLOCK => [8, 8, 1], Self::ASTC_10x5_UNORM_BLOCK => [10, 5, 1], Self::ASTC_10x5_SRGB_BLOCK => [10, 5, 1], Self::ASTC_10x6_UNORM_BLOCK => [10, 6, 1], Self::ASTC_10x6_SRGB_BLOCK => [10, 6, 1], Self::ASTC_10x8_UNORM_BLOCK => [10, 8, 1], Self::ASTC_10x8_SRGB_BLOCK => [10, 8, 1], Self::ASTC_10x10_UNORM_BLOCK => [10, 10, 1], Self::ASTC_10x10_SRGB_BLOCK => [10, 10, 1], Self::ASTC_12x10_UNORM_BLOCK => [12, 10, 1], Self::ASTC_12x10_SRGB_BLOCK => [12, 10, 1], Self::ASTC_12x12_UNORM_BLOCK => [12, 12, 1], Self::ASTC_12x12_SRGB_BLOCK => [12, 12, 1], Self::G8B8G8R8_422_UNORM => [2, 1, 1], Self::B8G8R8G8_422_UNORM => [2, 1, 1], Self::G8_B8_R8_3PLANE_420_UNORM => [2, 2, 1], Self::G8_B8R8_2PLANE_420_UNORM => [2, 2, 1], Self::G8_B8_R8_3PLANE_422_UNORM => [2, 1, 1], Self::G8_B8R8_2PLANE_422_UNORM => [2, 1, 1], Self::G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 => [2, 1, 1], Self::B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 => [2, 1, 1], Self::G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 => [2, 2, 1], Self::G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 => [2, 2, 1], Self::G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 => [2, 1, 1], Self::G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 => [2, 1, 1], Self::G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 => [2, 1, 1], Self::B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 => [2, 1, 1], Self::G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 => [2, 2, 1], Self::G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 => [2, 2, 1], Self::G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 => [2, 1, 1], Self::G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 => [2, 1, 1], Self::G16B16G16R16_422_UNORM => [2, 1, 1], Self::B16G16R16G16_422_UNORM => [2, 1, 1], Self::G16_B16_R16_3PLANE_420_UNORM => [2, 2, 1], Self::G16_B16R16_2PLANE_420_UNORM => [2, 2, 1], Self::G16_B16_R16_3PLANE_422_UNORM => [2, 1, 1], Self::G16_B16R16_2PLANE_422_UNORM => [2, 1, 1], Self::PVRTC1_2BPP_UNORM_BLOCK => [8, 4, 1], Self::PVRTC1_4BPP_UNORM_BLOCK => [4, 4, 1], Self::PVRTC2_2BPP_UNORM_BLOCK => [8, 4, 1], Self::PVRTC2_4BPP_UNORM_BLOCK => [4, 4, 1], Self::PVRTC1_2BPP_SRGB_BLOCK => [8, 4, 1], Self::PVRTC1_4BPP_SRGB_BLOCK => [4, 4, 1], Self::PVRTC2_2BPP_SRGB_BLOCK => [8, 4, 1], Self::PVRTC2_4BPP_SRGB_BLOCK => [4, 4, 1], Self::ASTC_4x4_SFLOAT_BLOCK => [4, 4, 1], Self::ASTC_5x4_SFLOAT_BLOCK => [5, 4, 1], Self::ASTC_5x5_SFLOAT_BLOCK => [5, 5, 1], Self::ASTC_6x5_SFLOAT_BLOCK => [6, 5, 1], Self::ASTC_6x6_SFLOAT_BLOCK => [6, 6, 1], Self::ASTC_8x5_SFLOAT_BLOCK => [8, 5, 1], Self::ASTC_8x6_SFLOAT_BLOCK => [8, 6, 1], Self::ASTC_8x8_SFLOAT_BLOCK => [8, 8, 1], Self::ASTC_10x5_SFLOAT_BLOCK => [10, 5, 1], Self::ASTC_10x6_SFLOAT_BLOCK => [10, 6, 1], Self::ASTC_10x8_SFLOAT_BLOCK => [10, 8, 1], Self::ASTC_10x10_SFLOAT_BLOCK => [10, 10, 1], Self::ASTC_12x10_SFLOAT_BLOCK => [12, 10, 1], Self::ASTC_12x12_SFLOAT_BLOCK => [12, 12, 1], _ => [1, 1, 1], } } #[doc = r" Returns the size in bytes of a single texel block of this format. Returns `None`"] #[doc = r" if the texel block size is not well-defined for this format."] #[doc = r""] #[doc = r" For regular formats, this is the size of a single texel, but for more specialized"] #[doc = r" formats this may be the size of multiple texels."] #[doc = r""] #[doc = r" Depth/stencil formats are considered to have an opaque memory representation, and do"] #[doc = r" not have a well-defined size. Multi-planar formats store the color components"] #[doc = r" disjointly in memory, and therefore do not have a well-defined size for all"] #[doc = r" components as a whole. The individual planes do have a well-defined size."] pub fn block_size(self) -> Option { match self { Self::R4G4_UNORM_PACK8 => Some(1), Self::R4G4B4A4_UNORM_PACK16 => Some(2), Self::B4G4R4A4_UNORM_PACK16 => Some(2), Self::R5G6B5_UNORM_PACK16 => Some(2), Self::B5G6R5_UNORM_PACK16 => Some(2), Self::R5G5B5A1_UNORM_PACK16 => Some(2), Self::B5G5R5A1_UNORM_PACK16 => Some(2), Self::A1R5G5B5_UNORM_PACK16 => Some(2), Self::R8_UNORM => Some(1), Self::R8_SNORM => Some(1), Self::R8_USCALED => Some(1), Self::R8_SSCALED => Some(1), Self::R8_UINT => Some(1), Self::R8_SINT => Some(1), Self::R8_SRGB => Some(1), Self::R8G8_UNORM => Some(2), Self::R8G8_SNORM => Some(2), Self::R8G8_USCALED => Some(2), Self::R8G8_SSCALED => Some(2), Self::R8G8_UINT => Some(2), Self::R8G8_SINT => Some(2), Self::R8G8_SRGB => Some(2), Self::R8G8B8_UNORM => Some(3), Self::R8G8B8_SNORM => Some(3), Self::R8G8B8_USCALED => Some(3), Self::R8G8B8_SSCALED => Some(3), Self::R8G8B8_UINT => Some(3), Self::R8G8B8_SINT => Some(3), Self::R8G8B8_SRGB => Some(3), Self::B8G8R8_UNORM => Some(3), Self::B8G8R8_SNORM => Some(3), Self::B8G8R8_USCALED => Some(3), Self::B8G8R8_SSCALED => Some(3), Self::B8G8R8_UINT => Some(3), Self::B8G8R8_SINT => Some(3), Self::B8G8R8_SRGB => Some(3), Self::R8G8B8A8_UNORM => Some(4), Self::R8G8B8A8_SNORM => Some(4), Self::R8G8B8A8_USCALED => Some(4), Self::R8G8B8A8_SSCALED => Some(4), Self::R8G8B8A8_UINT => Some(4), Self::R8G8B8A8_SINT => Some(4), Self::R8G8B8A8_SRGB => Some(4), Self::B8G8R8A8_UNORM => Some(4), Self::B8G8R8A8_SNORM => Some(4), Self::B8G8R8A8_USCALED => Some(4), Self::B8G8R8A8_SSCALED => Some(4), Self::B8G8R8A8_UINT => Some(4), Self::B8G8R8A8_SINT => Some(4), Self::B8G8R8A8_SRGB => Some(4), Self::A8B8G8R8_UNORM_PACK32 => Some(4), Self::A8B8G8R8_SNORM_PACK32 => Some(4), Self::A8B8G8R8_USCALED_PACK32 => Some(4), Self::A8B8G8R8_SSCALED_PACK32 => Some(4), Self::A8B8G8R8_UINT_PACK32 => Some(4), Self::A8B8G8R8_SINT_PACK32 => Some(4), Self::A8B8G8R8_SRGB_PACK32 => Some(4), Self::A2R10G10B10_UNORM_PACK32 => Some(4), Self::A2R10G10B10_SNORM_PACK32 => Some(4), Self::A2R10G10B10_USCALED_PACK32 => Some(4), Self::A2R10G10B10_SSCALED_PACK32 => Some(4), Self::A2R10G10B10_UINT_PACK32 => Some(4), Self::A2R10G10B10_SINT_PACK32 => Some(4), Self::A2B10G10R10_UNORM_PACK32 => Some(4), Self::A2B10G10R10_SNORM_PACK32 => Some(4), Self::A2B10G10R10_USCALED_PACK32 => Some(4), Self::A2B10G10R10_SSCALED_PACK32 => Some(4), Self::A2B10G10R10_UINT_PACK32 => Some(4), Self::A2B10G10R10_SINT_PACK32 => Some(4), Self::R16_UNORM => Some(2), Self::R16_SNORM => Some(2), Self::R16_USCALED => Some(2), Self::R16_SSCALED => Some(2), Self::R16_UINT => Some(2), Self::R16_SINT => Some(2), Self::R16_SFLOAT => Some(2), Self::R16G16_UNORM => Some(4), Self::R16G16_SNORM => Some(4), Self::R16G16_USCALED => Some(4), Self::R16G16_SSCALED => Some(4), Self::R16G16_UINT => Some(4), Self::R16G16_SINT => Some(4), Self::R16G16_SFLOAT => Some(4), Self::R16G16B16_UNORM => Some(6), Self::R16G16B16_SNORM => Some(6), Self::R16G16B16_USCALED => Some(6), Self::R16G16B16_SSCALED => Some(6), Self::R16G16B16_UINT => Some(6), Self::R16G16B16_SINT => Some(6), Self::R16G16B16_SFLOAT => Some(6), Self::R16G16B16A16_UNORM => Some(8), Self::R16G16B16A16_SNORM => Some(8), Self::R16G16B16A16_USCALED => Some(8), Self::R16G16B16A16_SSCALED => Some(8), Self::R16G16B16A16_UINT => Some(8), Self::R16G16B16A16_SINT => Some(8), Self::R16G16B16A16_SFLOAT => Some(8), Self::R32_UINT => Some(4), Self::R32_SINT => Some(4), Self::R32_SFLOAT => Some(4), Self::R32G32_UINT => Some(8), Self::R32G32_SINT => Some(8), Self::R32G32_SFLOAT => Some(8), Self::R32G32B32_UINT => Some(12), Self::R32G32B32_SINT => Some(12), Self::R32G32B32_SFLOAT => Some(12), Self::R32G32B32A32_UINT => Some(16), Self::R32G32B32A32_SINT => Some(16), Self::R32G32B32A32_SFLOAT => Some(16), Self::R64_UINT => Some(8), Self::R64_SINT => Some(8), Self::R64_SFLOAT => Some(8), Self::R64G64_UINT => Some(16), Self::R64G64_SINT => Some(16), Self::R64G64_SFLOAT => Some(16), Self::R64G64B64_UINT => Some(24), Self::R64G64B64_SINT => Some(24), Self::R64G64B64_SFLOAT => Some(24), Self::R64G64B64A64_UINT => Some(32), Self::R64G64B64A64_SINT => Some(32), Self::R64G64B64A64_SFLOAT => Some(32), Self::B10G11R11_UFLOAT_PACK32 => Some(4), Self::E5B9G9R9_UFLOAT_PACK32 => Some(4), Self::BC1_RGB_UNORM_BLOCK => Some(8), Self::BC1_RGB_SRGB_BLOCK => Some(8), Self::BC1_RGBA_UNORM_BLOCK => Some(8), Self::BC1_RGBA_SRGB_BLOCK => Some(8), Self::BC2_UNORM_BLOCK => Some(16), Self::BC2_SRGB_BLOCK => Some(16), Self::BC3_UNORM_BLOCK => Some(16), Self::BC3_SRGB_BLOCK => Some(16), Self::BC4_UNORM_BLOCK => Some(8), Self::BC4_SNORM_BLOCK => Some(8), Self::BC5_UNORM_BLOCK => Some(16), Self::BC5_SNORM_BLOCK => Some(16), Self::BC6H_UFLOAT_BLOCK => Some(16), Self::BC6H_SFLOAT_BLOCK => Some(16), Self::BC7_UNORM_BLOCK => Some(16), Self::BC7_SRGB_BLOCK => Some(16), Self::ETC2_R8G8B8_UNORM_BLOCK => Some(8), Self::ETC2_R8G8B8_SRGB_BLOCK => Some(8), Self::ETC2_R8G8B8A1_UNORM_BLOCK => Some(8), Self::ETC2_R8G8B8A1_SRGB_BLOCK => Some(8), Self::ETC2_R8G8B8A8_UNORM_BLOCK => Some(16), Self::ETC2_R8G8B8A8_SRGB_BLOCK => Some(16), Self::EAC_R11_UNORM_BLOCK => Some(8), Self::EAC_R11_SNORM_BLOCK => Some(8), Self::EAC_R11G11_UNORM_BLOCK => Some(16), Self::EAC_R11G11_SNORM_BLOCK => Some(16), Self::ASTC_4x4_UNORM_BLOCK => Some(16), Self::ASTC_4x4_SRGB_BLOCK => Some(16), Self::ASTC_5x4_UNORM_BLOCK => Some(16), Self::ASTC_5x4_SRGB_BLOCK => Some(16), Self::ASTC_5x5_UNORM_BLOCK => Some(16), Self::ASTC_5x5_SRGB_BLOCK => Some(16), Self::ASTC_6x5_UNORM_BLOCK => Some(16), Self::ASTC_6x5_SRGB_BLOCK => Some(16), Self::ASTC_6x6_UNORM_BLOCK => Some(16), Self::ASTC_6x6_SRGB_BLOCK => Some(16), Self::ASTC_8x5_UNORM_BLOCK => Some(16), Self::ASTC_8x5_SRGB_BLOCK => Some(16), Self::ASTC_8x6_UNORM_BLOCK => Some(16), Self::ASTC_8x6_SRGB_BLOCK => Some(16), Self::ASTC_8x8_UNORM_BLOCK => Some(16), Self::ASTC_8x8_SRGB_BLOCK => Some(16), Self::ASTC_10x5_UNORM_BLOCK => Some(16), Self::ASTC_10x5_SRGB_BLOCK => Some(16), Self::ASTC_10x6_UNORM_BLOCK => Some(16), Self::ASTC_10x6_SRGB_BLOCK => Some(16), Self::ASTC_10x8_UNORM_BLOCK => Some(16), Self::ASTC_10x8_SRGB_BLOCK => Some(16), Self::ASTC_10x10_UNORM_BLOCK => Some(16), Self::ASTC_10x10_SRGB_BLOCK => Some(16), Self::ASTC_12x10_UNORM_BLOCK => Some(16), Self::ASTC_12x10_SRGB_BLOCK => Some(16), Self::ASTC_12x12_UNORM_BLOCK => Some(16), Self::ASTC_12x12_SRGB_BLOCK => Some(16), Self::G8B8G8R8_422_UNORM => Some(4), Self::B8G8R8G8_422_UNORM => Some(4), Self::R10X6_UNORM_PACK16 => Some(2), Self::R10X6G10X6_UNORM_2PACK16 => Some(4), Self::R10X6G10X6B10X6A10X6_UNORM_4PACK16 => Some(8), Self::G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 => Some(8), Self::B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 => Some(8), Self::R12X4_UNORM_PACK16 => Some(2), Self::R12X4G12X4_UNORM_2PACK16 => Some(4), Self::R12X4G12X4B12X4A12X4_UNORM_4PACK16 => Some(8), Self::G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 => Some(8), Self::B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 => Some(8), Self::G16B16G16R16_422_UNORM => Some(8), Self::B16G16R16G16_422_UNORM => Some(8), Self::PVRTC1_2BPP_UNORM_BLOCK => Some(8), Self::PVRTC1_4BPP_UNORM_BLOCK => Some(8), Self::PVRTC2_2BPP_UNORM_BLOCK => Some(8), Self::PVRTC2_4BPP_UNORM_BLOCK => Some(8), Self::PVRTC1_2BPP_SRGB_BLOCK => Some(8), Self::PVRTC1_4BPP_SRGB_BLOCK => Some(8), Self::PVRTC2_2BPP_SRGB_BLOCK => Some(8), Self::PVRTC2_4BPP_SRGB_BLOCK => Some(8), Self::ASTC_4x4_SFLOAT_BLOCK => Some(16), Self::ASTC_5x4_SFLOAT_BLOCK => Some(16), Self::ASTC_5x5_SFLOAT_BLOCK => Some(16), Self::ASTC_6x5_SFLOAT_BLOCK => Some(16), Self::ASTC_6x6_SFLOAT_BLOCK => Some(16), Self::ASTC_8x5_SFLOAT_BLOCK => Some(16), Self::ASTC_8x6_SFLOAT_BLOCK => Some(16), Self::ASTC_8x8_SFLOAT_BLOCK => Some(16), Self::ASTC_10x5_SFLOAT_BLOCK => Some(16), Self::ASTC_10x6_SFLOAT_BLOCK => Some(16), Self::ASTC_10x8_SFLOAT_BLOCK => Some(16), Self::ASTC_10x10_SFLOAT_BLOCK => Some(16), Self::ASTC_12x10_SFLOAT_BLOCK => Some(16), Self::ASTC_12x12_SFLOAT_BLOCK => Some(16), Self::A4R4G4B4_UNORM_PACK16 => Some(2), Self::A4B4G4R4_UNORM_PACK16 => Some(2), Self::R16G16_S10_5_NV => Some(4), _ => None, } } #[doc = r" Returns the an opaque object representing the compatibility class of the format."] #[doc = r" This can be used to determine whether two formats are compatible for the purposes"] #[doc = r" of certain Vulkan operations, such as image copying."] pub fn compatibility(self) -> FormatCompatibility { FormatCompatibility(match self { Self::R4G4_UNORM_PACK8 => &FormatCompatibilityInner::Class_8bit, Self::R4G4B4A4_UNORM_PACK16 => &FormatCompatibilityInner::Class_16bit, Self::B4G4R4A4_UNORM_PACK16 => &FormatCompatibilityInner::Class_16bit, Self::R5G6B5_UNORM_PACK16 => &FormatCompatibilityInner::Class_16bit, Self::B5G6R5_UNORM_PACK16 => &FormatCompatibilityInner::Class_16bit, Self::R5G5B5A1_UNORM_PACK16 => &FormatCompatibilityInner::Class_16bit, Self::B5G5R5A1_UNORM_PACK16 => &FormatCompatibilityInner::Class_16bit, Self::A1R5G5B5_UNORM_PACK16 => &FormatCompatibilityInner::Class_16bit, Self::R8_UNORM => &FormatCompatibilityInner::Class_8bit, Self::R8_SNORM => &FormatCompatibilityInner::Class_8bit, Self::R8_USCALED => &FormatCompatibilityInner::Class_8bit, Self::R8_SSCALED => &FormatCompatibilityInner::Class_8bit, Self::R8_UINT => &FormatCompatibilityInner::Class_8bit, Self::R8_SINT => &FormatCompatibilityInner::Class_8bit, Self::R8_SRGB => &FormatCompatibilityInner::Class_8bit, Self::R8G8_UNORM => &FormatCompatibilityInner::Class_16bit, Self::R8G8_SNORM => &FormatCompatibilityInner::Class_16bit, Self::R8G8_USCALED => &FormatCompatibilityInner::Class_16bit, Self::R8G8_SSCALED => &FormatCompatibilityInner::Class_16bit, Self::R8G8_UINT => &FormatCompatibilityInner::Class_16bit, Self::R8G8_SINT => &FormatCompatibilityInner::Class_16bit, Self::R8G8_SRGB => &FormatCompatibilityInner::Class_16bit, Self::R8G8B8_UNORM => &FormatCompatibilityInner::Class_24bit, Self::R8G8B8_SNORM => &FormatCompatibilityInner::Class_24bit, Self::R8G8B8_USCALED => &FormatCompatibilityInner::Class_24bit, Self::R8G8B8_SSCALED => &FormatCompatibilityInner::Class_24bit, Self::R8G8B8_UINT => &FormatCompatibilityInner::Class_24bit, Self::R8G8B8_SINT => &FormatCompatibilityInner::Class_24bit, Self::R8G8B8_SRGB => &FormatCompatibilityInner::Class_24bit, Self::B8G8R8_UNORM => &FormatCompatibilityInner::Class_24bit, Self::B8G8R8_SNORM => &FormatCompatibilityInner::Class_24bit, Self::B8G8R8_USCALED => &FormatCompatibilityInner::Class_24bit, Self::B8G8R8_SSCALED => &FormatCompatibilityInner::Class_24bit, Self::B8G8R8_UINT => &FormatCompatibilityInner::Class_24bit, Self::B8G8R8_SINT => &FormatCompatibilityInner::Class_24bit, Self::B8G8R8_SRGB => &FormatCompatibilityInner::Class_24bit, Self::R8G8B8A8_UNORM => &FormatCompatibilityInner::Class_32bit, Self::R8G8B8A8_SNORM => &FormatCompatibilityInner::Class_32bit, Self::R8G8B8A8_USCALED => &FormatCompatibilityInner::Class_32bit, Self::R8G8B8A8_SSCALED => &FormatCompatibilityInner::Class_32bit, Self::R8G8B8A8_UINT => &FormatCompatibilityInner::Class_32bit, Self::R8G8B8A8_SINT => &FormatCompatibilityInner::Class_32bit, Self::R8G8B8A8_SRGB => &FormatCompatibilityInner::Class_32bit, Self::B8G8R8A8_UNORM => &FormatCompatibilityInner::Class_32bit, Self::B8G8R8A8_SNORM => &FormatCompatibilityInner::Class_32bit, Self::B8G8R8A8_USCALED => &FormatCompatibilityInner::Class_32bit, Self::B8G8R8A8_SSCALED => &FormatCompatibilityInner::Class_32bit, Self::B8G8R8A8_UINT => &FormatCompatibilityInner::Class_32bit, Self::B8G8R8A8_SINT => &FormatCompatibilityInner::Class_32bit, Self::B8G8R8A8_SRGB => &FormatCompatibilityInner::Class_32bit, Self::A8B8G8R8_UNORM_PACK32 => &FormatCompatibilityInner::Class_32bit, Self::A8B8G8R8_SNORM_PACK32 => &FormatCompatibilityInner::Class_32bit, Self::A8B8G8R8_USCALED_PACK32 => &FormatCompatibilityInner::Class_32bit, Self::A8B8G8R8_SSCALED_PACK32 => &FormatCompatibilityInner::Class_32bit, Self::A8B8G8R8_UINT_PACK32 => &FormatCompatibilityInner::Class_32bit, Self::A8B8G8R8_SINT_PACK32 => &FormatCompatibilityInner::Class_32bit, Self::A8B8G8R8_SRGB_PACK32 => &FormatCompatibilityInner::Class_32bit, Self::A2R10G10B10_UNORM_PACK32 => &FormatCompatibilityInner::Class_32bit, Self::A2R10G10B10_SNORM_PACK32 => &FormatCompatibilityInner::Class_32bit, Self::A2R10G10B10_USCALED_PACK32 => &FormatCompatibilityInner::Class_32bit, Self::A2R10G10B10_SSCALED_PACK32 => &FormatCompatibilityInner::Class_32bit, Self::A2R10G10B10_UINT_PACK32 => &FormatCompatibilityInner::Class_32bit, Self::A2R10G10B10_SINT_PACK32 => &FormatCompatibilityInner::Class_32bit, Self::A2B10G10R10_UNORM_PACK32 => &FormatCompatibilityInner::Class_32bit, Self::A2B10G10R10_SNORM_PACK32 => &FormatCompatibilityInner::Class_32bit, Self::A2B10G10R10_USCALED_PACK32 => &FormatCompatibilityInner::Class_32bit, Self::A2B10G10R10_SSCALED_PACK32 => &FormatCompatibilityInner::Class_32bit, Self::A2B10G10R10_UINT_PACK32 => &FormatCompatibilityInner::Class_32bit, Self::A2B10G10R10_SINT_PACK32 => &FormatCompatibilityInner::Class_32bit, Self::R16_UNORM => &FormatCompatibilityInner::Class_16bit, Self::R16_SNORM => &FormatCompatibilityInner::Class_16bit, Self::R16_USCALED => &FormatCompatibilityInner::Class_16bit, Self::R16_SSCALED => &FormatCompatibilityInner::Class_16bit, Self::R16_UINT => &FormatCompatibilityInner::Class_16bit, Self::R16_SINT => &FormatCompatibilityInner::Class_16bit, Self::R16_SFLOAT => &FormatCompatibilityInner::Class_16bit, Self::R16G16_UNORM => &FormatCompatibilityInner::Class_32bit, Self::R16G16_SNORM => &FormatCompatibilityInner::Class_32bit, Self::R16G16_USCALED => &FormatCompatibilityInner::Class_32bit, Self::R16G16_SSCALED => &FormatCompatibilityInner::Class_32bit, Self::R16G16_UINT => &FormatCompatibilityInner::Class_32bit, Self::R16G16_SINT => &FormatCompatibilityInner::Class_32bit, Self::R16G16_SFLOAT => &FormatCompatibilityInner::Class_32bit, Self::R16G16B16_UNORM => &FormatCompatibilityInner::Class_48bit, Self::R16G16B16_SNORM => &FormatCompatibilityInner::Class_48bit, Self::R16G16B16_USCALED => &FormatCompatibilityInner::Class_48bit, Self::R16G16B16_SSCALED => &FormatCompatibilityInner::Class_48bit, Self::R16G16B16_UINT => &FormatCompatibilityInner::Class_48bit, Self::R16G16B16_SINT => &FormatCompatibilityInner::Class_48bit, Self::R16G16B16_SFLOAT => &FormatCompatibilityInner::Class_48bit, Self::R16G16B16A16_UNORM => &FormatCompatibilityInner::Class_64bit, Self::R16G16B16A16_SNORM => &FormatCompatibilityInner::Class_64bit, Self::R16G16B16A16_USCALED => &FormatCompatibilityInner::Class_64bit, Self::R16G16B16A16_SSCALED => &FormatCompatibilityInner::Class_64bit, Self::R16G16B16A16_UINT => &FormatCompatibilityInner::Class_64bit, Self::R16G16B16A16_SINT => &FormatCompatibilityInner::Class_64bit, Self::R16G16B16A16_SFLOAT => &FormatCompatibilityInner::Class_64bit, Self::R32_UINT => &FormatCompatibilityInner::Class_32bit, Self::R32_SINT => &FormatCompatibilityInner::Class_32bit, Self::R32_SFLOAT => &FormatCompatibilityInner::Class_32bit, Self::R32G32_UINT => &FormatCompatibilityInner::Class_64bit, Self::R32G32_SINT => &FormatCompatibilityInner::Class_64bit, Self::R32G32_SFLOAT => &FormatCompatibilityInner::Class_64bit, Self::R32G32B32_UINT => &FormatCompatibilityInner::Class_96bit, Self::R32G32B32_SINT => &FormatCompatibilityInner::Class_96bit, Self::R32G32B32_SFLOAT => &FormatCompatibilityInner::Class_96bit, Self::R32G32B32A32_UINT => &FormatCompatibilityInner::Class_128bit, Self::R32G32B32A32_SINT => &FormatCompatibilityInner::Class_128bit, Self::R32G32B32A32_SFLOAT => &FormatCompatibilityInner::Class_128bit, Self::R64_UINT => &FormatCompatibilityInner::Class_64bit, Self::R64_SINT => &FormatCompatibilityInner::Class_64bit, Self::R64_SFLOAT => &FormatCompatibilityInner::Class_64bit, Self::R64G64_UINT => &FormatCompatibilityInner::Class_128bit, Self::R64G64_SINT => &FormatCompatibilityInner::Class_128bit, Self::R64G64_SFLOAT => &FormatCompatibilityInner::Class_128bit, Self::R64G64B64_UINT => &FormatCompatibilityInner::Class_192bit, Self::R64G64B64_SINT => &FormatCompatibilityInner::Class_192bit, Self::R64G64B64_SFLOAT => &FormatCompatibilityInner::Class_192bit, Self::R64G64B64A64_UINT => &FormatCompatibilityInner::Class_256bit, Self::R64G64B64A64_SINT => &FormatCompatibilityInner::Class_256bit, Self::R64G64B64A64_SFLOAT => &FormatCompatibilityInner::Class_256bit, Self::B10G11R11_UFLOAT_PACK32 => &FormatCompatibilityInner::Class_32bit, Self::E5B9G9R9_UFLOAT_PACK32 => &FormatCompatibilityInner::Class_32bit, Self::D16_UNORM => &FormatCompatibilityInner::Class_D16, Self::X8_D24_UNORM_PACK32 => &FormatCompatibilityInner::Class_D24, Self::D32_SFLOAT => &FormatCompatibilityInner::Class_D32, Self::S8_UINT => &FormatCompatibilityInner::Class_S8, Self::D16_UNORM_S8_UINT => &FormatCompatibilityInner::Class_D16S8, Self::D24_UNORM_S8_UINT => &FormatCompatibilityInner::Class_D24S8, Self::D32_SFLOAT_S8_UINT => &FormatCompatibilityInner::Class_D32S8, Self::BC1_RGB_UNORM_BLOCK => &FormatCompatibilityInner::Class_BC1_RGB, Self::BC1_RGB_SRGB_BLOCK => &FormatCompatibilityInner::Class_BC1_RGB, Self::BC1_RGBA_UNORM_BLOCK => &FormatCompatibilityInner::Class_BC1_RGBA, Self::BC1_RGBA_SRGB_BLOCK => &FormatCompatibilityInner::Class_BC1_RGBA, Self::BC2_UNORM_BLOCK => &FormatCompatibilityInner::Class_BC2, Self::BC2_SRGB_BLOCK => &FormatCompatibilityInner::Class_BC2, Self::BC3_UNORM_BLOCK => &FormatCompatibilityInner::Class_BC3, Self::BC3_SRGB_BLOCK => &FormatCompatibilityInner::Class_BC3, Self::BC4_UNORM_BLOCK => &FormatCompatibilityInner::Class_BC4, Self::BC4_SNORM_BLOCK => &FormatCompatibilityInner::Class_BC4, Self::BC5_UNORM_BLOCK => &FormatCompatibilityInner::Class_BC5, Self::BC5_SNORM_BLOCK => &FormatCompatibilityInner::Class_BC5, Self::BC6H_UFLOAT_BLOCK => &FormatCompatibilityInner::Class_BC6H, Self::BC6H_SFLOAT_BLOCK => &FormatCompatibilityInner::Class_BC6H, Self::BC7_UNORM_BLOCK => &FormatCompatibilityInner::Class_BC7, Self::BC7_SRGB_BLOCK => &FormatCompatibilityInner::Class_BC7, Self::ETC2_R8G8B8_UNORM_BLOCK => &FormatCompatibilityInner::Class_ETC2_RGB, Self::ETC2_R8G8B8_SRGB_BLOCK => &FormatCompatibilityInner::Class_ETC2_RGB, Self::ETC2_R8G8B8A1_UNORM_BLOCK => &FormatCompatibilityInner::Class_ETC2_RGBA, Self::ETC2_R8G8B8A1_SRGB_BLOCK => &FormatCompatibilityInner::Class_ETC2_RGBA, Self::ETC2_R8G8B8A8_UNORM_BLOCK => &FormatCompatibilityInner::Class_ETC2_EAC_RGBA, Self::ETC2_R8G8B8A8_SRGB_BLOCK => &FormatCompatibilityInner::Class_ETC2_EAC_RGBA, Self::EAC_R11_UNORM_BLOCK => &FormatCompatibilityInner::Class_EAC_R, Self::EAC_R11_SNORM_BLOCK => &FormatCompatibilityInner::Class_EAC_R, Self::EAC_R11G11_UNORM_BLOCK => &FormatCompatibilityInner::Class_EAC_RG, Self::EAC_R11G11_SNORM_BLOCK => &FormatCompatibilityInner::Class_EAC_RG, Self::ASTC_4x4_UNORM_BLOCK => &FormatCompatibilityInner::Class_ASTC_4x4, Self::ASTC_4x4_SRGB_BLOCK => &FormatCompatibilityInner::Class_ASTC_4x4, Self::ASTC_5x4_UNORM_BLOCK => &FormatCompatibilityInner::Class_ASTC_5x4, Self::ASTC_5x4_SRGB_BLOCK => &FormatCompatibilityInner::Class_ASTC_5x4, Self::ASTC_5x5_UNORM_BLOCK => &FormatCompatibilityInner::Class_ASTC_5x5, Self::ASTC_5x5_SRGB_BLOCK => &FormatCompatibilityInner::Class_ASTC_5x5, Self::ASTC_6x5_UNORM_BLOCK => &FormatCompatibilityInner::Class_ASTC_6x5, Self::ASTC_6x5_SRGB_BLOCK => &FormatCompatibilityInner::Class_ASTC_6x5, Self::ASTC_6x6_UNORM_BLOCK => &FormatCompatibilityInner::Class_ASTC_6x6, Self::ASTC_6x6_SRGB_BLOCK => &FormatCompatibilityInner::Class_ASTC_6x6, Self::ASTC_8x5_UNORM_BLOCK => &FormatCompatibilityInner::Class_ASTC_8x5, Self::ASTC_8x5_SRGB_BLOCK => &FormatCompatibilityInner::Class_ASTC_8x5, Self::ASTC_8x6_UNORM_BLOCK => &FormatCompatibilityInner::Class_ASTC_8x6, Self::ASTC_8x6_SRGB_BLOCK => &FormatCompatibilityInner::Class_ASTC_8x6, Self::ASTC_8x8_UNORM_BLOCK => &FormatCompatibilityInner::Class_ASTC_8x8, Self::ASTC_8x8_SRGB_BLOCK => &FormatCompatibilityInner::Class_ASTC_8x8, Self::ASTC_10x5_UNORM_BLOCK => &FormatCompatibilityInner::Class_ASTC_10x5, Self::ASTC_10x5_SRGB_BLOCK => &FormatCompatibilityInner::Class_ASTC_10x5, Self::ASTC_10x6_UNORM_BLOCK => &FormatCompatibilityInner::Class_ASTC_10x6, Self::ASTC_10x6_SRGB_BLOCK => &FormatCompatibilityInner::Class_ASTC_10x6, Self::ASTC_10x8_UNORM_BLOCK => &FormatCompatibilityInner::Class_ASTC_10x8, Self::ASTC_10x8_SRGB_BLOCK => &FormatCompatibilityInner::Class_ASTC_10x8, Self::ASTC_10x10_UNORM_BLOCK => &FormatCompatibilityInner::Class_ASTC_10x10, Self::ASTC_10x10_SRGB_BLOCK => &FormatCompatibilityInner::Class_ASTC_10x10, Self::ASTC_12x10_UNORM_BLOCK => &FormatCompatibilityInner::Class_ASTC_12x10, Self::ASTC_12x10_SRGB_BLOCK => &FormatCompatibilityInner::Class_ASTC_12x10, Self::ASTC_12x12_UNORM_BLOCK => &FormatCompatibilityInner::Class_ASTC_12x12, Self::ASTC_12x12_SRGB_BLOCK => &FormatCompatibilityInner::Class_ASTC_12x12, Self::G8B8G8R8_422_UNORM => &FormatCompatibilityInner::Class_32bit_G8B8G8R8, Self::B8G8R8G8_422_UNORM => &FormatCompatibilityInner::Class_32bit_B8G8R8G8, Self::G8_B8_R8_3PLANE_420_UNORM => &FormatCompatibilityInner::Class_8bit_3plane_420, Self::G8_B8R8_2PLANE_420_UNORM => &FormatCompatibilityInner::Class_8bit_2plane_420, Self::G8_B8_R8_3PLANE_422_UNORM => &FormatCompatibilityInner::Class_8bit_3plane_422, Self::G8_B8R8_2PLANE_422_UNORM => &FormatCompatibilityInner::Class_8bit_2plane_422, Self::G8_B8_R8_3PLANE_444_UNORM => &FormatCompatibilityInner::Class_8bit_3plane_444, Self::R10X6_UNORM_PACK16 => &FormatCompatibilityInner::Class_16bit, Self::R10X6G10X6_UNORM_2PACK16 => &FormatCompatibilityInner::Class_32bit, Self::R10X6G10X6B10X6A10X6_UNORM_4PACK16 => { &FormatCompatibilityInner::Class_64bit_R10G10B10A10 } Self::G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 => { &FormatCompatibilityInner::Class_64bit_G10B10G10R10 } Self::B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 => { &FormatCompatibilityInner::Class_64bit_B10G10R10G10 } Self::G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 => { &FormatCompatibilityInner::Class_10bit_3plane_420 } Self::G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 => { &FormatCompatibilityInner::Class_10bit_2plane_420 } Self::G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 => { &FormatCompatibilityInner::Class_10bit_3plane_422 } Self::G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 => { &FormatCompatibilityInner::Class_10bit_2plane_422 } Self::G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 => { &FormatCompatibilityInner::Class_10bit_3plane_444 } Self::R12X4_UNORM_PACK16 => &FormatCompatibilityInner::Class_16bit, Self::R12X4G12X4_UNORM_2PACK16 => &FormatCompatibilityInner::Class_32bit, Self::R12X4G12X4B12X4A12X4_UNORM_4PACK16 => { &FormatCompatibilityInner::Class_64bit_R12G12B12A12 } Self::G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 => { &FormatCompatibilityInner::Class_64bit_G12B12G12R12 } Self::B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 => { &FormatCompatibilityInner::Class_64bit_B12G12R12G12 } Self::G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 => { &FormatCompatibilityInner::Class_12bit_3plane_420 } Self::G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 => { &FormatCompatibilityInner::Class_12bit_2plane_420 } Self::G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 => { &FormatCompatibilityInner::Class_12bit_3plane_422 } Self::G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 => { &FormatCompatibilityInner::Class_12bit_2plane_422 } Self::G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 => { &FormatCompatibilityInner::Class_12bit_3plane_444 } Self::G16B16G16R16_422_UNORM => &FormatCompatibilityInner::Class_64bit_G16B16G16R16, Self::B16G16R16G16_422_UNORM => &FormatCompatibilityInner::Class_64bit_B16G16R16G16, Self::G16_B16_R16_3PLANE_420_UNORM => &FormatCompatibilityInner::Class_16bit_3plane_420, Self::G16_B16R16_2PLANE_420_UNORM => &FormatCompatibilityInner::Class_16bit_2plane_420, Self::G16_B16_R16_3PLANE_422_UNORM => &FormatCompatibilityInner::Class_16bit_3plane_422, Self::G16_B16R16_2PLANE_422_UNORM => &FormatCompatibilityInner::Class_16bit_2plane_422, Self::G16_B16_R16_3PLANE_444_UNORM => &FormatCompatibilityInner::Class_16bit_3plane_444, Self::PVRTC1_2BPP_UNORM_BLOCK => &FormatCompatibilityInner::Class_PVRTC1_2BPP, Self::PVRTC1_4BPP_UNORM_BLOCK => &FormatCompatibilityInner::Class_PVRTC1_4BPP, Self::PVRTC2_2BPP_UNORM_BLOCK => &FormatCompatibilityInner::Class_PVRTC2_2BPP, Self::PVRTC2_4BPP_UNORM_BLOCK => &FormatCompatibilityInner::Class_PVRTC2_4BPP, Self::PVRTC1_2BPP_SRGB_BLOCK => &FormatCompatibilityInner::Class_PVRTC1_2BPP, Self::PVRTC1_4BPP_SRGB_BLOCK => &FormatCompatibilityInner::Class_PVRTC1_4BPP, Self::PVRTC2_2BPP_SRGB_BLOCK => &FormatCompatibilityInner::Class_PVRTC2_2BPP, Self::PVRTC2_4BPP_SRGB_BLOCK => &FormatCompatibilityInner::Class_PVRTC2_4BPP, Self::ASTC_4x4_SFLOAT_BLOCK => &FormatCompatibilityInner::Class_ASTC_4x4, Self::ASTC_5x4_SFLOAT_BLOCK => &FormatCompatibilityInner::Class_ASTC_5x4, Self::ASTC_5x5_SFLOAT_BLOCK => &FormatCompatibilityInner::Class_ASTC_5x5, Self::ASTC_6x5_SFLOAT_BLOCK => &FormatCompatibilityInner::Class_ASTC_6x5, Self::ASTC_6x6_SFLOAT_BLOCK => &FormatCompatibilityInner::Class_ASTC_6x6, Self::ASTC_8x5_SFLOAT_BLOCK => &FormatCompatibilityInner::Class_ASTC_8x5, Self::ASTC_8x6_SFLOAT_BLOCK => &FormatCompatibilityInner::Class_ASTC_8x6, Self::ASTC_8x8_SFLOAT_BLOCK => &FormatCompatibilityInner::Class_ASTC_8x8, Self::ASTC_10x5_SFLOAT_BLOCK => &FormatCompatibilityInner::Class_ASTC_10x5, Self::ASTC_10x6_SFLOAT_BLOCK => &FormatCompatibilityInner::Class_ASTC_10x6, Self::ASTC_10x8_SFLOAT_BLOCK => &FormatCompatibilityInner::Class_ASTC_10x8, Self::ASTC_10x10_SFLOAT_BLOCK => &FormatCompatibilityInner::Class_ASTC_10x10, Self::ASTC_12x10_SFLOAT_BLOCK => &FormatCompatibilityInner::Class_ASTC_12x10, Self::ASTC_12x12_SFLOAT_BLOCK => &FormatCompatibilityInner::Class_ASTC_12x12, Self::G8_B8R8_2PLANE_444_UNORM => &FormatCompatibilityInner::Class_8bit_2plane_444, Self::G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 => { &FormatCompatibilityInner::Class_10bit_2plane_444 } Self::G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 => { &FormatCompatibilityInner::Class_12bit_2plane_444 } Self::G16_B16R16_2PLANE_444_UNORM => &FormatCompatibilityInner::Class_16bit_2plane_444, Self::A4R4G4B4_UNORM_PACK16 => &FormatCompatibilityInner::Class_16bit, Self::A4B4G4R4_UNORM_PACK16 => &FormatCompatibilityInner::Class_16bit, Self::R16G16_S10_5_NV => &FormatCompatibilityInner::Class_32bit, }) } #[doc = r" Returns the number of bits per texel block that each component (R, G, B, A) is"] #[doc = r" represented with. Components that are not present in the format have 0 bits."] #[doc = r""] #[doc = r" For depth/stencil formats, the depth component is the first, stencil the second. For"] #[doc = r" multi-planar formats, this is the number of bits across all planes."] #[doc = r""] #[doc = r" For block-compressed formats, the number of bits in individual components is not"] #[doc = r" well-defined, and the return value is merely binary: 1 indicates a component"] #[doc = r" that is present in the format, 0 indicates one that is absent."] pub fn components(self) -> [u8; 4] { match self { Self::R4G4_UNORM_PACK8 => [4, 4, 0, 0], Self::R4G4B4A4_UNORM_PACK16 => [4, 4, 4, 4], Self::B4G4R4A4_UNORM_PACK16 => [4, 4, 4, 4], Self::R5G6B5_UNORM_PACK16 => [5, 6, 5, 0], Self::B5G6R5_UNORM_PACK16 => [5, 6, 5, 0], Self::R5G5B5A1_UNORM_PACK16 => [5, 5, 5, 1], Self::B5G5R5A1_UNORM_PACK16 => [5, 5, 5, 1], Self::A1R5G5B5_UNORM_PACK16 => [5, 5, 5, 1], Self::R8_UNORM => [8, 0, 0, 0], Self::R8_SNORM => [8, 0, 0, 0], Self::R8_USCALED => [8, 0, 0, 0], Self::R8_SSCALED => [8, 0, 0, 0], Self::R8_UINT => [8, 0, 0, 0], Self::R8_SINT => [8, 0, 0, 0], Self::R8_SRGB => [8, 0, 0, 0], Self::R8G8_UNORM => [8, 8, 0, 0], Self::R8G8_SNORM => [8, 8, 0, 0], Self::R8G8_USCALED => [8, 8, 0, 0], Self::R8G8_SSCALED => [8, 8, 0, 0], Self::R8G8_UINT => [8, 8, 0, 0], Self::R8G8_SINT => [8, 8, 0, 0], Self::R8G8_SRGB => [8, 8, 0, 0], Self::R8G8B8_UNORM => [8, 8, 8, 0], Self::R8G8B8_SNORM => [8, 8, 8, 0], Self::R8G8B8_USCALED => [8, 8, 8, 0], Self::R8G8B8_SSCALED => [8, 8, 8, 0], Self::R8G8B8_UINT => [8, 8, 8, 0], Self::R8G8B8_SINT => [8, 8, 8, 0], Self::R8G8B8_SRGB => [8, 8, 8, 0], Self::B8G8R8_UNORM => [8, 8, 8, 0], Self::B8G8R8_SNORM => [8, 8, 8, 0], Self::B8G8R8_USCALED => [8, 8, 8, 0], Self::B8G8R8_SSCALED => [8, 8, 8, 0], Self::B8G8R8_UINT => [8, 8, 8, 0], Self::B8G8R8_SINT => [8, 8, 8, 0], Self::B8G8R8_SRGB => [8, 8, 8, 0], Self::R8G8B8A8_UNORM => [8, 8, 8, 8], Self::R8G8B8A8_SNORM => [8, 8, 8, 8], Self::R8G8B8A8_USCALED => [8, 8, 8, 8], Self::R8G8B8A8_SSCALED => [8, 8, 8, 8], Self::R8G8B8A8_UINT => [8, 8, 8, 8], Self::R8G8B8A8_SINT => [8, 8, 8, 8], Self::R8G8B8A8_SRGB => [8, 8, 8, 8], Self::B8G8R8A8_UNORM => [8, 8, 8, 8], Self::B8G8R8A8_SNORM => [8, 8, 8, 8], Self::B8G8R8A8_USCALED => [8, 8, 8, 8], Self::B8G8R8A8_SSCALED => [8, 8, 8, 8], Self::B8G8R8A8_UINT => [8, 8, 8, 8], Self::B8G8R8A8_SINT => [8, 8, 8, 8], Self::B8G8R8A8_SRGB => [8, 8, 8, 8], Self::A8B8G8R8_UNORM_PACK32 => [8, 8, 8, 8], Self::A8B8G8R8_SNORM_PACK32 => [8, 8, 8, 8], Self::A8B8G8R8_USCALED_PACK32 => [8, 8, 8, 8], Self::A8B8G8R8_SSCALED_PACK32 => [8, 8, 8, 8], Self::A8B8G8R8_UINT_PACK32 => [8, 8, 8, 8], Self::A8B8G8R8_SINT_PACK32 => [8, 8, 8, 8], Self::A8B8G8R8_SRGB_PACK32 => [8, 8, 8, 8], Self::A2R10G10B10_UNORM_PACK32 => [10, 10, 10, 2], Self::A2R10G10B10_SNORM_PACK32 => [10, 10, 10, 2], Self::A2R10G10B10_USCALED_PACK32 => [10, 10, 10, 2], Self::A2R10G10B10_SSCALED_PACK32 => [10, 10, 10, 2], Self::A2R10G10B10_UINT_PACK32 => [10, 10, 10, 2], Self::A2R10G10B10_SINT_PACK32 => [10, 10, 10, 2], Self::A2B10G10R10_UNORM_PACK32 => [10, 10, 10, 2], Self::A2B10G10R10_SNORM_PACK32 => [10, 10, 10, 2], Self::A2B10G10R10_USCALED_PACK32 => [10, 10, 10, 2], Self::A2B10G10R10_SSCALED_PACK32 => [10, 10, 10, 2], Self::A2B10G10R10_UINT_PACK32 => [10, 10, 10, 2], Self::A2B10G10R10_SINT_PACK32 => [10, 10, 10, 2], Self::R16_UNORM => [16, 0, 0, 0], Self::R16_SNORM => [16, 0, 0, 0], Self::R16_USCALED => [16, 0, 0, 0], Self::R16_SSCALED => [16, 0, 0, 0], Self::R16_UINT => [16, 0, 0, 0], Self::R16_SINT => [16, 0, 0, 0], Self::R16_SFLOAT => [16, 0, 0, 0], Self::R16G16_UNORM => [16, 16, 0, 0], Self::R16G16_SNORM => [16, 16, 0, 0], Self::R16G16_USCALED => [16, 16, 0, 0], Self::R16G16_SSCALED => [16, 16, 0, 0], Self::R16G16_UINT => [16, 16, 0, 0], Self::R16G16_SINT => [16, 16, 0, 0], Self::R16G16_SFLOAT => [16, 16, 0, 0], Self::R16G16B16_UNORM => [16, 16, 16, 0], Self::R16G16B16_SNORM => [16, 16, 16, 0], Self::R16G16B16_USCALED => [16, 16, 16, 0], Self::R16G16B16_SSCALED => [16, 16, 16, 0], Self::R16G16B16_UINT => [16, 16, 16, 0], Self::R16G16B16_SINT => [16, 16, 16, 0], Self::R16G16B16_SFLOAT => [16, 16, 16, 0], Self::R16G16B16A16_UNORM => [16, 16, 16, 16], Self::R16G16B16A16_SNORM => [16, 16, 16, 16], Self::R16G16B16A16_USCALED => [16, 16, 16, 16], Self::R16G16B16A16_SSCALED => [16, 16, 16, 16], Self::R16G16B16A16_UINT => [16, 16, 16, 16], Self::R16G16B16A16_SINT => [16, 16, 16, 16], Self::R16G16B16A16_SFLOAT => [16, 16, 16, 16], Self::R32_UINT => [32, 0, 0, 0], Self::R32_SINT => [32, 0, 0, 0], Self::R32_SFLOAT => [32, 0, 0, 0], Self::R32G32_UINT => [32, 32, 0, 0], Self::R32G32_SINT => [32, 32, 0, 0], Self::R32G32_SFLOAT => [32, 32, 0, 0], Self::R32G32B32_UINT => [32, 32, 32, 0], Self::R32G32B32_SINT => [32, 32, 32, 0], Self::R32G32B32_SFLOAT => [32, 32, 32, 0], Self::R32G32B32A32_UINT => [32, 32, 32, 32], Self::R32G32B32A32_SINT => [32, 32, 32, 32], Self::R32G32B32A32_SFLOAT => [32, 32, 32, 32], Self::R64_UINT => [64, 0, 0, 0], Self::R64_SINT => [64, 0, 0, 0], Self::R64_SFLOAT => [64, 0, 0, 0], Self::R64G64_UINT => [64, 0, 64, 0], Self::R64G64_SINT => [64, 0, 64, 0], Self::R64G64_SFLOAT => [64, 0, 64, 0], Self::R64G64B64_UINT => [64, 64, 64, 0], Self::R64G64B64_SINT => [64, 64, 64, 0], Self::R64G64B64_SFLOAT => [64, 64, 64, 0], Self::R64G64B64A64_UINT => [64, 64, 64, 64], Self::R64G64B64A64_SINT => [64, 64, 64, 64], Self::R64G64B64A64_SFLOAT => [64, 64, 64, 64], Self::B10G11R11_UFLOAT_PACK32 => [10, 11, 10, 0], Self::E5B9G9R9_UFLOAT_PACK32 => [9, 9, 9, 0], Self::D16_UNORM => [16, 0, 0, 0], Self::X8_D24_UNORM_PACK32 => [24, 0, 0, 0], Self::D32_SFLOAT => [32, 0, 0, 0], Self::S8_UINT => [0, 8, 0, 0], Self::D16_UNORM_S8_UINT => [16, 8, 0, 0], Self::D24_UNORM_S8_UINT => [24, 8, 0, 0], Self::D32_SFLOAT_S8_UINT => [32, 8, 0, 0], Self::BC1_RGB_UNORM_BLOCK => [1, 1, 1, 0], Self::BC1_RGB_SRGB_BLOCK => [1, 1, 1, 0], Self::BC1_RGBA_UNORM_BLOCK => [1, 1, 1, 1], Self::BC1_RGBA_SRGB_BLOCK => [1, 1, 1, 1], Self::BC2_UNORM_BLOCK => [1, 1, 1, 1], Self::BC2_SRGB_BLOCK => [1, 1, 1, 1], Self::BC3_UNORM_BLOCK => [1, 1, 1, 1], Self::BC3_SRGB_BLOCK => [1, 1, 1, 1], Self::BC4_UNORM_BLOCK => [1, 0, 0, 0], Self::BC4_SNORM_BLOCK => [1, 0, 0, 0], Self::BC5_UNORM_BLOCK => [1, 1, 0, 0], Self::BC5_SNORM_BLOCK => [1, 1, 0, 0], Self::BC6H_UFLOAT_BLOCK => [1, 1, 1, 0], Self::BC6H_SFLOAT_BLOCK => [1, 1, 1, 0], Self::BC7_UNORM_BLOCK => [1, 1, 1, 1], Self::BC7_SRGB_BLOCK => [1, 1, 1, 1], Self::ETC2_R8G8B8_UNORM_BLOCK => [1, 1, 1, 0], Self::ETC2_R8G8B8_SRGB_BLOCK => [1, 1, 1, 0], Self::ETC2_R8G8B8A1_UNORM_BLOCK => [1, 1, 1, 1], Self::ETC2_R8G8B8A1_SRGB_BLOCK => [1, 1, 1, 1], Self::ETC2_R8G8B8A8_UNORM_BLOCK => [1, 1, 1, 1], Self::ETC2_R8G8B8A8_SRGB_BLOCK => [1, 1, 1, 1], Self::EAC_R11_UNORM_BLOCK => [11, 0, 0, 0], Self::EAC_R11_SNORM_BLOCK => [11, 0, 0, 0], Self::EAC_R11G11_UNORM_BLOCK => [11, 11, 0, 0], Self::EAC_R11G11_SNORM_BLOCK => [11, 11, 0, 0], Self::ASTC_4x4_UNORM_BLOCK => [1, 1, 1, 1], Self::ASTC_4x4_SRGB_BLOCK => [1, 1, 1, 1], Self::ASTC_5x4_UNORM_BLOCK => [1, 1, 1, 1], Self::ASTC_5x4_SRGB_BLOCK => [1, 1, 1, 1], Self::ASTC_5x5_UNORM_BLOCK => [1, 1, 1, 1], Self::ASTC_5x5_SRGB_BLOCK => [1, 1, 1, 1], Self::ASTC_6x5_UNORM_BLOCK => [1, 1, 1, 1], Self::ASTC_6x5_SRGB_BLOCK => [1, 1, 1, 1], Self::ASTC_6x6_UNORM_BLOCK => [1, 1, 1, 1], Self::ASTC_6x6_SRGB_BLOCK => [1, 1, 1, 1], Self::ASTC_8x5_UNORM_BLOCK => [1, 1, 1, 1], Self::ASTC_8x5_SRGB_BLOCK => [1, 1, 1, 1], Self::ASTC_8x6_UNORM_BLOCK => [1, 1, 1, 1], Self::ASTC_8x6_SRGB_BLOCK => [1, 1, 1, 1], Self::ASTC_8x8_UNORM_BLOCK => [1, 1, 1, 1], Self::ASTC_8x8_SRGB_BLOCK => [1, 1, 1, 1], Self::ASTC_10x5_UNORM_BLOCK => [1, 1, 1, 1], Self::ASTC_10x5_SRGB_BLOCK => [1, 1, 1, 1], Self::ASTC_10x6_UNORM_BLOCK => [1, 1, 1, 1], Self::ASTC_10x6_SRGB_BLOCK => [1, 1, 1, 1], Self::ASTC_10x8_UNORM_BLOCK => [1, 1, 1, 1], Self::ASTC_10x8_SRGB_BLOCK => [1, 1, 1, 1], Self::ASTC_10x10_UNORM_BLOCK => [1, 1, 1, 1], Self::ASTC_10x10_SRGB_BLOCK => [1, 1, 1, 1], Self::ASTC_12x10_UNORM_BLOCK => [1, 1, 1, 1], Self::ASTC_12x10_SRGB_BLOCK => [1, 1, 1, 1], Self::ASTC_12x12_UNORM_BLOCK => [1, 1, 1, 1], Self::ASTC_12x12_SRGB_BLOCK => [1, 1, 1, 1], Self::G8B8G8R8_422_UNORM => [8, 16, 8, 0], Self::B8G8R8G8_422_UNORM => [8, 16, 8, 0], Self::G8_B8_R8_3PLANE_420_UNORM => [8, 8, 8, 0], Self::G8_B8R8_2PLANE_420_UNORM => [8, 8, 8, 0], Self::G8_B8_R8_3PLANE_422_UNORM => [8, 8, 8, 0], Self::G8_B8R8_2PLANE_422_UNORM => [8, 8, 8, 0], Self::G8_B8_R8_3PLANE_444_UNORM => [8, 8, 8, 0], Self::R10X6_UNORM_PACK16 => [10, 0, 0, 0], Self::R10X6G10X6_UNORM_2PACK16 => [10, 10, 0, 0], Self::R10X6G10X6B10X6A10X6_UNORM_4PACK16 => [10, 10, 10, 10], Self::G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 => [10, 20, 10, 0], Self::B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 => [10, 20, 10, 0], Self::G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 => [10, 10, 10, 0], Self::G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 => [10, 10, 10, 0], Self::G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 => [10, 10, 10, 0], Self::G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 => [10, 10, 10, 0], Self::G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 => [10, 10, 10, 0], Self::R12X4_UNORM_PACK16 => [12, 0, 0, 0], Self::R12X4G12X4_UNORM_2PACK16 => [12, 12, 0, 0], Self::R12X4G12X4B12X4A12X4_UNORM_4PACK16 => [12, 12, 12, 12], Self::G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 => [12, 24, 12, 0], Self::B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 => [12, 24, 12, 0], Self::G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 => [12, 12, 12, 0], Self::G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 => [12, 12, 12, 0], Self::G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 => [12, 12, 12, 0], Self::G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 => [12, 12, 12, 0], Self::G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 => [12, 12, 12, 0], Self::G16B16G16R16_422_UNORM => [16, 32, 16, 0], Self::B16G16R16G16_422_UNORM => [16, 32, 16, 0], Self::G16_B16_R16_3PLANE_420_UNORM => [16, 16, 16, 0], Self::G16_B16R16_2PLANE_420_UNORM => [16, 16, 16, 0], Self::G16_B16_R16_3PLANE_422_UNORM => [16, 16, 16, 0], Self::G16_B16R16_2PLANE_422_UNORM => [16, 16, 16, 0], Self::G16_B16_R16_3PLANE_444_UNORM => [16, 16, 16, 0], Self::PVRTC1_2BPP_UNORM_BLOCK => [1, 1, 1, 1], Self::PVRTC1_4BPP_UNORM_BLOCK => [1, 1, 1, 1], Self::PVRTC2_2BPP_UNORM_BLOCK => [1, 1, 1, 1], Self::PVRTC2_4BPP_UNORM_BLOCK => [1, 1, 1, 1], Self::PVRTC1_2BPP_SRGB_BLOCK => [1, 1, 1, 1], Self::PVRTC1_4BPP_SRGB_BLOCK => [1, 1, 1, 1], Self::PVRTC2_2BPP_SRGB_BLOCK => [1, 1, 1, 1], Self::PVRTC2_4BPP_SRGB_BLOCK => [1, 1, 1, 1], Self::ASTC_4x4_SFLOAT_BLOCK => [1, 1, 1, 1], Self::ASTC_5x4_SFLOAT_BLOCK => [1, 1, 1, 1], Self::ASTC_5x5_SFLOAT_BLOCK => [1, 1, 1, 1], Self::ASTC_6x5_SFLOAT_BLOCK => [1, 1, 1, 1], Self::ASTC_6x6_SFLOAT_BLOCK => [1, 1, 1, 1], Self::ASTC_8x5_SFLOAT_BLOCK => [1, 1, 1, 1], Self::ASTC_8x6_SFLOAT_BLOCK => [1, 1, 1, 1], Self::ASTC_8x8_SFLOAT_BLOCK => [1, 1, 1, 1], Self::ASTC_10x5_SFLOAT_BLOCK => [1, 1, 1, 1], Self::ASTC_10x6_SFLOAT_BLOCK => [1, 1, 1, 1], Self::ASTC_10x8_SFLOAT_BLOCK => [1, 1, 1, 1], Self::ASTC_10x10_SFLOAT_BLOCK => [1, 1, 1, 1], Self::ASTC_12x10_SFLOAT_BLOCK => [1, 1, 1, 1], Self::ASTC_12x12_SFLOAT_BLOCK => [1, 1, 1, 1], Self::G8_B8R8_2PLANE_444_UNORM => [8, 8, 8, 0], Self::G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 => [10, 10, 10, 0], Self::G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 => [12, 12, 12, 0], Self::G16_B16R16_2PLANE_444_UNORM => [16, 16, 16, 0], Self::A4R4G4B4_UNORM_PACK16 => [4, 4, 4, 4], Self::A4B4G4R4_UNORM_PACK16 => [4, 4, 4, 4], Self::R16G16_S10_5_NV => [16, 16, 0, 0], } } #[doc = r" Returns the block compression scheme used for this format, if any. Returns `None` if"] #[doc = r" the format does not use compression."] pub fn compression(self) -> Option { match self { Self::BC1_RGB_UNORM_BLOCK => Some(CompressionType::BC), Self::BC1_RGB_SRGB_BLOCK => Some(CompressionType::BC), Self::BC1_RGBA_UNORM_BLOCK => Some(CompressionType::BC), Self::BC1_RGBA_SRGB_BLOCK => Some(CompressionType::BC), Self::BC2_UNORM_BLOCK => Some(CompressionType::BC), Self::BC2_SRGB_BLOCK => Some(CompressionType::BC), Self::BC3_UNORM_BLOCK => Some(CompressionType::BC), Self::BC3_SRGB_BLOCK => Some(CompressionType::BC), Self::BC4_UNORM_BLOCK => Some(CompressionType::BC), Self::BC4_SNORM_BLOCK => Some(CompressionType::BC), Self::BC5_UNORM_BLOCK => Some(CompressionType::BC), Self::BC5_SNORM_BLOCK => Some(CompressionType::BC), Self::BC6H_UFLOAT_BLOCK => Some(CompressionType::BC), Self::BC6H_SFLOAT_BLOCK => Some(CompressionType::BC), Self::BC7_UNORM_BLOCK => Some(CompressionType::BC), Self::BC7_SRGB_BLOCK => Some(CompressionType::BC), Self::ETC2_R8G8B8_UNORM_BLOCK => Some(CompressionType::ETC2), Self::ETC2_R8G8B8_SRGB_BLOCK => Some(CompressionType::ETC2), Self::ETC2_R8G8B8A1_UNORM_BLOCK => Some(CompressionType::ETC2), Self::ETC2_R8G8B8A1_SRGB_BLOCK => Some(CompressionType::ETC2), Self::ETC2_R8G8B8A8_UNORM_BLOCK => Some(CompressionType::ETC2), Self::ETC2_R8G8B8A8_SRGB_BLOCK => Some(CompressionType::ETC2), Self::EAC_R11_UNORM_BLOCK => Some(CompressionType::EAC), Self::EAC_R11_SNORM_BLOCK => Some(CompressionType::EAC), Self::EAC_R11G11_UNORM_BLOCK => Some(CompressionType::EAC), Self::EAC_R11G11_SNORM_BLOCK => Some(CompressionType::EAC), Self::ASTC_4x4_UNORM_BLOCK => Some(CompressionType::ASTC_LDR), Self::ASTC_4x4_SRGB_BLOCK => Some(CompressionType::ASTC_LDR), Self::ASTC_5x4_UNORM_BLOCK => Some(CompressionType::ASTC_LDR), Self::ASTC_5x4_SRGB_BLOCK => Some(CompressionType::ASTC_LDR), Self::ASTC_5x5_UNORM_BLOCK => Some(CompressionType::ASTC_LDR), Self::ASTC_5x5_SRGB_BLOCK => Some(CompressionType::ASTC_LDR), Self::ASTC_6x5_UNORM_BLOCK => Some(CompressionType::ASTC_LDR), Self::ASTC_6x5_SRGB_BLOCK => Some(CompressionType::ASTC_LDR), Self::ASTC_6x6_UNORM_BLOCK => Some(CompressionType::ASTC_LDR), Self::ASTC_6x6_SRGB_BLOCK => Some(CompressionType::ASTC_LDR), Self::ASTC_8x5_UNORM_BLOCK => Some(CompressionType::ASTC_LDR), Self::ASTC_8x5_SRGB_BLOCK => Some(CompressionType::ASTC_LDR), Self::ASTC_8x6_UNORM_BLOCK => Some(CompressionType::ASTC_LDR), Self::ASTC_8x6_SRGB_BLOCK => Some(CompressionType::ASTC_LDR), Self::ASTC_8x8_UNORM_BLOCK => Some(CompressionType::ASTC_LDR), Self::ASTC_8x8_SRGB_BLOCK => Some(CompressionType::ASTC_LDR), Self::ASTC_10x5_UNORM_BLOCK => Some(CompressionType::ASTC_LDR), Self::ASTC_10x5_SRGB_BLOCK => Some(CompressionType::ASTC_LDR), Self::ASTC_10x6_UNORM_BLOCK => Some(CompressionType::ASTC_LDR), Self::ASTC_10x6_SRGB_BLOCK => Some(CompressionType::ASTC_LDR), Self::ASTC_10x8_UNORM_BLOCK => Some(CompressionType::ASTC_LDR), Self::ASTC_10x8_SRGB_BLOCK => Some(CompressionType::ASTC_LDR), Self::ASTC_10x10_UNORM_BLOCK => Some(CompressionType::ASTC_LDR), Self::ASTC_10x10_SRGB_BLOCK => Some(CompressionType::ASTC_LDR), Self::ASTC_12x10_UNORM_BLOCK => Some(CompressionType::ASTC_LDR), Self::ASTC_12x10_SRGB_BLOCK => Some(CompressionType::ASTC_LDR), Self::ASTC_12x12_UNORM_BLOCK => Some(CompressionType::ASTC_LDR), Self::ASTC_12x12_SRGB_BLOCK => Some(CompressionType::ASTC_LDR), Self::PVRTC1_2BPP_UNORM_BLOCK => Some(CompressionType::PVRTC), Self::PVRTC1_4BPP_UNORM_BLOCK => Some(CompressionType::PVRTC), Self::PVRTC2_2BPP_UNORM_BLOCK => Some(CompressionType::PVRTC), Self::PVRTC2_4BPP_UNORM_BLOCK => Some(CompressionType::PVRTC), Self::PVRTC1_2BPP_SRGB_BLOCK => Some(CompressionType::PVRTC), Self::PVRTC1_4BPP_SRGB_BLOCK => Some(CompressionType::PVRTC), Self::PVRTC2_2BPP_SRGB_BLOCK => Some(CompressionType::PVRTC), Self::PVRTC2_4BPP_SRGB_BLOCK => Some(CompressionType::PVRTC), Self::ASTC_4x4_SFLOAT_BLOCK => Some(CompressionType::ASTC_HDR), Self::ASTC_5x4_SFLOAT_BLOCK => Some(CompressionType::ASTC_HDR), Self::ASTC_5x5_SFLOAT_BLOCK => Some(CompressionType::ASTC_HDR), Self::ASTC_6x5_SFLOAT_BLOCK => Some(CompressionType::ASTC_HDR), Self::ASTC_6x6_SFLOAT_BLOCK => Some(CompressionType::ASTC_HDR), Self::ASTC_8x5_SFLOAT_BLOCK => Some(CompressionType::ASTC_HDR), Self::ASTC_8x6_SFLOAT_BLOCK => Some(CompressionType::ASTC_HDR), Self::ASTC_8x8_SFLOAT_BLOCK => Some(CompressionType::ASTC_HDR), Self::ASTC_10x5_SFLOAT_BLOCK => Some(CompressionType::ASTC_HDR), Self::ASTC_10x6_SFLOAT_BLOCK => Some(CompressionType::ASTC_HDR), Self::ASTC_10x8_SFLOAT_BLOCK => Some(CompressionType::ASTC_HDR), Self::ASTC_10x10_SFLOAT_BLOCK => Some(CompressionType::ASTC_HDR), Self::ASTC_12x10_SFLOAT_BLOCK => Some(CompressionType::ASTC_HDR), Self::ASTC_12x12_SFLOAT_BLOCK => Some(CompressionType::ASTC_HDR), _ => None, } } #[doc = r" For multi-planar formats, returns a slice of length 2 or 3, containing the"] #[doc = r" equivalent regular format of each plane."] #[doc = r""] #[doc = r" For non-planar formats, returns the empty slice."] pub fn planes(self) -> &'static [Self] { match self { Self::G8_B8_R8_3PLANE_420_UNORM => &[Self::R8_UNORM, Self::R8_UNORM, Self::R8_UNORM], Self::G8_B8R8_2PLANE_420_UNORM => &[Self::R8_UNORM, Self::R8G8_UNORM], Self::G8_B8_R8_3PLANE_422_UNORM => &[Self::R8_UNORM, Self::R8_UNORM, Self::R8_UNORM], Self::G8_B8R8_2PLANE_422_UNORM => &[Self::R8_UNORM, Self::R8G8_UNORM], Self::G8_B8_R8_3PLANE_444_UNORM => &[Self::R8_UNORM, Self::R8_UNORM, Self::R8_UNORM], Self::G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 => &[ Self::R10X6_UNORM_PACK16, Self::R10X6_UNORM_PACK16, Self::R10X6_UNORM_PACK16, ], Self::G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 => { &[Self::R10X6_UNORM_PACK16, Self::R10X6G10X6_UNORM_2PACK16] } Self::G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 => &[ Self::R10X6_UNORM_PACK16, Self::R10X6_UNORM_PACK16, Self::R10X6_UNORM_PACK16, ], Self::G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 => { &[Self::R10X6_UNORM_PACK16, Self::R10X6G10X6_UNORM_2PACK16] } Self::G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 => &[ Self::R10X6_UNORM_PACK16, Self::R10X6_UNORM_PACK16, Self::R10X6_UNORM_PACK16, ], Self::G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 => &[ Self::R12X4_UNORM_PACK16, Self::R12X4_UNORM_PACK16, Self::R12X4_UNORM_PACK16, ], Self::G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 => { &[Self::R12X4_UNORM_PACK16, Self::R12X4G12X4_UNORM_2PACK16] } Self::G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 => &[ Self::R12X4_UNORM_PACK16, Self::R12X4_UNORM_PACK16, Self::R12X4_UNORM_PACK16, ], Self::G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 => { &[Self::R12X4_UNORM_PACK16, Self::R12X4G12X4_UNORM_2PACK16] } Self::G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 => &[ Self::R12X4_UNORM_PACK16, Self::R12X4_UNORM_PACK16, Self::R12X4_UNORM_PACK16, ], Self::G16_B16_R16_3PLANE_420_UNORM => { &[Self::R16_UNORM, Self::R16_UNORM, Self::R16_UNORM] } Self::G16_B16R16_2PLANE_420_UNORM => &[Self::R16_UNORM, Self::R16G16_UNORM], Self::G16_B16_R16_3PLANE_422_UNORM => { &[Self::R16_UNORM, Self::R16_UNORM, Self::R16_UNORM] } Self::G16_B16R16_2PLANE_422_UNORM => &[Self::R16_UNORM, Self::R16G16_UNORM], Self::G16_B16_R16_3PLANE_444_UNORM => { &[Self::R16_UNORM, Self::R16_UNORM, Self::R16_UNORM] } Self::G8_B8R8_2PLANE_444_UNORM => &[Self::R8_UNORM, Self::R8G8_UNORM], Self::G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 => { &[Self::R10X6_UNORM_PACK16, Self::R10X6G10X6_UNORM_2PACK16] } Self::G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 => { &[Self::R12X4_UNORM_PACK16, Self::R12X4G12X4_UNORM_2PACK16] } Self::G16_B16R16_2PLANE_444_UNORM => &[Self::R16_UNORM, Self::R16G16_UNORM], _ => &[], } } #[doc = r" Returns the number of texels for a single texel block. For most formats, this is"] #[doc = r" the product of the `block_extent` elements, but for some it differs."] pub fn texels_per_block(self) -> u8 { match self { Self::BC1_RGB_UNORM_BLOCK => 16, Self::BC1_RGB_SRGB_BLOCK => 16, Self::BC1_RGBA_UNORM_BLOCK => 16, Self::BC1_RGBA_SRGB_BLOCK => 16, Self::BC2_UNORM_BLOCK => 16, Self::BC2_SRGB_BLOCK => 16, Self::BC3_UNORM_BLOCK => 16, Self::BC3_SRGB_BLOCK => 16, Self::BC4_UNORM_BLOCK => 16, Self::BC4_SNORM_BLOCK => 16, Self::BC5_UNORM_BLOCK => 16, Self::BC5_SNORM_BLOCK => 16, Self::BC6H_UFLOAT_BLOCK => 16, Self::BC6H_SFLOAT_BLOCK => 16, Self::BC7_UNORM_BLOCK => 16, Self::BC7_SRGB_BLOCK => 16, Self::ETC2_R8G8B8_UNORM_BLOCK => 16, Self::ETC2_R8G8B8_SRGB_BLOCK => 16, Self::ETC2_R8G8B8A1_UNORM_BLOCK => 16, Self::ETC2_R8G8B8A1_SRGB_BLOCK => 16, Self::ETC2_R8G8B8A8_UNORM_BLOCK => 16, Self::ETC2_R8G8B8A8_SRGB_BLOCK => 16, Self::EAC_R11_UNORM_BLOCK => 16, Self::EAC_R11_SNORM_BLOCK => 16, Self::EAC_R11G11_UNORM_BLOCK => 16, Self::EAC_R11G11_SNORM_BLOCK => 16, Self::ASTC_4x4_UNORM_BLOCK => 16, Self::ASTC_4x4_SRGB_BLOCK => 16, Self::ASTC_5x4_UNORM_BLOCK => 20, Self::ASTC_5x4_SRGB_BLOCK => 20, Self::ASTC_5x5_UNORM_BLOCK => 25, Self::ASTC_5x5_SRGB_BLOCK => 25, Self::ASTC_6x5_UNORM_BLOCK => 30, Self::ASTC_6x5_SRGB_BLOCK => 30, Self::ASTC_6x6_UNORM_BLOCK => 36, Self::ASTC_6x6_SRGB_BLOCK => 36, Self::ASTC_8x5_UNORM_BLOCK => 40, Self::ASTC_8x5_SRGB_BLOCK => 40, Self::ASTC_8x6_UNORM_BLOCK => 48, Self::ASTC_8x6_SRGB_BLOCK => 48, Self::ASTC_8x8_UNORM_BLOCK => 64, Self::ASTC_8x8_SRGB_BLOCK => 64, Self::ASTC_10x5_UNORM_BLOCK => 50, Self::ASTC_10x5_SRGB_BLOCK => 50, Self::ASTC_10x6_UNORM_BLOCK => 60, Self::ASTC_10x6_SRGB_BLOCK => 60, Self::ASTC_10x8_UNORM_BLOCK => 80, Self::ASTC_10x8_SRGB_BLOCK => 80, Self::ASTC_10x10_UNORM_BLOCK => 100, Self::ASTC_10x10_SRGB_BLOCK => 100, Self::ASTC_12x10_UNORM_BLOCK => 120, Self::ASTC_12x10_SRGB_BLOCK => 120, Self::ASTC_12x12_UNORM_BLOCK => 144, Self::ASTC_12x12_SRGB_BLOCK => 144, Self::ASTC_4x4_SFLOAT_BLOCK => 16, Self::ASTC_5x4_SFLOAT_BLOCK => 20, Self::ASTC_5x5_SFLOAT_BLOCK => 25, Self::ASTC_6x5_SFLOAT_BLOCK => 30, Self::ASTC_6x6_SFLOAT_BLOCK => 36, Self::ASTC_8x5_SFLOAT_BLOCK => 40, Self::ASTC_8x6_SFLOAT_BLOCK => 48, Self::ASTC_8x8_SFLOAT_BLOCK => 64, Self::ASTC_10x5_SFLOAT_BLOCK => 50, Self::ASTC_10x6_SFLOAT_BLOCK => 60, Self::ASTC_10x8_SFLOAT_BLOCK => 80, Self::ASTC_10x10_SFLOAT_BLOCK => 100, Self::ASTC_12x10_SFLOAT_BLOCK => 120, Self::ASTC_12x12_SFLOAT_BLOCK => 144, _ => 1, } } #[doc = r" Returns the numeric data type of the color aspect of this format. Returns `None`"] #[doc = r" for depth/stencil formats."] pub fn type_color(self) -> Option { match self { Self::R4G4_UNORM_PACK8 => Some(NumericType::UNORM), Self::R4G4B4A4_UNORM_PACK16 => Some(NumericType::UNORM), Self::B4G4R4A4_UNORM_PACK16 => Some(NumericType::UNORM), Self::R5G6B5_UNORM_PACK16 => Some(NumericType::UNORM), Self::B5G6R5_UNORM_PACK16 => Some(NumericType::UNORM), Self::R5G5B5A1_UNORM_PACK16 => Some(NumericType::UNORM), Self::B5G5R5A1_UNORM_PACK16 => Some(NumericType::UNORM), Self::A1R5G5B5_UNORM_PACK16 => Some(NumericType::UNORM), Self::R8_UNORM => Some(NumericType::UNORM), Self::R8_SNORM => Some(NumericType::SNORM), Self::R8_USCALED => Some(NumericType::USCALED), Self::R8_SSCALED => Some(NumericType::SSCALED), Self::R8_UINT => Some(NumericType::UINT), Self::R8_SINT => Some(NumericType::SINT), Self::R8_SRGB => Some(NumericType::SRGB), Self::R8G8_UNORM => Some(NumericType::UNORM), Self::R8G8_SNORM => Some(NumericType::SNORM), Self::R8G8_USCALED => Some(NumericType::USCALED), Self::R8G8_SSCALED => Some(NumericType::SSCALED), Self::R8G8_UINT => Some(NumericType::UINT), Self::R8G8_SINT => Some(NumericType::SINT), Self::R8G8_SRGB => Some(NumericType::SRGB), Self::R8G8B8_UNORM => Some(NumericType::UNORM), Self::R8G8B8_SNORM => Some(NumericType::SNORM), Self::R8G8B8_USCALED => Some(NumericType::USCALED), Self::R8G8B8_SSCALED => Some(NumericType::SSCALED), Self::R8G8B8_UINT => Some(NumericType::UINT), Self::R8G8B8_SINT => Some(NumericType::SINT), Self::R8G8B8_SRGB => Some(NumericType::SRGB), Self::B8G8R8_UNORM => Some(NumericType::UNORM), Self::B8G8R8_SNORM => Some(NumericType::SNORM), Self::B8G8R8_USCALED => Some(NumericType::USCALED), Self::B8G8R8_SSCALED => Some(NumericType::SSCALED), Self::B8G8R8_UINT => Some(NumericType::UINT), Self::B8G8R8_SINT => Some(NumericType::SINT), Self::B8G8R8_SRGB => Some(NumericType::SRGB), Self::R8G8B8A8_UNORM => Some(NumericType::UNORM), Self::R8G8B8A8_SNORM => Some(NumericType::SNORM), Self::R8G8B8A8_USCALED => Some(NumericType::USCALED), Self::R8G8B8A8_SSCALED => Some(NumericType::SSCALED), Self::R8G8B8A8_UINT => Some(NumericType::UINT), Self::R8G8B8A8_SINT => Some(NumericType::SINT), Self::R8G8B8A8_SRGB => Some(NumericType::SRGB), Self::B8G8R8A8_UNORM => Some(NumericType::UNORM), Self::B8G8R8A8_SNORM => Some(NumericType::SNORM), Self::B8G8R8A8_USCALED => Some(NumericType::USCALED), Self::B8G8R8A8_SSCALED => Some(NumericType::SSCALED), Self::B8G8R8A8_UINT => Some(NumericType::UINT), Self::B8G8R8A8_SINT => Some(NumericType::SINT), Self::B8G8R8A8_SRGB => Some(NumericType::SRGB), Self::A8B8G8R8_UNORM_PACK32 => Some(NumericType::UNORM), Self::A8B8G8R8_SNORM_PACK32 => Some(NumericType::SNORM), Self::A8B8G8R8_USCALED_PACK32 => Some(NumericType::USCALED), Self::A8B8G8R8_SSCALED_PACK32 => Some(NumericType::SSCALED), Self::A8B8G8R8_UINT_PACK32 => Some(NumericType::UINT), Self::A8B8G8R8_SINT_PACK32 => Some(NumericType::SINT), Self::A8B8G8R8_SRGB_PACK32 => Some(NumericType::SRGB), Self::A2R10G10B10_UNORM_PACK32 => Some(NumericType::UNORM), Self::A2R10G10B10_SNORM_PACK32 => Some(NumericType::SNORM), Self::A2R10G10B10_USCALED_PACK32 => Some(NumericType::USCALED), Self::A2R10G10B10_SSCALED_PACK32 => Some(NumericType::SSCALED), Self::A2R10G10B10_UINT_PACK32 => Some(NumericType::UINT), Self::A2R10G10B10_SINT_PACK32 => Some(NumericType::SINT), Self::A2B10G10R10_UNORM_PACK32 => Some(NumericType::UNORM), Self::A2B10G10R10_SNORM_PACK32 => Some(NumericType::SNORM), Self::A2B10G10R10_USCALED_PACK32 => Some(NumericType::USCALED), Self::A2B10G10R10_SSCALED_PACK32 => Some(NumericType::SSCALED), Self::A2B10G10R10_UINT_PACK32 => Some(NumericType::UINT), Self::A2B10G10R10_SINT_PACK32 => Some(NumericType::SINT), Self::R16_UNORM => Some(NumericType::UNORM), Self::R16_SNORM => Some(NumericType::SNORM), Self::R16_USCALED => Some(NumericType::USCALED), Self::R16_SSCALED => Some(NumericType::SSCALED), Self::R16_UINT => Some(NumericType::UINT), Self::R16_SINT => Some(NumericType::SINT), Self::R16_SFLOAT => Some(NumericType::SFLOAT), Self::R16G16_UNORM => Some(NumericType::UNORM), Self::R16G16_SNORM => Some(NumericType::SNORM), Self::R16G16_USCALED => Some(NumericType::USCALED), Self::R16G16_SSCALED => Some(NumericType::SSCALED), Self::R16G16_UINT => Some(NumericType::UINT), Self::R16G16_SINT => Some(NumericType::SINT), Self::R16G16_SFLOAT => Some(NumericType::SFLOAT), Self::R16G16B16_UNORM => Some(NumericType::UNORM), Self::R16G16B16_SNORM => Some(NumericType::SNORM), Self::R16G16B16_USCALED => Some(NumericType::USCALED), Self::R16G16B16_SSCALED => Some(NumericType::SSCALED), Self::R16G16B16_UINT => Some(NumericType::UINT), Self::R16G16B16_SINT => Some(NumericType::SINT), Self::R16G16B16_SFLOAT => Some(NumericType::SFLOAT), Self::R16G16B16A16_UNORM => Some(NumericType::UNORM), Self::R16G16B16A16_SNORM => Some(NumericType::SNORM), Self::R16G16B16A16_USCALED => Some(NumericType::USCALED), Self::R16G16B16A16_SSCALED => Some(NumericType::SSCALED), Self::R16G16B16A16_UINT => Some(NumericType::UINT), Self::R16G16B16A16_SINT => Some(NumericType::SINT), Self::R16G16B16A16_SFLOAT => Some(NumericType::SFLOAT), Self::R32_UINT => Some(NumericType::UINT), Self::R32_SINT => Some(NumericType::SINT), Self::R32_SFLOAT => Some(NumericType::SFLOAT), Self::R32G32_UINT => Some(NumericType::UINT), Self::R32G32_SINT => Some(NumericType::SINT), Self::R32G32_SFLOAT => Some(NumericType::SFLOAT), Self::R32G32B32_UINT => Some(NumericType::UINT), Self::R32G32B32_SINT => Some(NumericType::SINT), Self::R32G32B32_SFLOAT => Some(NumericType::SFLOAT), Self::R32G32B32A32_UINT => Some(NumericType::UINT), Self::R32G32B32A32_SINT => Some(NumericType::SINT), Self::R32G32B32A32_SFLOAT => Some(NumericType::SFLOAT), Self::R64_UINT => Some(NumericType::UINT), Self::R64_SINT => Some(NumericType::SINT), Self::R64_SFLOAT => Some(NumericType::SFLOAT), Self::R64G64_UINT => Some(NumericType::UINT), Self::R64G64_SINT => Some(NumericType::SINT), Self::R64G64_SFLOAT => Some(NumericType::SFLOAT), Self::R64G64B64_UINT => Some(NumericType::UINT), Self::R64G64B64_SINT => Some(NumericType::SINT), Self::R64G64B64_SFLOAT => Some(NumericType::SFLOAT), Self::R64G64B64A64_UINT => Some(NumericType::UINT), Self::R64G64B64A64_SINT => Some(NumericType::SINT), Self::R64G64B64A64_SFLOAT => Some(NumericType::SFLOAT), Self::B10G11R11_UFLOAT_PACK32 => Some(NumericType::UFLOAT), Self::E5B9G9R9_UFLOAT_PACK32 => Some(NumericType::UFLOAT), Self::BC1_RGB_UNORM_BLOCK => Some(NumericType::UNORM), Self::BC1_RGB_SRGB_BLOCK => Some(NumericType::SRGB), Self::BC1_RGBA_UNORM_BLOCK => Some(NumericType::UNORM), Self::BC1_RGBA_SRGB_BLOCK => Some(NumericType::SRGB), Self::BC2_UNORM_BLOCK => Some(NumericType::UNORM), Self::BC2_SRGB_BLOCK => Some(NumericType::SRGB), Self::BC3_UNORM_BLOCK => Some(NumericType::UNORM), Self::BC3_SRGB_BLOCK => Some(NumericType::SRGB), Self::BC4_UNORM_BLOCK => Some(NumericType::UNORM), Self::BC4_SNORM_BLOCK => Some(NumericType::SRGB), Self::BC5_UNORM_BLOCK => Some(NumericType::UNORM), Self::BC5_SNORM_BLOCK => Some(NumericType::SRGB), Self::BC6H_UFLOAT_BLOCK => Some(NumericType::UFLOAT), Self::BC6H_SFLOAT_BLOCK => Some(NumericType::SFLOAT), Self::BC7_UNORM_BLOCK => Some(NumericType::UNORM), Self::BC7_SRGB_BLOCK => Some(NumericType::SRGB), Self::ETC2_R8G8B8_UNORM_BLOCK => Some(NumericType::UNORM), Self::ETC2_R8G8B8_SRGB_BLOCK => Some(NumericType::SRGB), Self::ETC2_R8G8B8A1_UNORM_BLOCK => Some(NumericType::UNORM), Self::ETC2_R8G8B8A1_SRGB_BLOCK => Some(NumericType::SRGB), Self::ETC2_R8G8B8A8_UNORM_BLOCK => Some(NumericType::UNORM), Self::ETC2_R8G8B8A8_SRGB_BLOCK => Some(NumericType::SRGB), Self::EAC_R11_UNORM_BLOCK => Some(NumericType::UNORM), Self::EAC_R11_SNORM_BLOCK => Some(NumericType::SNORM), Self::EAC_R11G11_UNORM_BLOCK => Some(NumericType::UNORM), Self::EAC_R11G11_SNORM_BLOCK => Some(NumericType::SNORM), Self::ASTC_4x4_UNORM_BLOCK => Some(NumericType::UNORM), Self::ASTC_4x4_SRGB_BLOCK => Some(NumericType::SRGB), Self::ASTC_5x4_UNORM_BLOCK => Some(NumericType::UNORM), Self::ASTC_5x4_SRGB_BLOCK => Some(NumericType::SRGB), Self::ASTC_5x5_UNORM_BLOCK => Some(NumericType::UNORM), Self::ASTC_5x5_SRGB_BLOCK => Some(NumericType::SRGB), Self::ASTC_6x5_UNORM_BLOCK => Some(NumericType::UNORM), Self::ASTC_6x5_SRGB_BLOCK => Some(NumericType::SRGB), Self::ASTC_6x6_UNORM_BLOCK => Some(NumericType::UNORM), Self::ASTC_6x6_SRGB_BLOCK => Some(NumericType::SRGB), Self::ASTC_8x5_UNORM_BLOCK => Some(NumericType::UNORM), Self::ASTC_8x5_SRGB_BLOCK => Some(NumericType::SRGB), Self::ASTC_8x6_UNORM_BLOCK => Some(NumericType::UNORM), Self::ASTC_8x6_SRGB_BLOCK => Some(NumericType::SRGB), Self::ASTC_8x8_UNORM_BLOCK => Some(NumericType::UNORM), Self::ASTC_8x8_SRGB_BLOCK => Some(NumericType::SRGB), Self::ASTC_10x5_UNORM_BLOCK => Some(NumericType::UNORM), Self::ASTC_10x5_SRGB_BLOCK => Some(NumericType::SRGB), Self::ASTC_10x6_UNORM_BLOCK => Some(NumericType::UNORM), Self::ASTC_10x6_SRGB_BLOCK => Some(NumericType::SRGB), Self::ASTC_10x8_UNORM_BLOCK => Some(NumericType::UNORM), Self::ASTC_10x8_SRGB_BLOCK => Some(NumericType::SRGB), Self::ASTC_10x10_UNORM_BLOCK => Some(NumericType::UNORM), Self::ASTC_10x10_SRGB_BLOCK => Some(NumericType::SRGB), Self::ASTC_12x10_UNORM_BLOCK => Some(NumericType::UNORM), Self::ASTC_12x10_SRGB_BLOCK => Some(NumericType::SRGB), Self::ASTC_12x12_UNORM_BLOCK => Some(NumericType::UNORM), Self::ASTC_12x12_SRGB_BLOCK => Some(NumericType::SRGB), Self::G8B8G8R8_422_UNORM => Some(NumericType::UNORM), Self::B8G8R8G8_422_UNORM => Some(NumericType::UNORM), Self::G8_B8_R8_3PLANE_420_UNORM => Some(NumericType::UNORM), Self::G8_B8R8_2PLANE_420_UNORM => Some(NumericType::UNORM), Self::G8_B8_R8_3PLANE_422_UNORM => Some(NumericType::UNORM), Self::G8_B8R8_2PLANE_422_UNORM => Some(NumericType::UNORM), Self::G8_B8_R8_3PLANE_444_UNORM => Some(NumericType::UNORM), Self::R10X6_UNORM_PACK16 => Some(NumericType::UNORM), Self::R10X6G10X6_UNORM_2PACK16 => Some(NumericType::UNORM), Self::R10X6G10X6B10X6A10X6_UNORM_4PACK16 => Some(NumericType::UNORM), Self::G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 => Some(NumericType::UNORM), Self::B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 => Some(NumericType::UNORM), Self::G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 => Some(NumericType::UNORM), Self::G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 => Some(NumericType::UNORM), Self::G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 => Some(NumericType::UNORM), Self::G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 => Some(NumericType::UNORM), Self::G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 => Some(NumericType::UNORM), Self::R12X4_UNORM_PACK16 => Some(NumericType::UNORM), Self::R12X4G12X4_UNORM_2PACK16 => Some(NumericType::UNORM), Self::R12X4G12X4B12X4A12X4_UNORM_4PACK16 => Some(NumericType::UNORM), Self::G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 => Some(NumericType::UNORM), Self::B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 => Some(NumericType::UNORM), Self::G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 => Some(NumericType::UNORM), Self::G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 => Some(NumericType::UNORM), Self::G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 => Some(NumericType::UNORM), Self::G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 => Some(NumericType::UNORM), Self::G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 => Some(NumericType::UNORM), Self::G16B16G16R16_422_UNORM => Some(NumericType::UNORM), Self::B16G16R16G16_422_UNORM => Some(NumericType::UNORM), Self::G16_B16_R16_3PLANE_420_UNORM => Some(NumericType::UNORM), Self::G16_B16R16_2PLANE_420_UNORM => Some(NumericType::UNORM), Self::G16_B16_R16_3PLANE_422_UNORM => Some(NumericType::UNORM), Self::G16_B16R16_2PLANE_422_UNORM => Some(NumericType::UNORM), Self::G16_B16_R16_3PLANE_444_UNORM => Some(NumericType::UNORM), Self::PVRTC1_2BPP_UNORM_BLOCK => Some(NumericType::UNORM), Self::PVRTC1_4BPP_UNORM_BLOCK => Some(NumericType::UNORM), Self::PVRTC2_2BPP_UNORM_BLOCK => Some(NumericType::UNORM), Self::PVRTC2_4BPP_UNORM_BLOCK => Some(NumericType::UNORM), Self::PVRTC1_2BPP_SRGB_BLOCK => Some(NumericType::SRGB), Self::PVRTC1_4BPP_SRGB_BLOCK => Some(NumericType::SRGB), Self::PVRTC2_2BPP_SRGB_BLOCK => Some(NumericType::SRGB), Self::PVRTC2_4BPP_SRGB_BLOCK => Some(NumericType::SRGB), Self::ASTC_4x4_SFLOAT_BLOCK => Some(NumericType::SFLOAT), Self::ASTC_5x4_SFLOAT_BLOCK => Some(NumericType::SFLOAT), Self::ASTC_5x5_SFLOAT_BLOCK => Some(NumericType::SFLOAT), Self::ASTC_6x5_SFLOAT_BLOCK => Some(NumericType::SFLOAT), Self::ASTC_6x6_SFLOAT_BLOCK => Some(NumericType::SFLOAT), Self::ASTC_8x5_SFLOAT_BLOCK => Some(NumericType::SFLOAT), Self::ASTC_8x6_SFLOAT_BLOCK => Some(NumericType::SFLOAT), Self::ASTC_8x8_SFLOAT_BLOCK => Some(NumericType::SFLOAT), Self::ASTC_10x5_SFLOAT_BLOCK => Some(NumericType::SFLOAT), Self::ASTC_10x6_SFLOAT_BLOCK => Some(NumericType::SFLOAT), Self::ASTC_10x8_SFLOAT_BLOCK => Some(NumericType::SFLOAT), Self::ASTC_10x10_SFLOAT_BLOCK => Some(NumericType::SFLOAT), Self::ASTC_12x10_SFLOAT_BLOCK => Some(NumericType::SFLOAT), Self::ASTC_12x12_SFLOAT_BLOCK => Some(NumericType::SFLOAT), Self::G8_B8R8_2PLANE_444_UNORM => Some(NumericType::UNORM), Self::G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 => Some(NumericType::UNORM), Self::G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 => Some(NumericType::UNORM), Self::G16_B16R16_2PLANE_444_UNORM => Some(NumericType::UNORM), Self::A4R4G4B4_UNORM_PACK16 => Some(NumericType::UNORM), Self::A4B4G4R4_UNORM_PACK16 => Some(NumericType::UNORM), Self::R16G16_S10_5_NV => Some(NumericType::SINT), _ => None, } } #[doc = r" Returns the numeric data type of the depth aspect of this format. Returns `None`"] #[doc = r" color and stencil-only formats."] pub fn type_depth(self) -> Option { match self { Self::D16_UNORM => Some(NumericType::UNORM), Self::X8_D24_UNORM_PACK32 => Some(NumericType::UNORM), Self::D32_SFLOAT => Some(NumericType::SFLOAT), Self::D16_UNORM_S8_UINT => Some(NumericType::UNORM), Self::D24_UNORM_S8_UINT => Some(NumericType::UNORM), Self::D32_SFLOAT_S8_UINT => Some(NumericType::SFLOAT), _ => None, } } #[doc = r" Returns the numeric data type of the stencil aspect of this format. Returns `None`"] #[doc = r" for color and depth-only formats."] pub fn type_stencil(self) -> Option { match self { Self::S8_UINT => Some(NumericType::UINT), Self::D16_UNORM_S8_UINT => Some(NumericType::UINT), Self::D24_UNORM_S8_UINT => Some(NumericType::UINT), Self::D32_SFLOAT_S8_UINT => Some(NumericType::UINT), _ => None, } } #[doc = r" For YCbCr (YUV) formats, returns the way in which the chroma components are"] #[doc = r" represented. Returns `None` for non-YCbCr formats."] #[doc = r""] #[doc = r" If an image view is created for one of the formats for which this function returns"] #[doc = r" `Some`, with the `color` aspect selected, then the view and any samplers that sample"] #[doc = r" it must be created with an attached sampler YCbCr conversion object."] pub fn ycbcr_chroma_sampling(self) -> Option { match self { Self::G8B8G8R8_422_UNORM => Some(ChromaSampling::Mode422), Self::B8G8R8G8_422_UNORM => Some(ChromaSampling::Mode422), Self::G8_B8_R8_3PLANE_420_UNORM => Some(ChromaSampling::Mode420), Self::G8_B8R8_2PLANE_420_UNORM => Some(ChromaSampling::Mode420), Self::G8_B8_R8_3PLANE_422_UNORM => Some(ChromaSampling::Mode422), Self::G8_B8R8_2PLANE_422_UNORM => Some(ChromaSampling::Mode422), Self::G8_B8_R8_3PLANE_444_UNORM => Some(ChromaSampling::Mode444), Self::R10X6G10X6B10X6A10X6_UNORM_4PACK16 => Some(ChromaSampling::Mode444), Self::G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 => Some(ChromaSampling::Mode422), Self::B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 => Some(ChromaSampling::Mode422), Self::G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 => Some(ChromaSampling::Mode420), Self::G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 => Some(ChromaSampling::Mode420), Self::G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 => Some(ChromaSampling::Mode422), Self::G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 => Some(ChromaSampling::Mode422), Self::G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 => Some(ChromaSampling::Mode444), Self::R12X4G12X4B12X4A12X4_UNORM_4PACK16 => Some(ChromaSampling::Mode444), Self::G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 => Some(ChromaSampling::Mode422), Self::B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 => Some(ChromaSampling::Mode422), Self::G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 => Some(ChromaSampling::Mode420), Self::G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 => Some(ChromaSampling::Mode420), Self::G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 => Some(ChromaSampling::Mode422), Self::G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 => Some(ChromaSampling::Mode422), Self::G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 => Some(ChromaSampling::Mode444), Self::G16B16G16R16_422_UNORM => Some(ChromaSampling::Mode422), Self::B16G16R16G16_422_UNORM => Some(ChromaSampling::Mode422), Self::G16_B16_R16_3PLANE_420_UNORM => Some(ChromaSampling::Mode420), Self::G16_B16R16_2PLANE_420_UNORM => Some(ChromaSampling::Mode420), Self::G16_B16_R16_3PLANE_422_UNORM => Some(ChromaSampling::Mode422), Self::G16_B16R16_2PLANE_422_UNORM => Some(ChromaSampling::Mode422), Self::G16_B16_R16_3PLANE_444_UNORM => Some(ChromaSampling::Mode444), Self::G8_B8R8_2PLANE_444_UNORM => Some(ChromaSampling::Mode444), Self::G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 => Some(ChromaSampling::Mode444), Self::G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 => Some(ChromaSampling::Mode444), Self::G16_B16R16_2PLANE_444_UNORM => Some(ChromaSampling::Mode444), _ => None, } } #[allow(dead_code)] pub(crate) fn validate_device( self, #[allow(unused_variables)] device: &crate::device::Device, ) -> Result<(), crate::RequirementNotMet> { match self { Self::R4G4_UNORM_PACK8 => {} Self::R4G4B4A4_UNORM_PACK16 => {} Self::B4G4R4A4_UNORM_PACK16 => {} Self::R5G6B5_UNORM_PACK16 => {} Self::B5G6R5_UNORM_PACK16 => {} Self::R5G5B5A1_UNORM_PACK16 => {} Self::B5G5R5A1_UNORM_PACK16 => {} Self::A1R5G5B5_UNORM_PACK16 => {} Self::R8_UNORM => {} Self::R8_SNORM => {} Self::R8_USCALED => {} Self::R8_SSCALED => {} Self::R8_UINT => {} Self::R8_SINT => {} Self::R8_SRGB => {} Self::R8G8_UNORM => {} Self::R8G8_SNORM => {} Self::R8G8_USCALED => {} Self::R8G8_SSCALED => {} Self::R8G8_UINT => {} Self::R8G8_SINT => {} Self::R8G8_SRGB => {} Self::R8G8B8_UNORM => {} Self::R8G8B8_SNORM => {} Self::R8G8B8_USCALED => {} Self::R8G8B8_SSCALED => {} Self::R8G8B8_UINT => {} Self::R8G8B8_SINT => {} Self::R8G8B8_SRGB => {} Self::B8G8R8_UNORM => {} Self::B8G8R8_SNORM => {} Self::B8G8R8_USCALED => {} Self::B8G8R8_SSCALED => {} Self::B8G8R8_UINT => {} Self::B8G8R8_SINT => {} Self::B8G8R8_SRGB => {} Self::R8G8B8A8_UNORM => {} Self::R8G8B8A8_SNORM => {} Self::R8G8B8A8_USCALED => {} Self::R8G8B8A8_SSCALED => {} Self::R8G8B8A8_UINT => {} Self::R8G8B8A8_SINT => {} Self::R8G8B8A8_SRGB => {} Self::B8G8R8A8_UNORM => {} Self::B8G8R8A8_SNORM => {} Self::B8G8R8A8_USCALED => {} Self::B8G8R8A8_SSCALED => {} Self::B8G8R8A8_UINT => {} Self::B8G8R8A8_SINT => {} Self::B8G8R8A8_SRGB => {} Self::A8B8G8R8_UNORM_PACK32 => {} Self::A8B8G8R8_SNORM_PACK32 => {} Self::A8B8G8R8_USCALED_PACK32 => {} Self::A8B8G8R8_SSCALED_PACK32 => {} Self::A8B8G8R8_UINT_PACK32 => {} Self::A8B8G8R8_SINT_PACK32 => {} Self::A8B8G8R8_SRGB_PACK32 => {} Self::A2R10G10B10_UNORM_PACK32 => {} Self::A2R10G10B10_SNORM_PACK32 => {} Self::A2R10G10B10_USCALED_PACK32 => {} Self::A2R10G10B10_SSCALED_PACK32 => {} Self::A2R10G10B10_UINT_PACK32 => {} Self::A2R10G10B10_SINT_PACK32 => {} Self::A2B10G10R10_UNORM_PACK32 => {} Self::A2B10G10R10_SNORM_PACK32 => {} Self::A2B10G10R10_USCALED_PACK32 => {} Self::A2B10G10R10_SSCALED_PACK32 => {} Self::A2B10G10R10_UINT_PACK32 => {} Self::A2B10G10R10_SINT_PACK32 => {} Self::R16_UNORM => {} Self::R16_SNORM => {} Self::R16_USCALED => {} Self::R16_SSCALED => {} Self::R16_UINT => {} Self::R16_SINT => {} Self::R16_SFLOAT => {} Self::R16G16_UNORM => {} Self::R16G16_SNORM => {} Self::R16G16_USCALED => {} Self::R16G16_SSCALED => {} Self::R16G16_UINT => {} Self::R16G16_SINT => {} Self::R16G16_SFLOAT => {} Self::R16G16B16_UNORM => {} Self::R16G16B16_SNORM => {} Self::R16G16B16_USCALED => {} Self::R16G16B16_SSCALED => {} Self::R16G16B16_UINT => {} Self::R16G16B16_SINT => {} Self::R16G16B16_SFLOAT => {} Self::R16G16B16A16_UNORM => {} Self::R16G16B16A16_SNORM => {} Self::R16G16B16A16_USCALED => {} Self::R16G16B16A16_SSCALED => {} Self::R16G16B16A16_UINT => {} Self::R16G16B16A16_SINT => {} Self::R16G16B16A16_SFLOAT => {} Self::R32_UINT => {} Self::R32_SINT => {} Self::R32_SFLOAT => {} Self::R32G32_UINT => {} Self::R32G32_SINT => {} Self::R32G32_SFLOAT => {} Self::R32G32B32_UINT => {} Self::R32G32B32_SINT => {} Self::R32G32B32_SFLOAT => {} Self::R32G32B32A32_UINT => {} Self::R32G32B32A32_SINT => {} Self::R32G32B32A32_SFLOAT => {} Self::R64_UINT => {} Self::R64_SINT => {} Self::R64_SFLOAT => {} Self::R64G64_UINT => {} Self::R64G64_SINT => {} Self::R64G64_SFLOAT => {} Self::R64G64B64_UINT => {} Self::R64G64B64_SINT => {} Self::R64G64B64_SFLOAT => {} Self::R64G64B64A64_UINT => {} Self::R64G64B64A64_SINT => {} Self::R64G64B64A64_SFLOAT => {} Self::B10G11R11_UFLOAT_PACK32 => {} Self::E5B9G9R9_UFLOAT_PACK32 => {} Self::D16_UNORM => {} Self::X8_D24_UNORM_PACK32 => {} Self::D32_SFLOAT => {} Self::S8_UINT => {} Self::D16_UNORM_S8_UINT => {} Self::D24_UNORM_S8_UINT => {} Self::D32_SFLOAT_S8_UINT => {} Self::BC1_RGB_UNORM_BLOCK => {} Self::BC1_RGB_SRGB_BLOCK => {} Self::BC1_RGBA_UNORM_BLOCK => {} Self::BC1_RGBA_SRGB_BLOCK => {} Self::BC2_UNORM_BLOCK => {} Self::BC2_SRGB_BLOCK => {} Self::BC3_UNORM_BLOCK => {} Self::BC3_SRGB_BLOCK => {} Self::BC4_UNORM_BLOCK => {} Self::BC4_SNORM_BLOCK => {} Self::BC5_UNORM_BLOCK => {} Self::BC5_SNORM_BLOCK => {} Self::BC6H_UFLOAT_BLOCK => {} Self::BC6H_SFLOAT_BLOCK => {} Self::BC7_UNORM_BLOCK => {} Self::BC7_SRGB_BLOCK => {} Self::ETC2_R8G8B8_UNORM_BLOCK => {} Self::ETC2_R8G8B8_SRGB_BLOCK => {} Self::ETC2_R8G8B8A1_UNORM_BLOCK => {} Self::ETC2_R8G8B8A1_SRGB_BLOCK => {} Self::ETC2_R8G8B8A8_UNORM_BLOCK => {} Self::ETC2_R8G8B8A8_SRGB_BLOCK => {} Self::EAC_R11_UNORM_BLOCK => {} Self::EAC_R11_SNORM_BLOCK => {} Self::EAC_R11G11_UNORM_BLOCK => {} Self::EAC_R11G11_SNORM_BLOCK => {} Self::ASTC_4x4_UNORM_BLOCK => {} Self::ASTC_4x4_SRGB_BLOCK => {} Self::ASTC_5x4_UNORM_BLOCK => {} Self::ASTC_5x4_SRGB_BLOCK => {} Self::ASTC_5x5_UNORM_BLOCK => {} Self::ASTC_5x5_SRGB_BLOCK => {} Self::ASTC_6x5_UNORM_BLOCK => {} Self::ASTC_6x5_SRGB_BLOCK => {} Self::ASTC_6x6_UNORM_BLOCK => {} Self::ASTC_6x6_SRGB_BLOCK => {} Self::ASTC_8x5_UNORM_BLOCK => {} Self::ASTC_8x5_SRGB_BLOCK => {} Self::ASTC_8x6_UNORM_BLOCK => {} Self::ASTC_8x6_SRGB_BLOCK => {} Self::ASTC_8x8_UNORM_BLOCK => {} Self::ASTC_8x8_SRGB_BLOCK => {} Self::ASTC_10x5_UNORM_BLOCK => {} Self::ASTC_10x5_SRGB_BLOCK => {} Self::ASTC_10x6_UNORM_BLOCK => {} Self::ASTC_10x6_SRGB_BLOCK => {} Self::ASTC_10x8_UNORM_BLOCK => {} Self::ASTC_10x8_SRGB_BLOCK => {} Self::ASTC_10x10_UNORM_BLOCK => {} Self::ASTC_10x10_SRGB_BLOCK => {} Self::ASTC_12x10_UNORM_BLOCK => {} Self::ASTC_12x10_SRGB_BLOCK => {} Self::ASTC_12x12_UNORM_BLOCK => {} Self::ASTC_12x12_SRGB_BLOCK => {} Self::G8B8G8R8_422_UNORM => { if !(device.api_version() >= crate::Version::V1_1 || device.enabled_extensions().khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::G8B8G8R8_422_UNORM`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::B8G8R8G8_422_UNORM => { if !(device.api_version() >= crate::Version::V1_1 || device.enabled_extensions().khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::B8G8R8G8_422_UNORM`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::G8_B8_R8_3PLANE_420_UNORM => { if !(device.api_version() >= crate::Version::V1_1 || device.enabled_extensions().khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::G8_B8_R8_3PLANE_420_UNORM`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::G8_B8R8_2PLANE_420_UNORM => { if !(device.api_version() >= crate::Version::V1_1 || device.enabled_extensions().khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::G8_B8R8_2PLANE_420_UNORM`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::G8_B8_R8_3PLANE_422_UNORM => { if !(device.api_version() >= crate::Version::V1_1 || device.enabled_extensions().khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::G8_B8_R8_3PLANE_422_UNORM`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::G8_B8R8_2PLANE_422_UNORM => { if !(device.api_version() >= crate::Version::V1_1 || device.enabled_extensions().khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::G8_B8R8_2PLANE_422_UNORM`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::G8_B8_R8_3PLANE_444_UNORM => { if !(device.api_version() >= crate::Version::V1_1 || device.enabled_extensions().khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::G8_B8_R8_3PLANE_444_UNORM`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::R10X6_UNORM_PACK16 => { if !(device.api_version() >= crate::Version::V1_1 || device.enabled_extensions().khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::R10X6_UNORM_PACK16`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::R10X6G10X6_UNORM_2PACK16 => { if !(device.api_version() >= crate::Version::V1_1 || device.enabled_extensions().khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::R10X6G10X6_UNORM_2PACK16`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::R10X6G10X6B10X6A10X6_UNORM_4PACK16 => { if !(device.api_version() >= crate::Version::V1_1 || device.enabled_extensions().khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::R10X6G10X6B10X6A10X6_UNORM_4PACK16`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 => { if !(device.api_version() >= crate::Version::V1_1 || device.enabled_extensions().khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::G10X6B10X6G10X6R10X6_422_UNORM_4PACK16`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 => { if !(device.api_version() >= crate::Version::V1_1 || device.enabled_extensions().khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::B10X6G10X6R10X6G10X6_422_UNORM_4PACK16`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 => { if !(device.api_version() >= crate::Version::V1_1 || device.enabled_extensions().khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 => { if !(device.api_version() >= crate::Version::V1_1 || device.enabled_extensions().khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 => { if !(device.api_version() >= crate::Version::V1_1 || device.enabled_extensions().khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 => { if !(device.api_version() >= crate::Version::V1_1 || device.enabled_extensions().khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 => { if !(device.api_version() >= crate::Version::V1_1 || device.enabled_extensions().khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::R12X4_UNORM_PACK16 => { if !(device.api_version() >= crate::Version::V1_1 || device.enabled_extensions().khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::R12X4_UNORM_PACK16`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::R12X4G12X4_UNORM_2PACK16 => { if !(device.api_version() >= crate::Version::V1_1 || device.enabled_extensions().khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::R12X4G12X4_UNORM_2PACK16`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::R12X4G12X4B12X4A12X4_UNORM_4PACK16 => { if !(device.api_version() >= crate::Version::V1_1 || device.enabled_extensions().khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::R12X4G12X4B12X4A12X4_UNORM_4PACK16`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 => { if !(device.api_version() >= crate::Version::V1_1 || device.enabled_extensions().khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::G12X4B12X4G12X4R12X4_422_UNORM_4PACK16`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 => { if !(device.api_version() >= crate::Version::V1_1 || device.enabled_extensions().khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::B12X4G12X4R12X4G12X4_422_UNORM_4PACK16`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 => { if !(device.api_version() >= crate::Version::V1_1 || device.enabled_extensions().khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 => { if !(device.api_version() >= crate::Version::V1_1 || device.enabled_extensions().khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 => { if !(device.api_version() >= crate::Version::V1_1 || device.enabled_extensions().khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 => { if !(device.api_version() >= crate::Version::V1_1 || device.enabled_extensions().khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 => { if !(device.api_version() >= crate::Version::V1_1 || device.enabled_extensions().khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::G16B16G16R16_422_UNORM => { if !(device.api_version() >= crate::Version::V1_1 || device.enabled_extensions().khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::G16B16G16R16_422_UNORM`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::B16G16R16G16_422_UNORM => { if !(device.api_version() >= crate::Version::V1_1 || device.enabled_extensions().khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::B16G16R16G16_422_UNORM`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::G16_B16_R16_3PLANE_420_UNORM => { if !(device.api_version() >= crate::Version::V1_1 || device.enabled_extensions().khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::G16_B16_R16_3PLANE_420_UNORM`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::G16_B16R16_2PLANE_420_UNORM => { if !(device.api_version() >= crate::Version::V1_1 || device.enabled_extensions().khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::G16_B16R16_2PLANE_420_UNORM`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::G16_B16_R16_3PLANE_422_UNORM => { if !(device.api_version() >= crate::Version::V1_1 || device.enabled_extensions().khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::G16_B16_R16_3PLANE_422_UNORM`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::G16_B16R16_2PLANE_422_UNORM => { if !(device.api_version() >= crate::Version::V1_1 || device.enabled_extensions().khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::G16_B16R16_2PLANE_422_UNORM`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::G16_B16_R16_3PLANE_444_UNORM => { if !(device.api_version() >= crate::Version::V1_1 || device.enabled_extensions().khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::G16_B16_R16_3PLANE_444_UNORM`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::PVRTC1_2BPP_UNORM_BLOCK => { if !(device.enabled_extensions().img_format_pvrtc) { return Err(crate::RequirementNotMet { required_for: "`Format::PVRTC1_2BPP_UNORM_BLOCK`", requires_one_of: crate::RequiresOneOf { device_extensions: &["img_format_pvrtc"], ..Default::default() }, }); } } Self::PVRTC1_4BPP_UNORM_BLOCK => { if !(device.enabled_extensions().img_format_pvrtc) { return Err(crate::RequirementNotMet { required_for: "`Format::PVRTC1_4BPP_UNORM_BLOCK`", requires_one_of: crate::RequiresOneOf { device_extensions: &["img_format_pvrtc"], ..Default::default() }, }); } } Self::PVRTC2_2BPP_UNORM_BLOCK => { if !(device.enabled_extensions().img_format_pvrtc) { return Err(crate::RequirementNotMet { required_for: "`Format::PVRTC2_2BPP_UNORM_BLOCK`", requires_one_of: crate::RequiresOneOf { device_extensions: &["img_format_pvrtc"], ..Default::default() }, }); } } Self::PVRTC2_4BPP_UNORM_BLOCK => { if !(device.enabled_extensions().img_format_pvrtc) { return Err(crate::RequirementNotMet { required_for: "`Format::PVRTC2_4BPP_UNORM_BLOCK`", requires_one_of: crate::RequiresOneOf { device_extensions: &["img_format_pvrtc"], ..Default::default() }, }); } } Self::PVRTC1_2BPP_SRGB_BLOCK => { if !(device.enabled_extensions().img_format_pvrtc) { return Err(crate::RequirementNotMet { required_for: "`Format::PVRTC1_2BPP_SRGB_BLOCK`", requires_one_of: crate::RequiresOneOf { device_extensions: &["img_format_pvrtc"], ..Default::default() }, }); } } Self::PVRTC1_4BPP_SRGB_BLOCK => { if !(device.enabled_extensions().img_format_pvrtc) { return Err(crate::RequirementNotMet { required_for: "`Format::PVRTC1_4BPP_SRGB_BLOCK`", requires_one_of: crate::RequiresOneOf { device_extensions: &["img_format_pvrtc"], ..Default::default() }, }); } } Self::PVRTC2_2BPP_SRGB_BLOCK => { if !(device.enabled_extensions().img_format_pvrtc) { return Err(crate::RequirementNotMet { required_for: "`Format::PVRTC2_2BPP_SRGB_BLOCK`", requires_one_of: crate::RequiresOneOf { device_extensions: &["img_format_pvrtc"], ..Default::default() }, }); } } Self::PVRTC2_4BPP_SRGB_BLOCK => { if !(device.enabled_extensions().img_format_pvrtc) { return Err(crate::RequirementNotMet { required_for: "`Format::PVRTC2_4BPP_SRGB_BLOCK`", requires_one_of: crate::RequiresOneOf { device_extensions: &["img_format_pvrtc"], ..Default::default() }, }); } } Self::ASTC_4x4_SFLOAT_BLOCK => { if !(device.api_version() >= crate::Version::V1_3 || device.enabled_extensions().ext_texture_compression_astc_hdr) { return Err(crate::RequirementNotMet { required_for: "`Format::ASTC_4x4_SFLOAT_BLOCK`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_3), device_extensions: &["ext_texture_compression_astc_hdr"], ..Default::default() }, }); } } Self::ASTC_5x4_SFLOAT_BLOCK => { if !(device.api_version() >= crate::Version::V1_3 || device.enabled_extensions().ext_texture_compression_astc_hdr) { return Err(crate::RequirementNotMet { required_for: "`Format::ASTC_5x4_SFLOAT_BLOCK`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_3), device_extensions: &["ext_texture_compression_astc_hdr"], ..Default::default() }, }); } } Self::ASTC_5x5_SFLOAT_BLOCK => { if !(device.api_version() >= crate::Version::V1_3 || device.enabled_extensions().ext_texture_compression_astc_hdr) { return Err(crate::RequirementNotMet { required_for: "`Format::ASTC_5x5_SFLOAT_BLOCK`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_3), device_extensions: &["ext_texture_compression_astc_hdr"], ..Default::default() }, }); } } Self::ASTC_6x5_SFLOAT_BLOCK => { if !(device.api_version() >= crate::Version::V1_3 || device.enabled_extensions().ext_texture_compression_astc_hdr) { return Err(crate::RequirementNotMet { required_for: "`Format::ASTC_6x5_SFLOAT_BLOCK`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_3), device_extensions: &["ext_texture_compression_astc_hdr"], ..Default::default() }, }); } } Self::ASTC_6x6_SFLOAT_BLOCK => { if !(device.api_version() >= crate::Version::V1_3 || device.enabled_extensions().ext_texture_compression_astc_hdr) { return Err(crate::RequirementNotMet { required_for: "`Format::ASTC_6x6_SFLOAT_BLOCK`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_3), device_extensions: &["ext_texture_compression_astc_hdr"], ..Default::default() }, }); } } Self::ASTC_8x5_SFLOAT_BLOCK => { if !(device.api_version() >= crate::Version::V1_3 || device.enabled_extensions().ext_texture_compression_astc_hdr) { return Err(crate::RequirementNotMet { required_for: "`Format::ASTC_8x5_SFLOAT_BLOCK`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_3), device_extensions: &["ext_texture_compression_astc_hdr"], ..Default::default() }, }); } } Self::ASTC_8x6_SFLOAT_BLOCK => { if !(device.api_version() >= crate::Version::V1_3 || device.enabled_extensions().ext_texture_compression_astc_hdr) { return Err(crate::RequirementNotMet { required_for: "`Format::ASTC_8x6_SFLOAT_BLOCK`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_3), device_extensions: &["ext_texture_compression_astc_hdr"], ..Default::default() }, }); } } Self::ASTC_8x8_SFLOAT_BLOCK => { if !(device.api_version() >= crate::Version::V1_3 || device.enabled_extensions().ext_texture_compression_astc_hdr) { return Err(crate::RequirementNotMet { required_for: "`Format::ASTC_8x8_SFLOAT_BLOCK`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_3), device_extensions: &["ext_texture_compression_astc_hdr"], ..Default::default() }, }); } } Self::ASTC_10x5_SFLOAT_BLOCK => { if !(device.api_version() >= crate::Version::V1_3 || device.enabled_extensions().ext_texture_compression_astc_hdr) { return Err(crate::RequirementNotMet { required_for: "`Format::ASTC_10x5_SFLOAT_BLOCK`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_3), device_extensions: &["ext_texture_compression_astc_hdr"], ..Default::default() }, }); } } Self::ASTC_10x6_SFLOAT_BLOCK => { if !(device.api_version() >= crate::Version::V1_3 || device.enabled_extensions().ext_texture_compression_astc_hdr) { return Err(crate::RequirementNotMet { required_for: "`Format::ASTC_10x6_SFLOAT_BLOCK`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_3), device_extensions: &["ext_texture_compression_astc_hdr"], ..Default::default() }, }); } } Self::ASTC_10x8_SFLOAT_BLOCK => { if !(device.api_version() >= crate::Version::V1_3 || device.enabled_extensions().ext_texture_compression_astc_hdr) { return Err(crate::RequirementNotMet { required_for: "`Format::ASTC_10x8_SFLOAT_BLOCK`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_3), device_extensions: &["ext_texture_compression_astc_hdr"], ..Default::default() }, }); } } Self::ASTC_10x10_SFLOAT_BLOCK => { if !(device.api_version() >= crate::Version::V1_3 || device.enabled_extensions().ext_texture_compression_astc_hdr) { return Err(crate::RequirementNotMet { required_for: "`Format::ASTC_10x10_SFLOAT_BLOCK`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_3), device_extensions: &["ext_texture_compression_astc_hdr"], ..Default::default() }, }); } } Self::ASTC_12x10_SFLOAT_BLOCK => { if !(device.api_version() >= crate::Version::V1_3 || device.enabled_extensions().ext_texture_compression_astc_hdr) { return Err(crate::RequirementNotMet { required_for: "`Format::ASTC_12x10_SFLOAT_BLOCK`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_3), device_extensions: &["ext_texture_compression_astc_hdr"], ..Default::default() }, }); } } Self::ASTC_12x12_SFLOAT_BLOCK => { if !(device.api_version() >= crate::Version::V1_3 || device.enabled_extensions().ext_texture_compression_astc_hdr) { return Err(crate::RequirementNotMet { required_for: "`Format::ASTC_12x12_SFLOAT_BLOCK`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_3), device_extensions: &["ext_texture_compression_astc_hdr"], ..Default::default() }, }); } } Self::G8_B8R8_2PLANE_444_UNORM => { if !(device.api_version() >= crate::Version::V1_3 || device.enabled_extensions().ext_ycbcr_2plane_444_formats) { return Err(crate::RequirementNotMet { required_for: "`Format::G8_B8R8_2PLANE_444_UNORM`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_3), device_extensions: &["ext_ycbcr_2plane_444_formats"], ..Default::default() }, }); } } Self::G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 => { if !(device.api_version() >= crate::Version::V1_3 || device.enabled_extensions().ext_ycbcr_2plane_444_formats) { return Err(crate::RequirementNotMet { required_for: "`Format::G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_3), device_extensions: &["ext_ycbcr_2plane_444_formats"], ..Default::default() }, }); } } Self::G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 => { if !(device.api_version() >= crate::Version::V1_3 || device.enabled_extensions().ext_ycbcr_2plane_444_formats) { return Err(crate::RequirementNotMet { required_for: "`Format::G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_3), device_extensions: &["ext_ycbcr_2plane_444_formats"], ..Default::default() }, }); } } Self::G16_B16R16_2PLANE_444_UNORM => { if !(device.api_version() >= crate::Version::V1_3 || device.enabled_extensions().ext_ycbcr_2plane_444_formats) { return Err(crate::RequirementNotMet { required_for: "`Format::G16_B16R16_2PLANE_444_UNORM`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_3), device_extensions: &["ext_ycbcr_2plane_444_formats"], ..Default::default() }, }); } } Self::A4R4G4B4_UNORM_PACK16 => { if !(device.api_version() >= crate::Version::V1_3 || device.enabled_extensions().ext_4444_formats) { return Err(crate::RequirementNotMet { required_for: "`Format::A4R4G4B4_UNORM_PACK16`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_3), device_extensions: &["ext_4444_formats"], ..Default::default() }, }); } } Self::A4B4G4R4_UNORM_PACK16 => { if !(device.api_version() >= crate::Version::V1_3 || device.enabled_extensions().ext_4444_formats) { return Err(crate::RequirementNotMet { required_for: "`Format::A4B4G4R4_UNORM_PACK16`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_3), device_extensions: &["ext_4444_formats"], ..Default::default() }, }); } } Self::R16G16_S10_5_NV => { if !(device.enabled_extensions().nv_optical_flow) { return Err(crate::RequirementNotMet { required_for: "`Format::R16G16_S10_5_NV`", requires_one_of: crate::RequiresOneOf { device_extensions: &["nv_optical_flow"], ..Default::default() }, }); } } } Ok(()) } #[allow(dead_code)] pub(crate) fn validate_physical_device( self, #[allow(unused_variables)] physical_device: &crate::device::physical::PhysicalDevice, ) -> Result<(), crate::RequirementNotMet> { match self { Self::R4G4_UNORM_PACK8 => {} Self::R4G4B4A4_UNORM_PACK16 => {} Self::B4G4R4A4_UNORM_PACK16 => {} Self::R5G6B5_UNORM_PACK16 => {} Self::B5G6R5_UNORM_PACK16 => {} Self::R5G5B5A1_UNORM_PACK16 => {} Self::B5G5R5A1_UNORM_PACK16 => {} Self::A1R5G5B5_UNORM_PACK16 => {} Self::R8_UNORM => {} Self::R8_SNORM => {} Self::R8_USCALED => {} Self::R8_SSCALED => {} Self::R8_UINT => {} Self::R8_SINT => {} Self::R8_SRGB => {} Self::R8G8_UNORM => {} Self::R8G8_SNORM => {} Self::R8G8_USCALED => {} Self::R8G8_SSCALED => {} Self::R8G8_UINT => {} Self::R8G8_SINT => {} Self::R8G8_SRGB => {} Self::R8G8B8_UNORM => {} Self::R8G8B8_SNORM => {} Self::R8G8B8_USCALED => {} Self::R8G8B8_SSCALED => {} Self::R8G8B8_UINT => {} Self::R8G8B8_SINT => {} Self::R8G8B8_SRGB => {} Self::B8G8R8_UNORM => {} Self::B8G8R8_SNORM => {} Self::B8G8R8_USCALED => {} Self::B8G8R8_SSCALED => {} Self::B8G8R8_UINT => {} Self::B8G8R8_SINT => {} Self::B8G8R8_SRGB => {} Self::R8G8B8A8_UNORM => {} Self::R8G8B8A8_SNORM => {} Self::R8G8B8A8_USCALED => {} Self::R8G8B8A8_SSCALED => {} Self::R8G8B8A8_UINT => {} Self::R8G8B8A8_SINT => {} Self::R8G8B8A8_SRGB => {} Self::B8G8R8A8_UNORM => {} Self::B8G8R8A8_SNORM => {} Self::B8G8R8A8_USCALED => {} Self::B8G8R8A8_SSCALED => {} Self::B8G8R8A8_UINT => {} Self::B8G8R8A8_SINT => {} Self::B8G8R8A8_SRGB => {} Self::A8B8G8R8_UNORM_PACK32 => {} Self::A8B8G8R8_SNORM_PACK32 => {} Self::A8B8G8R8_USCALED_PACK32 => {} Self::A8B8G8R8_SSCALED_PACK32 => {} Self::A8B8G8R8_UINT_PACK32 => {} Self::A8B8G8R8_SINT_PACK32 => {} Self::A8B8G8R8_SRGB_PACK32 => {} Self::A2R10G10B10_UNORM_PACK32 => {} Self::A2R10G10B10_SNORM_PACK32 => {} Self::A2R10G10B10_USCALED_PACK32 => {} Self::A2R10G10B10_SSCALED_PACK32 => {} Self::A2R10G10B10_UINT_PACK32 => {} Self::A2R10G10B10_SINT_PACK32 => {} Self::A2B10G10R10_UNORM_PACK32 => {} Self::A2B10G10R10_SNORM_PACK32 => {} Self::A2B10G10R10_USCALED_PACK32 => {} Self::A2B10G10R10_SSCALED_PACK32 => {} Self::A2B10G10R10_UINT_PACK32 => {} Self::A2B10G10R10_SINT_PACK32 => {} Self::R16_UNORM => {} Self::R16_SNORM => {} Self::R16_USCALED => {} Self::R16_SSCALED => {} Self::R16_UINT => {} Self::R16_SINT => {} Self::R16_SFLOAT => {} Self::R16G16_UNORM => {} Self::R16G16_SNORM => {} Self::R16G16_USCALED => {} Self::R16G16_SSCALED => {} Self::R16G16_UINT => {} Self::R16G16_SINT => {} Self::R16G16_SFLOAT => {} Self::R16G16B16_UNORM => {} Self::R16G16B16_SNORM => {} Self::R16G16B16_USCALED => {} Self::R16G16B16_SSCALED => {} Self::R16G16B16_UINT => {} Self::R16G16B16_SINT => {} Self::R16G16B16_SFLOAT => {} Self::R16G16B16A16_UNORM => {} Self::R16G16B16A16_SNORM => {} Self::R16G16B16A16_USCALED => {} Self::R16G16B16A16_SSCALED => {} Self::R16G16B16A16_UINT => {} Self::R16G16B16A16_SINT => {} Self::R16G16B16A16_SFLOAT => {} Self::R32_UINT => {} Self::R32_SINT => {} Self::R32_SFLOAT => {} Self::R32G32_UINT => {} Self::R32G32_SINT => {} Self::R32G32_SFLOAT => {} Self::R32G32B32_UINT => {} Self::R32G32B32_SINT => {} Self::R32G32B32_SFLOAT => {} Self::R32G32B32A32_UINT => {} Self::R32G32B32A32_SINT => {} Self::R32G32B32A32_SFLOAT => {} Self::R64_UINT => {} Self::R64_SINT => {} Self::R64_SFLOAT => {} Self::R64G64_UINT => {} Self::R64G64_SINT => {} Self::R64G64_SFLOAT => {} Self::R64G64B64_UINT => {} Self::R64G64B64_SINT => {} Self::R64G64B64_SFLOAT => {} Self::R64G64B64A64_UINT => {} Self::R64G64B64A64_SINT => {} Self::R64G64B64A64_SFLOAT => {} Self::B10G11R11_UFLOAT_PACK32 => {} Self::E5B9G9R9_UFLOAT_PACK32 => {} Self::D16_UNORM => {} Self::X8_D24_UNORM_PACK32 => {} Self::D32_SFLOAT => {} Self::S8_UINT => {} Self::D16_UNORM_S8_UINT => {} Self::D24_UNORM_S8_UINT => {} Self::D32_SFLOAT_S8_UINT => {} Self::BC1_RGB_UNORM_BLOCK => {} Self::BC1_RGB_SRGB_BLOCK => {} Self::BC1_RGBA_UNORM_BLOCK => {} Self::BC1_RGBA_SRGB_BLOCK => {} Self::BC2_UNORM_BLOCK => {} Self::BC2_SRGB_BLOCK => {} Self::BC3_UNORM_BLOCK => {} Self::BC3_SRGB_BLOCK => {} Self::BC4_UNORM_BLOCK => {} Self::BC4_SNORM_BLOCK => {} Self::BC5_UNORM_BLOCK => {} Self::BC5_SNORM_BLOCK => {} Self::BC6H_UFLOAT_BLOCK => {} Self::BC6H_SFLOAT_BLOCK => {} Self::BC7_UNORM_BLOCK => {} Self::BC7_SRGB_BLOCK => {} Self::ETC2_R8G8B8_UNORM_BLOCK => {} Self::ETC2_R8G8B8_SRGB_BLOCK => {} Self::ETC2_R8G8B8A1_UNORM_BLOCK => {} Self::ETC2_R8G8B8A1_SRGB_BLOCK => {} Self::ETC2_R8G8B8A8_UNORM_BLOCK => {} Self::ETC2_R8G8B8A8_SRGB_BLOCK => {} Self::EAC_R11_UNORM_BLOCK => {} Self::EAC_R11_SNORM_BLOCK => {} Self::EAC_R11G11_UNORM_BLOCK => {} Self::EAC_R11G11_SNORM_BLOCK => {} Self::ASTC_4x4_UNORM_BLOCK => {} Self::ASTC_4x4_SRGB_BLOCK => {} Self::ASTC_5x4_UNORM_BLOCK => {} Self::ASTC_5x4_SRGB_BLOCK => {} Self::ASTC_5x5_UNORM_BLOCK => {} Self::ASTC_5x5_SRGB_BLOCK => {} Self::ASTC_6x5_UNORM_BLOCK => {} Self::ASTC_6x5_SRGB_BLOCK => {} Self::ASTC_6x6_UNORM_BLOCK => {} Self::ASTC_6x6_SRGB_BLOCK => {} Self::ASTC_8x5_UNORM_BLOCK => {} Self::ASTC_8x5_SRGB_BLOCK => {} Self::ASTC_8x6_UNORM_BLOCK => {} Self::ASTC_8x6_SRGB_BLOCK => {} Self::ASTC_8x8_UNORM_BLOCK => {} Self::ASTC_8x8_SRGB_BLOCK => {} Self::ASTC_10x5_UNORM_BLOCK => {} Self::ASTC_10x5_SRGB_BLOCK => {} Self::ASTC_10x6_UNORM_BLOCK => {} Self::ASTC_10x6_SRGB_BLOCK => {} Self::ASTC_10x8_UNORM_BLOCK => {} Self::ASTC_10x8_SRGB_BLOCK => {} Self::ASTC_10x10_UNORM_BLOCK => {} Self::ASTC_10x10_SRGB_BLOCK => {} Self::ASTC_12x10_UNORM_BLOCK => {} Self::ASTC_12x10_SRGB_BLOCK => {} Self::ASTC_12x12_UNORM_BLOCK => {} Self::ASTC_12x12_SRGB_BLOCK => {} Self::G8B8G8R8_422_UNORM => { if !(physical_device.api_version() >= crate::Version::V1_1 || physical_device .supported_extensions() .khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::G8B8G8R8_422_UNORM`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::B8G8R8G8_422_UNORM => { if !(physical_device.api_version() >= crate::Version::V1_1 || physical_device .supported_extensions() .khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::B8G8R8G8_422_UNORM`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::G8_B8_R8_3PLANE_420_UNORM => { if !(physical_device.api_version() >= crate::Version::V1_1 || physical_device .supported_extensions() .khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::G8_B8_R8_3PLANE_420_UNORM`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::G8_B8R8_2PLANE_420_UNORM => { if !(physical_device.api_version() >= crate::Version::V1_1 || physical_device .supported_extensions() .khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::G8_B8R8_2PLANE_420_UNORM`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::G8_B8_R8_3PLANE_422_UNORM => { if !(physical_device.api_version() >= crate::Version::V1_1 || physical_device .supported_extensions() .khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::G8_B8_R8_3PLANE_422_UNORM`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::G8_B8R8_2PLANE_422_UNORM => { if !(physical_device.api_version() >= crate::Version::V1_1 || physical_device .supported_extensions() .khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::G8_B8R8_2PLANE_422_UNORM`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::G8_B8_R8_3PLANE_444_UNORM => { if !(physical_device.api_version() >= crate::Version::V1_1 || physical_device .supported_extensions() .khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::G8_B8_R8_3PLANE_444_UNORM`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::R10X6_UNORM_PACK16 => { if !(physical_device.api_version() >= crate::Version::V1_1 || physical_device .supported_extensions() .khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::R10X6_UNORM_PACK16`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::R10X6G10X6_UNORM_2PACK16 => { if !(physical_device.api_version() >= crate::Version::V1_1 || physical_device .supported_extensions() .khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::R10X6G10X6_UNORM_2PACK16`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::R10X6G10X6B10X6A10X6_UNORM_4PACK16 => { if !(physical_device.api_version() >= crate::Version::V1_1 || physical_device .supported_extensions() .khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::R10X6G10X6B10X6A10X6_UNORM_4PACK16`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 => { if !(physical_device.api_version() >= crate::Version::V1_1 || physical_device .supported_extensions() .khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::G10X6B10X6G10X6R10X6_422_UNORM_4PACK16`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 => { if !(physical_device.api_version() >= crate::Version::V1_1 || physical_device .supported_extensions() .khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::B10X6G10X6R10X6G10X6_422_UNORM_4PACK16`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 => { if !(physical_device.api_version() >= crate::Version::V1_1 || physical_device .supported_extensions() .khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 => { if !(physical_device.api_version() >= crate::Version::V1_1 || physical_device .supported_extensions() .khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 => { if !(physical_device.api_version() >= crate::Version::V1_1 || physical_device .supported_extensions() .khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 => { if !(physical_device.api_version() >= crate::Version::V1_1 || physical_device .supported_extensions() .khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 => { if !(physical_device.api_version() >= crate::Version::V1_1 || physical_device .supported_extensions() .khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::R12X4_UNORM_PACK16 => { if !(physical_device.api_version() >= crate::Version::V1_1 || physical_device .supported_extensions() .khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::R12X4_UNORM_PACK16`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::R12X4G12X4_UNORM_2PACK16 => { if !(physical_device.api_version() >= crate::Version::V1_1 || physical_device .supported_extensions() .khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::R12X4G12X4_UNORM_2PACK16`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::R12X4G12X4B12X4A12X4_UNORM_4PACK16 => { if !(physical_device.api_version() >= crate::Version::V1_1 || physical_device .supported_extensions() .khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::R12X4G12X4B12X4A12X4_UNORM_4PACK16`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 => { if !(physical_device.api_version() >= crate::Version::V1_1 || physical_device .supported_extensions() .khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::G12X4B12X4G12X4R12X4_422_UNORM_4PACK16`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 => { if !(physical_device.api_version() >= crate::Version::V1_1 || physical_device .supported_extensions() .khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::B12X4G12X4R12X4G12X4_422_UNORM_4PACK16`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 => { if !(physical_device.api_version() >= crate::Version::V1_1 || physical_device .supported_extensions() .khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 => { if !(physical_device.api_version() >= crate::Version::V1_1 || physical_device .supported_extensions() .khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 => { if !(physical_device.api_version() >= crate::Version::V1_1 || physical_device .supported_extensions() .khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 => { if !(physical_device.api_version() >= crate::Version::V1_1 || physical_device .supported_extensions() .khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 => { if !(physical_device.api_version() >= crate::Version::V1_1 || physical_device .supported_extensions() .khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::G16B16G16R16_422_UNORM => { if !(physical_device.api_version() >= crate::Version::V1_1 || physical_device .supported_extensions() .khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::G16B16G16R16_422_UNORM`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::B16G16R16G16_422_UNORM => { if !(physical_device.api_version() >= crate::Version::V1_1 || physical_device .supported_extensions() .khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::B16G16R16G16_422_UNORM`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::G16_B16_R16_3PLANE_420_UNORM => { if !(physical_device.api_version() >= crate::Version::V1_1 || physical_device .supported_extensions() .khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::G16_B16_R16_3PLANE_420_UNORM`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::G16_B16R16_2PLANE_420_UNORM => { if !(physical_device.api_version() >= crate::Version::V1_1 || physical_device .supported_extensions() .khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::G16_B16R16_2PLANE_420_UNORM`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::G16_B16_R16_3PLANE_422_UNORM => { if !(physical_device.api_version() >= crate::Version::V1_1 || physical_device .supported_extensions() .khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::G16_B16_R16_3PLANE_422_UNORM`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::G16_B16R16_2PLANE_422_UNORM => { if !(physical_device.api_version() >= crate::Version::V1_1 || physical_device .supported_extensions() .khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::G16_B16R16_2PLANE_422_UNORM`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::G16_B16_R16_3PLANE_444_UNORM => { if !(physical_device.api_version() >= crate::Version::V1_1 || physical_device .supported_extensions() .khr_sampler_ycbcr_conversion) { return Err(crate::RequirementNotMet { required_for: "`Format::G16_B16_R16_3PLANE_444_UNORM`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_1), device_extensions: &["khr_sampler_ycbcr_conversion"], ..Default::default() }, }); } } Self::PVRTC1_2BPP_UNORM_BLOCK => { if !(physical_device.supported_extensions().img_format_pvrtc) { return Err(crate::RequirementNotMet { required_for: "`Format::PVRTC1_2BPP_UNORM_BLOCK`", requires_one_of: crate::RequiresOneOf { device_extensions: &["img_format_pvrtc"], ..Default::default() }, }); } } Self::PVRTC1_4BPP_UNORM_BLOCK => { if !(physical_device.supported_extensions().img_format_pvrtc) { return Err(crate::RequirementNotMet { required_for: "`Format::PVRTC1_4BPP_UNORM_BLOCK`", requires_one_of: crate::RequiresOneOf { device_extensions: &["img_format_pvrtc"], ..Default::default() }, }); } } Self::PVRTC2_2BPP_UNORM_BLOCK => { if !(physical_device.supported_extensions().img_format_pvrtc) { return Err(crate::RequirementNotMet { required_for: "`Format::PVRTC2_2BPP_UNORM_BLOCK`", requires_one_of: crate::RequiresOneOf { device_extensions: &["img_format_pvrtc"], ..Default::default() }, }); } } Self::PVRTC2_4BPP_UNORM_BLOCK => { if !(physical_device.supported_extensions().img_format_pvrtc) { return Err(crate::RequirementNotMet { required_for: "`Format::PVRTC2_4BPP_UNORM_BLOCK`", requires_one_of: crate::RequiresOneOf { device_extensions: &["img_format_pvrtc"], ..Default::default() }, }); } } Self::PVRTC1_2BPP_SRGB_BLOCK => { if !(physical_device.supported_extensions().img_format_pvrtc) { return Err(crate::RequirementNotMet { required_for: "`Format::PVRTC1_2BPP_SRGB_BLOCK`", requires_one_of: crate::RequiresOneOf { device_extensions: &["img_format_pvrtc"], ..Default::default() }, }); } } Self::PVRTC1_4BPP_SRGB_BLOCK => { if !(physical_device.supported_extensions().img_format_pvrtc) { return Err(crate::RequirementNotMet { required_for: "`Format::PVRTC1_4BPP_SRGB_BLOCK`", requires_one_of: crate::RequiresOneOf { device_extensions: &["img_format_pvrtc"], ..Default::default() }, }); } } Self::PVRTC2_2BPP_SRGB_BLOCK => { if !(physical_device.supported_extensions().img_format_pvrtc) { return Err(crate::RequirementNotMet { required_for: "`Format::PVRTC2_2BPP_SRGB_BLOCK`", requires_one_of: crate::RequiresOneOf { device_extensions: &["img_format_pvrtc"], ..Default::default() }, }); } } Self::PVRTC2_4BPP_SRGB_BLOCK => { if !(physical_device.supported_extensions().img_format_pvrtc) { return Err(crate::RequirementNotMet { required_for: "`Format::PVRTC2_4BPP_SRGB_BLOCK`", requires_one_of: crate::RequiresOneOf { device_extensions: &["img_format_pvrtc"], ..Default::default() }, }); } } Self::ASTC_4x4_SFLOAT_BLOCK => { if !(physical_device.api_version() >= crate::Version::V1_3 || physical_device .supported_extensions() .ext_texture_compression_astc_hdr) { return Err(crate::RequirementNotMet { required_for: "`Format::ASTC_4x4_SFLOAT_BLOCK`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_3), device_extensions: &["ext_texture_compression_astc_hdr"], ..Default::default() }, }); } } Self::ASTC_5x4_SFLOAT_BLOCK => { if !(physical_device.api_version() >= crate::Version::V1_3 || physical_device .supported_extensions() .ext_texture_compression_astc_hdr) { return Err(crate::RequirementNotMet { required_for: "`Format::ASTC_5x4_SFLOAT_BLOCK`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_3), device_extensions: &["ext_texture_compression_astc_hdr"], ..Default::default() }, }); } } Self::ASTC_5x5_SFLOAT_BLOCK => { if !(physical_device.api_version() >= crate::Version::V1_3 || physical_device .supported_extensions() .ext_texture_compression_astc_hdr) { return Err(crate::RequirementNotMet { required_for: "`Format::ASTC_5x5_SFLOAT_BLOCK`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_3), device_extensions: &["ext_texture_compression_astc_hdr"], ..Default::default() }, }); } } Self::ASTC_6x5_SFLOAT_BLOCK => { if !(physical_device.api_version() >= crate::Version::V1_3 || physical_device .supported_extensions() .ext_texture_compression_astc_hdr) { return Err(crate::RequirementNotMet { required_for: "`Format::ASTC_6x5_SFLOAT_BLOCK`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_3), device_extensions: &["ext_texture_compression_astc_hdr"], ..Default::default() }, }); } } Self::ASTC_6x6_SFLOAT_BLOCK => { if !(physical_device.api_version() >= crate::Version::V1_3 || physical_device .supported_extensions() .ext_texture_compression_astc_hdr) { return Err(crate::RequirementNotMet { required_for: "`Format::ASTC_6x6_SFLOAT_BLOCK`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_3), device_extensions: &["ext_texture_compression_astc_hdr"], ..Default::default() }, }); } } Self::ASTC_8x5_SFLOAT_BLOCK => { if !(physical_device.api_version() >= crate::Version::V1_3 || physical_device .supported_extensions() .ext_texture_compression_astc_hdr) { return Err(crate::RequirementNotMet { required_for: "`Format::ASTC_8x5_SFLOAT_BLOCK`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_3), device_extensions: &["ext_texture_compression_astc_hdr"], ..Default::default() }, }); } } Self::ASTC_8x6_SFLOAT_BLOCK => { if !(physical_device.api_version() >= crate::Version::V1_3 || physical_device .supported_extensions() .ext_texture_compression_astc_hdr) { return Err(crate::RequirementNotMet { required_for: "`Format::ASTC_8x6_SFLOAT_BLOCK`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_3), device_extensions: &["ext_texture_compression_astc_hdr"], ..Default::default() }, }); } } Self::ASTC_8x8_SFLOAT_BLOCK => { if !(physical_device.api_version() >= crate::Version::V1_3 || physical_device .supported_extensions() .ext_texture_compression_astc_hdr) { return Err(crate::RequirementNotMet { required_for: "`Format::ASTC_8x8_SFLOAT_BLOCK`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_3), device_extensions: &["ext_texture_compression_astc_hdr"], ..Default::default() }, }); } } Self::ASTC_10x5_SFLOAT_BLOCK => { if !(physical_device.api_version() >= crate::Version::V1_3 || physical_device .supported_extensions() .ext_texture_compression_astc_hdr) { return Err(crate::RequirementNotMet { required_for: "`Format::ASTC_10x5_SFLOAT_BLOCK`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_3), device_extensions: &["ext_texture_compression_astc_hdr"], ..Default::default() }, }); } } Self::ASTC_10x6_SFLOAT_BLOCK => { if !(physical_device.api_version() >= crate::Version::V1_3 || physical_device .supported_extensions() .ext_texture_compression_astc_hdr) { return Err(crate::RequirementNotMet { required_for: "`Format::ASTC_10x6_SFLOAT_BLOCK`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_3), device_extensions: &["ext_texture_compression_astc_hdr"], ..Default::default() }, }); } } Self::ASTC_10x8_SFLOAT_BLOCK => { if !(physical_device.api_version() >= crate::Version::V1_3 || physical_device .supported_extensions() .ext_texture_compression_astc_hdr) { return Err(crate::RequirementNotMet { required_for: "`Format::ASTC_10x8_SFLOAT_BLOCK`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_3), device_extensions: &["ext_texture_compression_astc_hdr"], ..Default::default() }, }); } } Self::ASTC_10x10_SFLOAT_BLOCK => { if !(physical_device.api_version() >= crate::Version::V1_3 || physical_device .supported_extensions() .ext_texture_compression_astc_hdr) { return Err(crate::RequirementNotMet { required_for: "`Format::ASTC_10x10_SFLOAT_BLOCK`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_3), device_extensions: &["ext_texture_compression_astc_hdr"], ..Default::default() }, }); } } Self::ASTC_12x10_SFLOAT_BLOCK => { if !(physical_device.api_version() >= crate::Version::V1_3 || physical_device .supported_extensions() .ext_texture_compression_astc_hdr) { return Err(crate::RequirementNotMet { required_for: "`Format::ASTC_12x10_SFLOAT_BLOCK`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_3), device_extensions: &["ext_texture_compression_astc_hdr"], ..Default::default() }, }); } } Self::ASTC_12x12_SFLOAT_BLOCK => { if !(physical_device.api_version() >= crate::Version::V1_3 || physical_device .supported_extensions() .ext_texture_compression_astc_hdr) { return Err(crate::RequirementNotMet { required_for: "`Format::ASTC_12x12_SFLOAT_BLOCK`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_3), device_extensions: &["ext_texture_compression_astc_hdr"], ..Default::default() }, }); } } Self::G8_B8R8_2PLANE_444_UNORM => { if !(physical_device.api_version() >= crate::Version::V1_3 || physical_device .supported_extensions() .ext_ycbcr_2plane_444_formats) { return Err(crate::RequirementNotMet { required_for: "`Format::G8_B8R8_2PLANE_444_UNORM`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_3), device_extensions: &["ext_ycbcr_2plane_444_formats"], ..Default::default() }, }); } } Self::G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 => { if !(physical_device.api_version() >= crate::Version::V1_3 || physical_device .supported_extensions() .ext_ycbcr_2plane_444_formats) { return Err(crate::RequirementNotMet { required_for: "`Format::G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_3), device_extensions: &["ext_ycbcr_2plane_444_formats"], ..Default::default() }, }); } } Self::G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 => { if !(physical_device.api_version() >= crate::Version::V1_3 || physical_device .supported_extensions() .ext_ycbcr_2plane_444_formats) { return Err(crate::RequirementNotMet { required_for: "`Format::G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_3), device_extensions: &["ext_ycbcr_2plane_444_formats"], ..Default::default() }, }); } } Self::G16_B16R16_2PLANE_444_UNORM => { if !(physical_device.api_version() >= crate::Version::V1_3 || physical_device .supported_extensions() .ext_ycbcr_2plane_444_formats) { return Err(crate::RequirementNotMet { required_for: "`Format::G16_B16R16_2PLANE_444_UNORM`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_3), device_extensions: &["ext_ycbcr_2plane_444_formats"], ..Default::default() }, }); } } Self::A4R4G4B4_UNORM_PACK16 => { if !(physical_device.api_version() >= crate::Version::V1_3 || physical_device.supported_extensions().ext_4444_formats) { return Err(crate::RequirementNotMet { required_for: "`Format::A4R4G4B4_UNORM_PACK16`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_3), device_extensions: &["ext_4444_formats"], ..Default::default() }, }); } } Self::A4B4G4R4_UNORM_PACK16 => { if !(physical_device.api_version() >= crate::Version::V1_3 || physical_device.supported_extensions().ext_4444_formats) { return Err(crate::RequirementNotMet { required_for: "`Format::A4B4G4R4_UNORM_PACK16`", requires_one_of: crate::RequiresOneOf { api_version: Some(crate::Version::V1_3), device_extensions: &["ext_4444_formats"], ..Default::default() }, }); } } Self::R16G16_S10_5_NV => { if !(physical_device.supported_extensions().nv_optical_flow) { return Err(crate::RequirementNotMet { required_for: "`Format::R16G16_S10_5_NV`", requires_one_of: crate::RequiresOneOf { device_extensions: &["nv_optical_flow"], ..Default::default() }, }); } } } Ok(()) } } impl TryFrom for Format { type Error = (); fn try_from(val: ash::vk::Format) -> Result { match val { ash::vk::Format::R4G4_UNORM_PACK8 => Ok(Self::R4G4_UNORM_PACK8), ash::vk::Format::R4G4B4A4_UNORM_PACK16 => Ok(Self::R4G4B4A4_UNORM_PACK16), ash::vk::Format::B4G4R4A4_UNORM_PACK16 => Ok(Self::B4G4R4A4_UNORM_PACK16), ash::vk::Format::R5G6B5_UNORM_PACK16 => Ok(Self::R5G6B5_UNORM_PACK16), ash::vk::Format::B5G6R5_UNORM_PACK16 => Ok(Self::B5G6R5_UNORM_PACK16), ash::vk::Format::R5G5B5A1_UNORM_PACK16 => Ok(Self::R5G5B5A1_UNORM_PACK16), ash::vk::Format::B5G5R5A1_UNORM_PACK16 => Ok(Self::B5G5R5A1_UNORM_PACK16), ash::vk::Format::A1R5G5B5_UNORM_PACK16 => Ok(Self::A1R5G5B5_UNORM_PACK16), ash::vk::Format::R8_UNORM => Ok(Self::R8_UNORM), ash::vk::Format::R8_SNORM => Ok(Self::R8_SNORM), ash::vk::Format::R8_USCALED => Ok(Self::R8_USCALED), ash::vk::Format::R8_SSCALED => Ok(Self::R8_SSCALED), ash::vk::Format::R8_UINT => Ok(Self::R8_UINT), ash::vk::Format::R8_SINT => Ok(Self::R8_SINT), ash::vk::Format::R8_SRGB => Ok(Self::R8_SRGB), ash::vk::Format::R8G8_UNORM => Ok(Self::R8G8_UNORM), ash::vk::Format::R8G8_SNORM => Ok(Self::R8G8_SNORM), ash::vk::Format::R8G8_USCALED => Ok(Self::R8G8_USCALED), ash::vk::Format::R8G8_SSCALED => Ok(Self::R8G8_SSCALED), ash::vk::Format::R8G8_UINT => Ok(Self::R8G8_UINT), ash::vk::Format::R8G8_SINT => Ok(Self::R8G8_SINT), ash::vk::Format::R8G8_SRGB => Ok(Self::R8G8_SRGB), ash::vk::Format::R8G8B8_UNORM => Ok(Self::R8G8B8_UNORM), ash::vk::Format::R8G8B8_SNORM => Ok(Self::R8G8B8_SNORM), ash::vk::Format::R8G8B8_USCALED => Ok(Self::R8G8B8_USCALED), ash::vk::Format::R8G8B8_SSCALED => Ok(Self::R8G8B8_SSCALED), ash::vk::Format::R8G8B8_UINT => Ok(Self::R8G8B8_UINT), ash::vk::Format::R8G8B8_SINT => Ok(Self::R8G8B8_SINT), ash::vk::Format::R8G8B8_SRGB => Ok(Self::R8G8B8_SRGB), ash::vk::Format::B8G8R8_UNORM => Ok(Self::B8G8R8_UNORM), ash::vk::Format::B8G8R8_SNORM => Ok(Self::B8G8R8_SNORM), ash::vk::Format::B8G8R8_USCALED => Ok(Self::B8G8R8_USCALED), ash::vk::Format::B8G8R8_SSCALED => Ok(Self::B8G8R8_SSCALED), ash::vk::Format::B8G8R8_UINT => Ok(Self::B8G8R8_UINT), ash::vk::Format::B8G8R8_SINT => Ok(Self::B8G8R8_SINT), ash::vk::Format::B8G8R8_SRGB => Ok(Self::B8G8R8_SRGB), ash::vk::Format::R8G8B8A8_UNORM => Ok(Self::R8G8B8A8_UNORM), ash::vk::Format::R8G8B8A8_SNORM => Ok(Self::R8G8B8A8_SNORM), ash::vk::Format::R8G8B8A8_USCALED => Ok(Self::R8G8B8A8_USCALED), ash::vk::Format::R8G8B8A8_SSCALED => Ok(Self::R8G8B8A8_SSCALED), ash::vk::Format::R8G8B8A8_UINT => Ok(Self::R8G8B8A8_UINT), ash::vk::Format::R8G8B8A8_SINT => Ok(Self::R8G8B8A8_SINT), ash::vk::Format::R8G8B8A8_SRGB => Ok(Self::R8G8B8A8_SRGB), ash::vk::Format::B8G8R8A8_UNORM => Ok(Self::B8G8R8A8_UNORM), ash::vk::Format::B8G8R8A8_SNORM => Ok(Self::B8G8R8A8_SNORM), ash::vk::Format::B8G8R8A8_USCALED => Ok(Self::B8G8R8A8_USCALED), ash::vk::Format::B8G8R8A8_SSCALED => Ok(Self::B8G8R8A8_SSCALED), ash::vk::Format::B8G8R8A8_UINT => Ok(Self::B8G8R8A8_UINT), ash::vk::Format::B8G8R8A8_SINT => Ok(Self::B8G8R8A8_SINT), ash::vk::Format::B8G8R8A8_SRGB => Ok(Self::B8G8R8A8_SRGB), ash::vk::Format::A8B8G8R8_UNORM_PACK32 => Ok(Self::A8B8G8R8_UNORM_PACK32), ash::vk::Format::A8B8G8R8_SNORM_PACK32 => Ok(Self::A8B8G8R8_SNORM_PACK32), ash::vk::Format::A8B8G8R8_USCALED_PACK32 => Ok(Self::A8B8G8R8_USCALED_PACK32), ash::vk::Format::A8B8G8R8_SSCALED_PACK32 => Ok(Self::A8B8G8R8_SSCALED_PACK32), ash::vk::Format::A8B8G8R8_UINT_PACK32 => Ok(Self::A8B8G8R8_UINT_PACK32), ash::vk::Format::A8B8G8R8_SINT_PACK32 => Ok(Self::A8B8G8R8_SINT_PACK32), ash::vk::Format::A8B8G8R8_SRGB_PACK32 => Ok(Self::A8B8G8R8_SRGB_PACK32), ash::vk::Format::A2R10G10B10_UNORM_PACK32 => Ok(Self::A2R10G10B10_UNORM_PACK32), ash::vk::Format::A2R10G10B10_SNORM_PACK32 => Ok(Self::A2R10G10B10_SNORM_PACK32), ash::vk::Format::A2R10G10B10_USCALED_PACK32 => Ok(Self::A2R10G10B10_USCALED_PACK32), ash::vk::Format::A2R10G10B10_SSCALED_PACK32 => Ok(Self::A2R10G10B10_SSCALED_PACK32), ash::vk::Format::A2R10G10B10_UINT_PACK32 => Ok(Self::A2R10G10B10_UINT_PACK32), ash::vk::Format::A2R10G10B10_SINT_PACK32 => Ok(Self::A2R10G10B10_SINT_PACK32), ash::vk::Format::A2B10G10R10_UNORM_PACK32 => Ok(Self::A2B10G10R10_UNORM_PACK32), ash::vk::Format::A2B10G10R10_SNORM_PACK32 => Ok(Self::A2B10G10R10_SNORM_PACK32), ash::vk::Format::A2B10G10R10_USCALED_PACK32 => Ok(Self::A2B10G10R10_USCALED_PACK32), ash::vk::Format::A2B10G10R10_SSCALED_PACK32 => Ok(Self::A2B10G10R10_SSCALED_PACK32), ash::vk::Format::A2B10G10R10_UINT_PACK32 => Ok(Self::A2B10G10R10_UINT_PACK32), ash::vk::Format::A2B10G10R10_SINT_PACK32 => Ok(Self::A2B10G10R10_SINT_PACK32), ash::vk::Format::R16_UNORM => Ok(Self::R16_UNORM), ash::vk::Format::R16_SNORM => Ok(Self::R16_SNORM), ash::vk::Format::R16_USCALED => Ok(Self::R16_USCALED), ash::vk::Format::R16_SSCALED => Ok(Self::R16_SSCALED), ash::vk::Format::R16_UINT => Ok(Self::R16_UINT), ash::vk::Format::R16_SINT => Ok(Self::R16_SINT), ash::vk::Format::R16_SFLOAT => Ok(Self::R16_SFLOAT), ash::vk::Format::R16G16_UNORM => Ok(Self::R16G16_UNORM), ash::vk::Format::R16G16_SNORM => Ok(Self::R16G16_SNORM), ash::vk::Format::R16G16_USCALED => Ok(Self::R16G16_USCALED), ash::vk::Format::R16G16_SSCALED => Ok(Self::R16G16_SSCALED), ash::vk::Format::R16G16_UINT => Ok(Self::R16G16_UINT), ash::vk::Format::R16G16_SINT => Ok(Self::R16G16_SINT), ash::vk::Format::R16G16_SFLOAT => Ok(Self::R16G16_SFLOAT), ash::vk::Format::R16G16B16_UNORM => Ok(Self::R16G16B16_UNORM), ash::vk::Format::R16G16B16_SNORM => Ok(Self::R16G16B16_SNORM), ash::vk::Format::R16G16B16_USCALED => Ok(Self::R16G16B16_USCALED), ash::vk::Format::R16G16B16_SSCALED => Ok(Self::R16G16B16_SSCALED), ash::vk::Format::R16G16B16_UINT => Ok(Self::R16G16B16_UINT), ash::vk::Format::R16G16B16_SINT => Ok(Self::R16G16B16_SINT), ash::vk::Format::R16G16B16_SFLOAT => Ok(Self::R16G16B16_SFLOAT), ash::vk::Format::R16G16B16A16_UNORM => Ok(Self::R16G16B16A16_UNORM), ash::vk::Format::R16G16B16A16_SNORM => Ok(Self::R16G16B16A16_SNORM), ash::vk::Format::R16G16B16A16_USCALED => Ok(Self::R16G16B16A16_USCALED), ash::vk::Format::R16G16B16A16_SSCALED => Ok(Self::R16G16B16A16_SSCALED), ash::vk::Format::R16G16B16A16_UINT => Ok(Self::R16G16B16A16_UINT), ash::vk::Format::R16G16B16A16_SINT => Ok(Self::R16G16B16A16_SINT), ash::vk::Format::R16G16B16A16_SFLOAT => Ok(Self::R16G16B16A16_SFLOAT), ash::vk::Format::R32_UINT => Ok(Self::R32_UINT), ash::vk::Format::R32_SINT => Ok(Self::R32_SINT), ash::vk::Format::R32_SFLOAT => Ok(Self::R32_SFLOAT), ash::vk::Format::R32G32_UINT => Ok(Self::R32G32_UINT), ash::vk::Format::R32G32_SINT => Ok(Self::R32G32_SINT), ash::vk::Format::R32G32_SFLOAT => Ok(Self::R32G32_SFLOAT), ash::vk::Format::R32G32B32_UINT => Ok(Self::R32G32B32_UINT), ash::vk::Format::R32G32B32_SINT => Ok(Self::R32G32B32_SINT), ash::vk::Format::R32G32B32_SFLOAT => Ok(Self::R32G32B32_SFLOAT), ash::vk::Format::R32G32B32A32_UINT => Ok(Self::R32G32B32A32_UINT), ash::vk::Format::R32G32B32A32_SINT => Ok(Self::R32G32B32A32_SINT), ash::vk::Format::R32G32B32A32_SFLOAT => Ok(Self::R32G32B32A32_SFLOAT), ash::vk::Format::R64_UINT => Ok(Self::R64_UINT), ash::vk::Format::R64_SINT => Ok(Self::R64_SINT), ash::vk::Format::R64_SFLOAT => Ok(Self::R64_SFLOAT), ash::vk::Format::R64G64_UINT => Ok(Self::R64G64_UINT), ash::vk::Format::R64G64_SINT => Ok(Self::R64G64_SINT), ash::vk::Format::R64G64_SFLOAT => Ok(Self::R64G64_SFLOAT), ash::vk::Format::R64G64B64_UINT => Ok(Self::R64G64B64_UINT), ash::vk::Format::R64G64B64_SINT => Ok(Self::R64G64B64_SINT), ash::vk::Format::R64G64B64_SFLOAT => Ok(Self::R64G64B64_SFLOAT), ash::vk::Format::R64G64B64A64_UINT => Ok(Self::R64G64B64A64_UINT), ash::vk::Format::R64G64B64A64_SINT => Ok(Self::R64G64B64A64_SINT), ash::vk::Format::R64G64B64A64_SFLOAT => Ok(Self::R64G64B64A64_SFLOAT), ash::vk::Format::B10G11R11_UFLOAT_PACK32 => Ok(Self::B10G11R11_UFLOAT_PACK32), ash::vk::Format::E5B9G9R9_UFLOAT_PACK32 => Ok(Self::E5B9G9R9_UFLOAT_PACK32), ash::vk::Format::D16_UNORM => Ok(Self::D16_UNORM), ash::vk::Format::X8_D24_UNORM_PACK32 => Ok(Self::X8_D24_UNORM_PACK32), ash::vk::Format::D32_SFLOAT => Ok(Self::D32_SFLOAT), ash::vk::Format::S8_UINT => Ok(Self::S8_UINT), ash::vk::Format::D16_UNORM_S8_UINT => Ok(Self::D16_UNORM_S8_UINT), ash::vk::Format::D24_UNORM_S8_UINT => Ok(Self::D24_UNORM_S8_UINT), ash::vk::Format::D32_SFLOAT_S8_UINT => Ok(Self::D32_SFLOAT_S8_UINT), ash::vk::Format::BC1_RGB_UNORM_BLOCK => Ok(Self::BC1_RGB_UNORM_BLOCK), ash::vk::Format::BC1_RGB_SRGB_BLOCK => Ok(Self::BC1_RGB_SRGB_BLOCK), ash::vk::Format::BC1_RGBA_UNORM_BLOCK => Ok(Self::BC1_RGBA_UNORM_BLOCK), ash::vk::Format::BC1_RGBA_SRGB_BLOCK => Ok(Self::BC1_RGBA_SRGB_BLOCK), ash::vk::Format::BC2_UNORM_BLOCK => Ok(Self::BC2_UNORM_BLOCK), ash::vk::Format::BC2_SRGB_BLOCK => Ok(Self::BC2_SRGB_BLOCK), ash::vk::Format::BC3_UNORM_BLOCK => Ok(Self::BC3_UNORM_BLOCK), ash::vk::Format::BC3_SRGB_BLOCK => Ok(Self::BC3_SRGB_BLOCK), ash::vk::Format::BC4_UNORM_BLOCK => Ok(Self::BC4_UNORM_BLOCK), ash::vk::Format::BC4_SNORM_BLOCK => Ok(Self::BC4_SNORM_BLOCK), ash::vk::Format::BC5_UNORM_BLOCK => Ok(Self::BC5_UNORM_BLOCK), ash::vk::Format::BC5_SNORM_BLOCK => Ok(Self::BC5_SNORM_BLOCK), ash::vk::Format::BC6H_UFLOAT_BLOCK => Ok(Self::BC6H_UFLOAT_BLOCK), ash::vk::Format::BC6H_SFLOAT_BLOCK => Ok(Self::BC6H_SFLOAT_BLOCK), ash::vk::Format::BC7_UNORM_BLOCK => Ok(Self::BC7_UNORM_BLOCK), ash::vk::Format::BC7_SRGB_BLOCK => Ok(Self::BC7_SRGB_BLOCK), ash::vk::Format::ETC2_R8G8B8_UNORM_BLOCK => Ok(Self::ETC2_R8G8B8_UNORM_BLOCK), ash::vk::Format::ETC2_R8G8B8_SRGB_BLOCK => Ok(Self::ETC2_R8G8B8_SRGB_BLOCK), ash::vk::Format::ETC2_R8G8B8A1_UNORM_BLOCK => Ok(Self::ETC2_R8G8B8A1_UNORM_BLOCK), ash::vk::Format::ETC2_R8G8B8A1_SRGB_BLOCK => Ok(Self::ETC2_R8G8B8A1_SRGB_BLOCK), ash::vk::Format::ETC2_R8G8B8A8_UNORM_BLOCK => Ok(Self::ETC2_R8G8B8A8_UNORM_BLOCK), ash::vk::Format::ETC2_R8G8B8A8_SRGB_BLOCK => Ok(Self::ETC2_R8G8B8A8_SRGB_BLOCK), ash::vk::Format::EAC_R11_UNORM_BLOCK => Ok(Self::EAC_R11_UNORM_BLOCK), ash::vk::Format::EAC_R11_SNORM_BLOCK => Ok(Self::EAC_R11_SNORM_BLOCK), ash::vk::Format::EAC_R11G11_UNORM_BLOCK => Ok(Self::EAC_R11G11_UNORM_BLOCK), ash::vk::Format::EAC_R11G11_SNORM_BLOCK => Ok(Self::EAC_R11G11_SNORM_BLOCK), ash::vk::Format::ASTC_4X4_UNORM_BLOCK => Ok(Self::ASTC_4x4_UNORM_BLOCK), ash::vk::Format::ASTC_4X4_SRGB_BLOCK => Ok(Self::ASTC_4x4_SRGB_BLOCK), ash::vk::Format::ASTC_5X4_UNORM_BLOCK => Ok(Self::ASTC_5x4_UNORM_BLOCK), ash::vk::Format::ASTC_5X4_SRGB_BLOCK => Ok(Self::ASTC_5x4_SRGB_BLOCK), ash::vk::Format::ASTC_5X5_UNORM_BLOCK => Ok(Self::ASTC_5x5_UNORM_BLOCK), ash::vk::Format::ASTC_5X5_SRGB_BLOCK => Ok(Self::ASTC_5x5_SRGB_BLOCK), ash::vk::Format::ASTC_6X5_UNORM_BLOCK => Ok(Self::ASTC_6x5_UNORM_BLOCK), ash::vk::Format::ASTC_6X5_SRGB_BLOCK => Ok(Self::ASTC_6x5_SRGB_BLOCK), ash::vk::Format::ASTC_6X6_UNORM_BLOCK => Ok(Self::ASTC_6x6_UNORM_BLOCK), ash::vk::Format::ASTC_6X6_SRGB_BLOCK => Ok(Self::ASTC_6x6_SRGB_BLOCK), ash::vk::Format::ASTC_8X5_UNORM_BLOCK => Ok(Self::ASTC_8x5_UNORM_BLOCK), ash::vk::Format::ASTC_8X5_SRGB_BLOCK => Ok(Self::ASTC_8x5_SRGB_BLOCK), ash::vk::Format::ASTC_8X6_UNORM_BLOCK => Ok(Self::ASTC_8x6_UNORM_BLOCK), ash::vk::Format::ASTC_8X6_SRGB_BLOCK => Ok(Self::ASTC_8x6_SRGB_BLOCK), ash::vk::Format::ASTC_8X8_UNORM_BLOCK => Ok(Self::ASTC_8x8_UNORM_BLOCK), ash::vk::Format::ASTC_8X8_SRGB_BLOCK => Ok(Self::ASTC_8x8_SRGB_BLOCK), ash::vk::Format::ASTC_10X5_UNORM_BLOCK => Ok(Self::ASTC_10x5_UNORM_BLOCK), ash::vk::Format::ASTC_10X5_SRGB_BLOCK => Ok(Self::ASTC_10x5_SRGB_BLOCK), ash::vk::Format::ASTC_10X6_UNORM_BLOCK => Ok(Self::ASTC_10x6_UNORM_BLOCK), ash::vk::Format::ASTC_10X6_SRGB_BLOCK => Ok(Self::ASTC_10x6_SRGB_BLOCK), ash::vk::Format::ASTC_10X8_UNORM_BLOCK => Ok(Self::ASTC_10x8_UNORM_BLOCK), ash::vk::Format::ASTC_10X8_SRGB_BLOCK => Ok(Self::ASTC_10x8_SRGB_BLOCK), ash::vk::Format::ASTC_10X10_UNORM_BLOCK => Ok(Self::ASTC_10x10_UNORM_BLOCK), ash::vk::Format::ASTC_10X10_SRGB_BLOCK => Ok(Self::ASTC_10x10_SRGB_BLOCK), ash::vk::Format::ASTC_12X10_UNORM_BLOCK => Ok(Self::ASTC_12x10_UNORM_BLOCK), ash::vk::Format::ASTC_12X10_SRGB_BLOCK => Ok(Self::ASTC_12x10_SRGB_BLOCK), ash::vk::Format::ASTC_12X12_UNORM_BLOCK => Ok(Self::ASTC_12x12_UNORM_BLOCK), ash::vk::Format::ASTC_12X12_SRGB_BLOCK => Ok(Self::ASTC_12x12_SRGB_BLOCK), ash::vk::Format::G8B8G8R8_422_UNORM => Ok(Self::G8B8G8R8_422_UNORM), ash::vk::Format::B8G8R8G8_422_UNORM => Ok(Self::B8G8R8G8_422_UNORM), ash::vk::Format::G8_B8_R8_3PLANE_420_UNORM => Ok(Self::G8_B8_R8_3PLANE_420_UNORM), ash::vk::Format::G8_B8R8_2PLANE_420_UNORM => Ok(Self::G8_B8R8_2PLANE_420_UNORM), ash::vk::Format::G8_B8_R8_3PLANE_422_UNORM => Ok(Self::G8_B8_R8_3PLANE_422_UNORM), ash::vk::Format::G8_B8R8_2PLANE_422_UNORM => Ok(Self::G8_B8R8_2PLANE_422_UNORM), ash::vk::Format::G8_B8_R8_3PLANE_444_UNORM => Ok(Self::G8_B8_R8_3PLANE_444_UNORM), ash::vk::Format::R10X6_UNORM_PACK16 => Ok(Self::R10X6_UNORM_PACK16), ash::vk::Format::R10X6G10X6_UNORM_2PACK16 => Ok(Self::R10X6G10X6_UNORM_2PACK16), ash::vk::Format::R10X6G10X6B10X6A10X6_UNORM_4PACK16 => { Ok(Self::R10X6G10X6B10X6A10X6_UNORM_4PACK16) } ash::vk::Format::G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 => { Ok(Self::G10X6B10X6G10X6R10X6_422_UNORM_4PACK16) } ash::vk::Format::B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 => { Ok(Self::B10X6G10X6R10X6G10X6_422_UNORM_4PACK16) } ash::vk::Format::G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 => { Ok(Self::G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16) } ash::vk::Format::G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 => { Ok(Self::G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16) } ash::vk::Format::G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 => { Ok(Self::G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16) } ash::vk::Format::G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 => { Ok(Self::G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16) } ash::vk::Format::G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 => { Ok(Self::G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16) } ash::vk::Format::R12X4_UNORM_PACK16 => Ok(Self::R12X4_UNORM_PACK16), ash::vk::Format::R12X4G12X4_UNORM_2PACK16 => Ok(Self::R12X4G12X4_UNORM_2PACK16), ash::vk::Format::R12X4G12X4B12X4A12X4_UNORM_4PACK16 => { Ok(Self::R12X4G12X4B12X4A12X4_UNORM_4PACK16) } ash::vk::Format::G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 => { Ok(Self::G12X4B12X4G12X4R12X4_422_UNORM_4PACK16) } ash::vk::Format::B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 => { Ok(Self::B12X4G12X4R12X4G12X4_422_UNORM_4PACK16) } ash::vk::Format::G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 => { Ok(Self::G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16) } ash::vk::Format::G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 => { Ok(Self::G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16) } ash::vk::Format::G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 => { Ok(Self::G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16) } ash::vk::Format::G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 => { Ok(Self::G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16) } ash::vk::Format::G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 => { Ok(Self::G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16) } ash::vk::Format::G16B16G16R16_422_UNORM => Ok(Self::G16B16G16R16_422_UNORM), ash::vk::Format::B16G16R16G16_422_UNORM => Ok(Self::B16G16R16G16_422_UNORM), ash::vk::Format::G16_B16_R16_3PLANE_420_UNORM => Ok(Self::G16_B16_R16_3PLANE_420_UNORM), ash::vk::Format::G16_B16R16_2PLANE_420_UNORM => Ok(Self::G16_B16R16_2PLANE_420_UNORM), ash::vk::Format::G16_B16_R16_3PLANE_422_UNORM => Ok(Self::G16_B16_R16_3PLANE_422_UNORM), ash::vk::Format::G16_B16R16_2PLANE_422_UNORM => Ok(Self::G16_B16R16_2PLANE_422_UNORM), ash::vk::Format::G16_B16_R16_3PLANE_444_UNORM => Ok(Self::G16_B16_R16_3PLANE_444_UNORM), ash::vk::Format::PVRTC1_2BPP_UNORM_BLOCK_IMG => Ok(Self::PVRTC1_2BPP_UNORM_BLOCK), ash::vk::Format::PVRTC1_4BPP_UNORM_BLOCK_IMG => Ok(Self::PVRTC1_4BPP_UNORM_BLOCK), ash::vk::Format::PVRTC2_2BPP_UNORM_BLOCK_IMG => Ok(Self::PVRTC2_2BPP_UNORM_BLOCK), ash::vk::Format::PVRTC2_4BPP_UNORM_BLOCK_IMG => Ok(Self::PVRTC2_4BPP_UNORM_BLOCK), ash::vk::Format::PVRTC1_2BPP_SRGB_BLOCK_IMG => Ok(Self::PVRTC1_2BPP_SRGB_BLOCK), ash::vk::Format::PVRTC1_4BPP_SRGB_BLOCK_IMG => Ok(Self::PVRTC1_4BPP_SRGB_BLOCK), ash::vk::Format::PVRTC2_2BPP_SRGB_BLOCK_IMG => Ok(Self::PVRTC2_2BPP_SRGB_BLOCK), ash::vk::Format::PVRTC2_4BPP_SRGB_BLOCK_IMG => Ok(Self::PVRTC2_4BPP_SRGB_BLOCK), ash::vk::Format::ASTC_4X4_SFLOAT_BLOCK => Ok(Self::ASTC_4x4_SFLOAT_BLOCK), ash::vk::Format::ASTC_5X4_SFLOAT_BLOCK => Ok(Self::ASTC_5x4_SFLOAT_BLOCK), ash::vk::Format::ASTC_5X5_SFLOAT_BLOCK => Ok(Self::ASTC_5x5_SFLOAT_BLOCK), ash::vk::Format::ASTC_6X5_SFLOAT_BLOCK => Ok(Self::ASTC_6x5_SFLOAT_BLOCK), ash::vk::Format::ASTC_6X6_SFLOAT_BLOCK => Ok(Self::ASTC_6x6_SFLOAT_BLOCK), ash::vk::Format::ASTC_8X5_SFLOAT_BLOCK => Ok(Self::ASTC_8x5_SFLOAT_BLOCK), ash::vk::Format::ASTC_8X6_SFLOAT_BLOCK => Ok(Self::ASTC_8x6_SFLOAT_BLOCK), ash::vk::Format::ASTC_8X8_SFLOAT_BLOCK => Ok(Self::ASTC_8x8_SFLOAT_BLOCK), ash::vk::Format::ASTC_10X5_SFLOAT_BLOCK => Ok(Self::ASTC_10x5_SFLOAT_BLOCK), ash::vk::Format::ASTC_10X6_SFLOAT_BLOCK => Ok(Self::ASTC_10x6_SFLOAT_BLOCK), ash::vk::Format::ASTC_10X8_SFLOAT_BLOCK => Ok(Self::ASTC_10x8_SFLOAT_BLOCK), ash::vk::Format::ASTC_10X10_SFLOAT_BLOCK => Ok(Self::ASTC_10x10_SFLOAT_BLOCK), ash::vk::Format::ASTC_12X10_SFLOAT_BLOCK => Ok(Self::ASTC_12x10_SFLOAT_BLOCK), ash::vk::Format::ASTC_12X12_SFLOAT_BLOCK => Ok(Self::ASTC_12x12_SFLOAT_BLOCK), ash::vk::Format::G8_B8R8_2PLANE_444_UNORM => Ok(Self::G8_B8R8_2PLANE_444_UNORM), ash::vk::Format::G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 => { Ok(Self::G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16) } ash::vk::Format::G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 => { Ok(Self::G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16) } ash::vk::Format::G16_B16R16_2PLANE_444_UNORM => Ok(Self::G16_B16R16_2PLANE_444_UNORM), ash::vk::Format::A4R4G4B4_UNORM_PACK16 => Ok(Self::A4R4G4B4_UNORM_PACK16), ash::vk::Format::A4B4G4R4_UNORM_PACK16 => Ok(Self::A4B4G4R4_UNORM_PACK16), ash::vk::Format::R16G16_S10_5_NV => Ok(Self::R16G16_S10_5_NV), _ => Err(()), } } } #[doc = r" Converts a format enum identifier to a standard Rust type that is suitable for"] #[doc = r" representing the format in a buffer or image."] #[doc = r""] #[doc = r" This macro returns one possible suitable representation, but there are usually other"] #[doc = r" possibilities for a given format. A compile error occurs for formats that have no"] #[doc = r" well-defined size (the `size` method returns `None`)."] #[doc = r""] #[doc = r" - For regular unpacked formats with one component, this returns a single floating point,"] #[doc = r" signed or unsigned integer with the appropriate number of bits. For formats with"] #[doc = r" multiple components, an array is returned."] #[doc = r" - For packed formats, this returns an unsigned integer with the size of the packed"] #[doc = r" element. For multi-packed formats (such as `2PACK16`), an array is returned."] #[doc = r" - For compressed formats, this returns `[u8; N]` where N is the size of a block."] #[doc = r""] #[doc = r" Note: for 16-bit floating point values, you need to import the [`half::f16`] type."] #[doc = r""] #[doc = r" # Examples"] #[doc = r""] #[doc = r" For arrays:"] #[doc = r""] #[doc = r" ```"] #[doc = r" # use vulkano::type_for_format;"] #[doc = r" let pixel: type_for_format!(R32G32B32A32_SFLOAT);"] #[doc = r" pixel = [1.0f32, 0.0, 0.0, 1.0];"] #[doc = r" ```"] #[doc = r""] #[doc = r" For [`cgmath`]:"] #[doc = r""] #[doc = r" ```"] #[doc = r" # use vulkano::type_for_format;"] #[doc = r" let pixel: type_for_format!(cgmath, R32G32B32A32_SFLOAT);"] #[doc = r" pixel = cgmath::Vector4::new(1.0f32, 0.0, 0.0, 1.0);"] #[doc = r" ```"] #[doc = r""] #[doc = r" For [`nalgebra`]:"] #[doc = r""] #[doc = r" ```"] #[doc = r" # use vulkano::type_for_format;"] #[doc = r" let pixel: type_for_format!(nalgebra, R32G32B32A32_SFLOAT);"] #[doc = r" pixel = nalgebra::vector![1.0f32, 0.0, 0.0, 1.0];"] #[doc = r" ```"] #[doc = r""] #[doc = r" [`cgmath`]: https://crates.io/crates/cgmath"] #[doc = r" [`nalgebra`]: https://crates.io/crates/nalgebra"] #[macro_export] macro_rules ! type_for_format { (R4G4_UNORM_PACK8) => { u8 } ; (R4G4B4A4_UNORM_PACK16) => { u16 } ; (B4G4R4A4_UNORM_PACK16) => { u16 } ; (R5G6B5_UNORM_PACK16) => { u16 } ; (B5G6R5_UNORM_PACK16) => { u16 } ; (R5G5B5A1_UNORM_PACK16) => { u16 } ; (B5G5R5A1_UNORM_PACK16) => { u16 } ; (A1R5G5B5_UNORM_PACK16) => { u16 } ; (R8_UNORM) => { u8 } ; (R8_SNORM) => { i8 } ; (R8_USCALED) => { u8 } ; (R8_SSCALED) => { i8 } ; (R8_UINT) => { u8 } ; (R8_SINT) => { i8 } ; (R8_SRGB) => { u8 } ; (R8G8_UNORM) => { [u8 ; 2] } ; (R8G8_SNORM) => { [i8 ; 2] } ; (R8G8_USCALED) => { [u8 ; 2] } ; (R8G8_SSCALED) => { [i8 ; 2] } ; (R8G8_UINT) => { [u8 ; 2] } ; (R8G8_SINT) => { [i8 ; 2] } ; (R8G8_SRGB) => { [u8 ; 2] } ; (R8G8B8_UNORM) => { [u8 ; 3] } ; (R8G8B8_SNORM) => { [i8 ; 3] } ; (R8G8B8_USCALED) => { [u8 ; 3] } ; (R8G8B8_SSCALED) => { [i8 ; 3] } ; (R8G8B8_UINT) => { [u8 ; 3] } ; (R8G8B8_SINT) => { [i8 ; 3] } ; (R8G8B8_SRGB) => { [u8 ; 3] } ; (B8G8R8_UNORM) => { [u8 ; 3] } ; (B8G8R8_SNORM) => { [i8 ; 3] } ; (B8G8R8_USCALED) => { [u8 ; 3] } ; (B8G8R8_SSCALED) => { [i8 ; 3] } ; (B8G8R8_UINT) => { [u8 ; 3] } ; (B8G8R8_SINT) => { [i8 ; 3] } ; (B8G8R8_SRGB) => { [u8 ; 3] } ; (R8G8B8A8_UNORM) => { [u8 ; 4] } ; (R8G8B8A8_SNORM) => { [i8 ; 4] } ; (R8G8B8A8_USCALED) => { [u8 ; 4] } ; (R8G8B8A8_SSCALED) => { [i8 ; 4] } ; (R8G8B8A8_UINT) => { [u8 ; 4] } ; (R8G8B8A8_SINT) => { [i8 ; 4] } ; (R8G8B8A8_SRGB) => { [u8 ; 4] } ; (B8G8R8A8_UNORM) => { [u8 ; 4] } ; (B8G8R8A8_SNORM) => { [i8 ; 4] } ; (B8G8R8A8_USCALED) => { [u8 ; 4] } ; (B8G8R8A8_SSCALED) => { [i8 ; 4] } ; (B8G8R8A8_UINT) => { [u8 ; 4] } ; (B8G8R8A8_SINT) => { [i8 ; 4] } ; (B8G8R8A8_SRGB) => { [u8 ; 4] } ; (A8B8G8R8_UNORM_PACK32) => { u32 } ; (A8B8G8R8_SNORM_PACK32) => { u32 } ; (A8B8G8R8_USCALED_PACK32) => { u32 } ; (A8B8G8R8_SSCALED_PACK32) => { u32 } ; (A8B8G8R8_UINT_PACK32) => { u32 } ; (A8B8G8R8_SINT_PACK32) => { u32 } ; (A8B8G8R8_SRGB_PACK32) => { u32 } ; (A2R10G10B10_UNORM_PACK32) => { u32 } ; (A2R10G10B10_SNORM_PACK32) => { u32 } ; (A2R10G10B10_USCALED_PACK32) => { u32 } ; (A2R10G10B10_SSCALED_PACK32) => { u32 } ; (A2R10G10B10_UINT_PACK32) => { u32 } ; (A2R10G10B10_SINT_PACK32) => { u32 } ; (A2B10G10R10_UNORM_PACK32) => { u32 } ; (A2B10G10R10_SNORM_PACK32) => { u32 } ; (A2B10G10R10_USCALED_PACK32) => { u32 } ; (A2B10G10R10_SSCALED_PACK32) => { u32 } ; (A2B10G10R10_UINT_PACK32) => { u32 } ; (A2B10G10R10_SINT_PACK32) => { u32 } ; (R16_UNORM) => { u16 } ; (R16_SNORM) => { i16 } ; (R16_USCALED) => { u16 } ; (R16_SSCALED) => { i16 } ; (R16_UINT) => { u16 } ; (R16_SINT) => { i16 } ; (R16_SFLOAT) => { f16 } ; (R16G16_UNORM) => { [u16 ; 2] } ; (R16G16_SNORM) => { [i16 ; 2] } ; (R16G16_USCALED) => { [u16 ; 2] } ; (R16G16_SSCALED) => { [i16 ; 2] } ; (R16G16_UINT) => { [u16 ; 2] } ; (R16G16_SINT) => { [i16 ; 2] } ; (R16G16_SFLOAT) => { [f16 ; 2] } ; (R16G16B16_UNORM) => { [u16 ; 3] } ; (R16G16B16_SNORM) => { [i16 ; 3] } ; (R16G16B16_USCALED) => { [u16 ; 3] } ; (R16G16B16_SSCALED) => { [i16 ; 3] } ; (R16G16B16_UINT) => { [u16 ; 3] } ; (R16G16B16_SINT) => { [i16 ; 3] } ; (R16G16B16_SFLOAT) => { [f16 ; 3] } ; (R16G16B16A16_UNORM) => { [u16 ; 4] } ; (R16G16B16A16_SNORM) => { [i16 ; 4] } ; (R16G16B16A16_USCALED) => { [u16 ; 4] } ; (R16G16B16A16_SSCALED) => { [i16 ; 4] } ; (R16G16B16A16_UINT) => { [u16 ; 4] } ; (R16G16B16A16_SINT) => { [i16 ; 4] } ; (R16G16B16A16_SFLOAT) => { [f16 ; 4] } ; (R32_UINT) => { u32 } ; (R32_SINT) => { i32 } ; (R32_SFLOAT) => { f32 } ; (R32G32_UINT) => { [u32 ; 2] } ; (R32G32_SINT) => { [i32 ; 2] } ; (R32G32_SFLOAT) => { [f32 ; 2] } ; (R32G32B32_UINT) => { [u32 ; 3] } ; (R32G32B32_SINT) => { [i32 ; 3] } ; (R32G32B32_SFLOAT) => { [f32 ; 3] } ; (R32G32B32A32_UINT) => { [u32 ; 4] } ; (R32G32B32A32_SINT) => { [i32 ; 4] } ; (R32G32B32A32_SFLOAT) => { [f32 ; 4] } ; (R64_UINT) => { u64 } ; (R64_SINT) => { i64 } ; (R64_SFLOAT) => { f64 } ; (R64G64_UINT) => { [u64 ; 2] } ; (R64G64_SINT) => { [i64 ; 2] } ; (R64G64_SFLOAT) => { [f64 ; 2] } ; (R64G64B64_UINT) => { [u64 ; 3] } ; (R64G64B64_SINT) => { [i64 ; 3] } ; (R64G64B64_SFLOAT) => { [f64 ; 3] } ; (R64G64B64A64_UINT) => { [u64 ; 4] } ; (R64G64B64A64_SINT) => { [i64 ; 4] } ; (R64G64B64A64_SFLOAT) => { [f64 ; 4] } ; (B10G11R11_UFLOAT_PACK32) => { u32 } ; (E5B9G9R9_UFLOAT_PACK32) => { u32 } ; (BC1_RGB_UNORM_BLOCK) => { [u8 ; 8] } ; (BC1_RGB_SRGB_BLOCK) => { [u8 ; 8] } ; (BC1_RGBA_UNORM_BLOCK) => { [u8 ; 8] } ; (BC1_RGBA_SRGB_BLOCK) => { [u8 ; 8] } ; (BC2_UNORM_BLOCK) => { [u8 ; 16] } ; (BC2_SRGB_BLOCK) => { [u8 ; 16] } ; (BC3_UNORM_BLOCK) => { [u8 ; 16] } ; (BC3_SRGB_BLOCK) => { [u8 ; 16] } ; (BC4_UNORM_BLOCK) => { [u8 ; 8] } ; (BC4_SNORM_BLOCK) => { [u8 ; 8] } ; (BC5_UNORM_BLOCK) => { [u8 ; 16] } ; (BC5_SNORM_BLOCK) => { [u8 ; 16] } ; (BC6H_UFLOAT_BLOCK) => { [u8 ; 16] } ; (BC6H_SFLOAT_BLOCK) => { [u8 ; 16] } ; (BC7_UNORM_BLOCK) => { [u8 ; 16] } ; (BC7_SRGB_BLOCK) => { [u8 ; 16] } ; (ETC2_R8G8B8_UNORM_BLOCK) => { [u8 ; 8] } ; (ETC2_R8G8B8_SRGB_BLOCK) => { [u8 ; 8] } ; (ETC2_R8G8B8A1_UNORM_BLOCK) => { [u8 ; 8] } ; (ETC2_R8G8B8A1_SRGB_BLOCK) => { [u8 ; 8] } ; (ETC2_R8G8B8A8_UNORM_BLOCK) => { [u8 ; 16] } ; (ETC2_R8G8B8A8_SRGB_BLOCK) => { [u8 ; 16] } ; (EAC_R11_UNORM_BLOCK) => { [u8 ; 8] } ; (EAC_R11_SNORM_BLOCK) => { [u8 ; 8] } ; (EAC_R11G11_UNORM_BLOCK) => { [u8 ; 16] } ; (EAC_R11G11_SNORM_BLOCK) => { [u8 ; 16] } ; (ASTC_4x4_UNORM_BLOCK) => { [u8 ; 16] } ; (ASTC_4x4_SRGB_BLOCK) => { [u8 ; 16] } ; (ASTC_5x4_UNORM_BLOCK) => { [u8 ; 16] } ; (ASTC_5x4_SRGB_BLOCK) => { [u8 ; 16] } ; (ASTC_5x5_UNORM_BLOCK) => { [u8 ; 16] } ; (ASTC_5x5_SRGB_BLOCK) => { [u8 ; 16] } ; (ASTC_6x5_UNORM_BLOCK) => { [u8 ; 16] } ; (ASTC_6x5_SRGB_BLOCK) => { [u8 ; 16] } ; (ASTC_6x6_UNORM_BLOCK) => { [u8 ; 16] } ; (ASTC_6x6_SRGB_BLOCK) => { [u8 ; 16] } ; (ASTC_8x5_UNORM_BLOCK) => { [u8 ; 16] } ; (ASTC_8x5_SRGB_BLOCK) => { [u8 ; 16] } ; (ASTC_8x6_UNORM_BLOCK) => { [u8 ; 16] } ; (ASTC_8x6_SRGB_BLOCK) => { [u8 ; 16] } ; (ASTC_8x8_UNORM_BLOCK) => { [u8 ; 16] } ; (ASTC_8x8_SRGB_BLOCK) => { [u8 ; 16] } ; (ASTC_10x5_UNORM_BLOCK) => { [u8 ; 16] } ; (ASTC_10x5_SRGB_BLOCK) => { [u8 ; 16] } ; (ASTC_10x6_UNORM_BLOCK) => { [u8 ; 16] } ; (ASTC_10x6_SRGB_BLOCK) => { [u8 ; 16] } ; (ASTC_10x8_UNORM_BLOCK) => { [u8 ; 16] } ; (ASTC_10x8_SRGB_BLOCK) => { [u8 ; 16] } ; (ASTC_10x10_UNORM_BLOCK) => { [u8 ; 16] } ; (ASTC_10x10_SRGB_BLOCK) => { [u8 ; 16] } ; (ASTC_12x10_UNORM_BLOCK) => { [u8 ; 16] } ; (ASTC_12x10_SRGB_BLOCK) => { [u8 ; 16] } ; (ASTC_12x12_UNORM_BLOCK) => { [u8 ; 16] } ; (ASTC_12x12_SRGB_BLOCK) => { [u8 ; 16] } ; (G8B8G8R8_422_UNORM) => { [u8 ; 4] } ; (B8G8R8G8_422_UNORM) => { [u8 ; 4] } ; (R10X6_UNORM_PACK16) => { u16 } ; (R10X6G10X6_UNORM_2PACK16) => { [u16 ; 2] } ; (R10X6G10X6B10X6A10X6_UNORM_4PACK16) => { [u16 ; 4] } ; (G10X6B10X6G10X6R10X6_422_UNORM_4PACK16) => { [u16 ; 4] } ; (B10X6G10X6R10X6G10X6_422_UNORM_4PACK16) => { [u16 ; 4] } ; (R12X4_UNORM_PACK16) => { u16 } ; (R12X4G12X4_UNORM_2PACK16) => { [u16 ; 2] } ; (R12X4G12X4B12X4A12X4_UNORM_4PACK16) => { [u16 ; 4] } ; (G12X4B12X4G12X4R12X4_422_UNORM_4PACK16) => { [u16 ; 4] } ; (B12X4G12X4R12X4G12X4_422_UNORM_4PACK16) => { [u16 ; 4] } ; (G16B16G16R16_422_UNORM) => { [u16 ; 4] } ; (B16G16R16G16_422_UNORM) => { [u16 ; 4] } ; (PVRTC1_2BPP_UNORM_BLOCK) => { [u8 ; 8] } ; (PVRTC1_4BPP_UNORM_BLOCK) => { [u8 ; 8] } ; (PVRTC2_2BPP_UNORM_BLOCK) => { [u8 ; 8] } ; (PVRTC2_4BPP_UNORM_BLOCK) => { [u8 ; 8] } ; (PVRTC1_2BPP_SRGB_BLOCK) => { [u8 ; 8] } ; (PVRTC1_4BPP_SRGB_BLOCK) => { [u8 ; 8] } ; (PVRTC2_2BPP_SRGB_BLOCK) => { [u8 ; 8] } ; (PVRTC2_4BPP_SRGB_BLOCK) => { [u8 ; 8] } ; (ASTC_4x4_SFLOAT_BLOCK) => { [u8 ; 16] } ; (ASTC_5x4_SFLOAT_BLOCK) => { [u8 ; 16] } ; (ASTC_5x5_SFLOAT_BLOCK) => { [u8 ; 16] } ; (ASTC_6x5_SFLOAT_BLOCK) => { [u8 ; 16] } ; (ASTC_6x6_SFLOAT_BLOCK) => { [u8 ; 16] } ; (ASTC_8x5_SFLOAT_BLOCK) => { [u8 ; 16] } ; (ASTC_8x6_SFLOAT_BLOCK) => { [u8 ; 16] } ; (ASTC_8x8_SFLOAT_BLOCK) => { [u8 ; 16] } ; (ASTC_10x5_SFLOAT_BLOCK) => { [u8 ; 16] } ; (ASTC_10x6_SFLOAT_BLOCK) => { [u8 ; 16] } ; (ASTC_10x8_SFLOAT_BLOCK) => { [u8 ; 16] } ; (ASTC_10x10_SFLOAT_BLOCK) => { [u8 ; 16] } ; (ASTC_12x10_SFLOAT_BLOCK) => { [u8 ; 16] } ; (ASTC_12x12_SFLOAT_BLOCK) => { [u8 ; 16] } ; (A4R4G4B4_UNORM_PACK16) => { u16 } ; (A4B4G4R4_UNORM_PACK16) => { u16 } ; (R16G16_S10_5_NV) => { [i16 ; 2] } ; (cgmath , R4G4_UNORM_PACK8) => { u8 } ; (cgmath , R4G4B4A4_UNORM_PACK16) => { u16 } ; (cgmath , B4G4R4A4_UNORM_PACK16) => { u16 } ; (cgmath , R5G6B5_UNORM_PACK16) => { u16 } ; (cgmath , B5G6R5_UNORM_PACK16) => { u16 } ; (cgmath , R5G5B5A1_UNORM_PACK16) => { u16 } ; (cgmath , B5G5R5A1_UNORM_PACK16) => { u16 } ; (cgmath , A1R5G5B5_UNORM_PACK16) => { u16 } ; (cgmath , R8_UNORM) => { u8 } ; (cgmath , R8_SNORM) => { i8 } ; (cgmath , R8_USCALED) => { u8 } ; (cgmath , R8_SSCALED) => { i8 } ; (cgmath , R8_UINT) => { u8 } ; (cgmath , R8_SINT) => { i8 } ; (cgmath , R8_SRGB) => { u8 } ; (cgmath , R8G8_UNORM) => { cgmath :: Vector2 < u8 > } ; (cgmath , R8G8_SNORM) => { cgmath :: Vector2 < i8 > } ; (cgmath , R8G8_USCALED) => { cgmath :: Vector2 < u8 > } ; (cgmath , R8G8_SSCALED) => { cgmath :: Vector2 < i8 > } ; (cgmath , R8G8_UINT) => { cgmath :: Vector2 < u8 > } ; (cgmath , R8G8_SINT) => { cgmath :: Vector2 < i8 > } ; (cgmath , R8G8_SRGB) => { cgmath :: Vector2 < u8 > } ; (cgmath , R8G8B8_UNORM) => { cgmath :: Vector3 < u8 > } ; (cgmath , R8G8B8_SNORM) => { cgmath :: Vector3 < i8 > } ; (cgmath , R8G8B8_USCALED) => { cgmath :: Vector3 < u8 > } ; (cgmath , R8G8B8_SSCALED) => { cgmath :: Vector3 < i8 > } ; (cgmath , R8G8B8_UINT) => { cgmath :: Vector3 < u8 > } ; (cgmath , R8G8B8_SINT) => { cgmath :: Vector3 < i8 > } ; (cgmath , R8G8B8_SRGB) => { cgmath :: Vector3 < u8 > } ; (cgmath , B8G8R8_UNORM) => { cgmath :: Vector3 < u8 > } ; (cgmath , B8G8R8_SNORM) => { cgmath :: Vector3 < i8 > } ; (cgmath , B8G8R8_USCALED) => { cgmath :: Vector3 < u8 > } ; (cgmath , B8G8R8_SSCALED) => { cgmath :: Vector3 < i8 > } ; (cgmath , B8G8R8_UINT) => { cgmath :: Vector3 < u8 > } ; (cgmath , B8G8R8_SINT) => { cgmath :: Vector3 < i8 > } ; (cgmath , B8G8R8_SRGB) => { cgmath :: Vector3 < u8 > } ; (cgmath , R8G8B8A8_UNORM) => { cgmath :: Vector4 < u8 > } ; (cgmath , R8G8B8A8_SNORM) => { cgmath :: Vector4 < i8 > } ; (cgmath , R8G8B8A8_USCALED) => { cgmath :: Vector4 < u8 > } ; (cgmath , R8G8B8A8_SSCALED) => { cgmath :: Vector4 < i8 > } ; (cgmath , R8G8B8A8_UINT) => { cgmath :: Vector4 < u8 > } ; (cgmath , R8G8B8A8_SINT) => { cgmath :: Vector4 < i8 > } ; (cgmath , R8G8B8A8_SRGB) => { cgmath :: Vector4 < u8 > } ; (cgmath , B8G8R8A8_UNORM) => { cgmath :: Vector4 < u8 > } ; (cgmath , B8G8R8A8_SNORM) => { cgmath :: Vector4 < i8 > } ; (cgmath , B8G8R8A8_USCALED) => { cgmath :: Vector4 < u8 > } ; (cgmath , B8G8R8A8_SSCALED) => { cgmath :: Vector4 < i8 > } ; (cgmath , B8G8R8A8_UINT) => { cgmath :: Vector4 < u8 > } ; (cgmath , B8G8R8A8_SINT) => { cgmath :: Vector4 < i8 > } ; (cgmath , B8G8R8A8_SRGB) => { cgmath :: Vector4 < u8 > } ; (cgmath , A8B8G8R8_UNORM_PACK32) => { u32 } ; (cgmath , A8B8G8R8_SNORM_PACK32) => { u32 } ; (cgmath , A8B8G8R8_USCALED_PACK32) => { u32 } ; (cgmath , A8B8G8R8_SSCALED_PACK32) => { u32 } ; (cgmath , A8B8G8R8_UINT_PACK32) => { u32 } ; (cgmath , A8B8G8R8_SINT_PACK32) => { u32 } ; (cgmath , A8B8G8R8_SRGB_PACK32) => { u32 } ; (cgmath , A2R10G10B10_UNORM_PACK32) => { u32 } ; (cgmath , A2R10G10B10_SNORM_PACK32) => { u32 } ; (cgmath , A2R10G10B10_USCALED_PACK32) => { u32 } ; (cgmath , A2R10G10B10_SSCALED_PACK32) => { u32 } ; (cgmath , A2R10G10B10_UINT_PACK32) => { u32 } ; (cgmath , A2R10G10B10_SINT_PACK32) => { u32 } ; (cgmath , A2B10G10R10_UNORM_PACK32) => { u32 } ; (cgmath , A2B10G10R10_SNORM_PACK32) => { u32 } ; (cgmath , A2B10G10R10_USCALED_PACK32) => { u32 } ; (cgmath , A2B10G10R10_SSCALED_PACK32) => { u32 } ; (cgmath , A2B10G10R10_UINT_PACK32) => { u32 } ; (cgmath , A2B10G10R10_SINT_PACK32) => { u32 } ; (cgmath , R16_UNORM) => { u16 } ; (cgmath , R16_SNORM) => { i16 } ; (cgmath , R16_USCALED) => { u16 } ; (cgmath , R16_SSCALED) => { i16 } ; (cgmath , R16_UINT) => { u16 } ; (cgmath , R16_SINT) => { i16 } ; (cgmath , R16_SFLOAT) => { f16 } ; (cgmath , R16G16_UNORM) => { cgmath :: Vector2 < u16 > } ; (cgmath , R16G16_SNORM) => { cgmath :: Vector2 < i16 > } ; (cgmath , R16G16_USCALED) => { cgmath :: Vector2 < u16 > } ; (cgmath , R16G16_SSCALED) => { cgmath :: Vector2 < i16 > } ; (cgmath , R16G16_UINT) => { cgmath :: Vector2 < u16 > } ; (cgmath , R16G16_SINT) => { cgmath :: Vector2 < i16 > } ; (cgmath , R16G16_SFLOAT) => { cgmath :: Vector2 < f16 > } ; (cgmath , R16G16B16_UNORM) => { cgmath :: Vector3 < u16 > } ; (cgmath , R16G16B16_SNORM) => { cgmath :: Vector3 < i16 > } ; (cgmath , R16G16B16_USCALED) => { cgmath :: Vector3 < u16 > } ; (cgmath , R16G16B16_SSCALED) => { cgmath :: Vector3 < i16 > } ; (cgmath , R16G16B16_UINT) => { cgmath :: Vector3 < u16 > } ; (cgmath , R16G16B16_SINT) => { cgmath :: Vector3 < i16 > } ; (cgmath , R16G16B16_SFLOAT) => { cgmath :: Vector3 < f16 > } ; (cgmath , R16G16B16A16_UNORM) => { cgmath :: Vector4 < u16 > } ; (cgmath , R16G16B16A16_SNORM) => { cgmath :: Vector4 < i16 > } ; (cgmath , R16G16B16A16_USCALED) => { cgmath :: Vector4 < u16 > } ; (cgmath , R16G16B16A16_SSCALED) => { cgmath :: Vector4 < i16 > } ; (cgmath , R16G16B16A16_UINT) => { cgmath :: Vector4 < u16 > } ; (cgmath , R16G16B16A16_SINT) => { cgmath :: Vector4 < i16 > } ; (cgmath , R16G16B16A16_SFLOAT) => { cgmath :: Vector4 < f16 > } ; (cgmath , R32_UINT) => { u32 } ; (cgmath , R32_SINT) => { i32 } ; (cgmath , R32_SFLOAT) => { f32 } ; (cgmath , R32G32_UINT) => { cgmath :: Vector2 < u32 > } ; (cgmath , R32G32_SINT) => { cgmath :: Vector2 < i32 > } ; (cgmath , R32G32_SFLOAT) => { cgmath :: Vector2 < f32 > } ; (cgmath , R32G32B32_UINT) => { cgmath :: Vector3 < u32 > } ; (cgmath , R32G32B32_SINT) => { cgmath :: Vector3 < i32 > } ; (cgmath , R32G32B32_SFLOAT) => { cgmath :: Vector3 < f32 > } ; (cgmath , R32G32B32A32_UINT) => { cgmath :: Vector4 < u32 > } ; (cgmath , R32G32B32A32_SINT) => { cgmath :: Vector4 < i32 > } ; (cgmath , R32G32B32A32_SFLOAT) => { cgmath :: Vector4 < f32 > } ; (cgmath , R64_UINT) => { u64 } ; (cgmath , R64_SINT) => { i64 } ; (cgmath , R64_SFLOAT) => { f64 } ; (cgmath , R64G64_UINT) => { cgmath :: Vector2 < u64 > } ; (cgmath , R64G64_SINT) => { cgmath :: Vector2 < i64 > } ; (cgmath , R64G64_SFLOAT) => { cgmath :: Vector2 < f64 > } ; (cgmath , R64G64B64_UINT) => { cgmath :: Vector3 < u64 > } ; (cgmath , R64G64B64_SINT) => { cgmath :: Vector3 < i64 > } ; (cgmath , R64G64B64_SFLOAT) => { cgmath :: Vector3 < f64 > } ; (cgmath , R64G64B64A64_UINT) => { cgmath :: Vector4 < u64 > } ; (cgmath , R64G64B64A64_SINT) => { cgmath :: Vector4 < i64 > } ; (cgmath , R64G64B64A64_SFLOAT) => { cgmath :: Vector4 < f64 > } ; (cgmath , B10G11R11_UFLOAT_PACK32) => { u32 } ; (cgmath , E5B9G9R9_UFLOAT_PACK32) => { u32 } ; (cgmath , BC1_RGB_UNORM_BLOCK) => { [u8 ; 8] } ; (cgmath , BC1_RGB_SRGB_BLOCK) => { [u8 ; 8] } ; (cgmath , BC1_RGBA_UNORM_BLOCK) => { [u8 ; 8] } ; (cgmath , BC1_RGBA_SRGB_BLOCK) => { [u8 ; 8] } ; (cgmath , BC2_UNORM_BLOCK) => { [u8 ; 16] } ; (cgmath , BC2_SRGB_BLOCK) => { [u8 ; 16] } ; (cgmath , BC3_UNORM_BLOCK) => { [u8 ; 16] } ; (cgmath , BC3_SRGB_BLOCK) => { [u8 ; 16] } ; (cgmath , BC4_UNORM_BLOCK) => { [u8 ; 8] } ; (cgmath , BC4_SNORM_BLOCK) => { [u8 ; 8] } ; (cgmath , BC5_UNORM_BLOCK) => { [u8 ; 16] } ; (cgmath , BC5_SNORM_BLOCK) => { [u8 ; 16] } ; (cgmath , BC6H_UFLOAT_BLOCK) => { [u8 ; 16] } ; (cgmath , BC6H_SFLOAT_BLOCK) => { [u8 ; 16] } ; (cgmath , BC7_UNORM_BLOCK) => { [u8 ; 16] } ; (cgmath , BC7_SRGB_BLOCK) => { [u8 ; 16] } ; (cgmath , ETC2_R8G8B8_UNORM_BLOCK) => { [u8 ; 8] } ; (cgmath , ETC2_R8G8B8_SRGB_BLOCK) => { [u8 ; 8] } ; (cgmath , ETC2_R8G8B8A1_UNORM_BLOCK) => { [u8 ; 8] } ; (cgmath , ETC2_R8G8B8A1_SRGB_BLOCK) => { [u8 ; 8] } ; (cgmath , ETC2_R8G8B8A8_UNORM_BLOCK) => { [u8 ; 16] } ; (cgmath , ETC2_R8G8B8A8_SRGB_BLOCK) => { [u8 ; 16] } ; (cgmath , EAC_R11_UNORM_BLOCK) => { [u8 ; 8] } ; (cgmath , EAC_R11_SNORM_BLOCK) => { [u8 ; 8] } ; (cgmath , EAC_R11G11_UNORM_BLOCK) => { [u8 ; 16] } ; (cgmath , EAC_R11G11_SNORM_BLOCK) => { [u8 ; 16] } ; (cgmath , ASTC_4x4_UNORM_BLOCK) => { [u8 ; 16] } ; (cgmath , ASTC_4x4_SRGB_BLOCK) => { [u8 ; 16] } ; (cgmath , ASTC_5x4_UNORM_BLOCK) => { [u8 ; 16] } ; (cgmath , ASTC_5x4_SRGB_BLOCK) => { [u8 ; 16] } ; (cgmath , ASTC_5x5_UNORM_BLOCK) => { [u8 ; 16] } ; (cgmath , ASTC_5x5_SRGB_BLOCK) => { [u8 ; 16] } ; (cgmath , ASTC_6x5_UNORM_BLOCK) => { [u8 ; 16] } ; (cgmath , ASTC_6x5_SRGB_BLOCK) => { [u8 ; 16] } ; (cgmath , ASTC_6x6_UNORM_BLOCK) => { [u8 ; 16] } ; (cgmath , ASTC_6x6_SRGB_BLOCK) => { [u8 ; 16] } ; (cgmath , ASTC_8x5_UNORM_BLOCK) => { [u8 ; 16] } ; (cgmath , ASTC_8x5_SRGB_BLOCK) => { [u8 ; 16] } ; (cgmath , ASTC_8x6_UNORM_BLOCK) => { [u8 ; 16] } ; (cgmath , ASTC_8x6_SRGB_BLOCK) => { [u8 ; 16] } ; (cgmath , ASTC_8x8_UNORM_BLOCK) => { [u8 ; 16] } ; (cgmath , ASTC_8x8_SRGB_BLOCK) => { [u8 ; 16] } ; (cgmath , ASTC_10x5_UNORM_BLOCK) => { [u8 ; 16] } ; (cgmath , ASTC_10x5_SRGB_BLOCK) => { [u8 ; 16] } ; (cgmath , ASTC_10x6_UNORM_BLOCK) => { [u8 ; 16] } ; (cgmath , ASTC_10x6_SRGB_BLOCK) => { [u8 ; 16] } ; (cgmath , ASTC_10x8_UNORM_BLOCK) => { [u8 ; 16] } ; (cgmath , ASTC_10x8_SRGB_BLOCK) => { [u8 ; 16] } ; (cgmath , ASTC_10x10_UNORM_BLOCK) => { [u8 ; 16] } ; (cgmath , ASTC_10x10_SRGB_BLOCK) => { [u8 ; 16] } ; (cgmath , ASTC_12x10_UNORM_BLOCK) => { [u8 ; 16] } ; (cgmath , ASTC_12x10_SRGB_BLOCK) => { [u8 ; 16] } ; (cgmath , ASTC_12x12_UNORM_BLOCK) => { [u8 ; 16] } ; (cgmath , ASTC_12x12_SRGB_BLOCK) => { [u8 ; 16] } ; (cgmath , G8B8G8R8_422_UNORM) => { cgmath :: Vector4 < u8 > } ; (cgmath , B8G8R8G8_422_UNORM) => { cgmath :: Vector4 < u8 > } ; (cgmath , R10X6_UNORM_PACK16) => { u16 } ; (cgmath , R10X6G10X6_UNORM_2PACK16) => { [u16 ; 2] } ; (cgmath , R10X6G10X6B10X6A10X6_UNORM_4PACK16) => { [u16 ; 4] } ; (cgmath , G10X6B10X6G10X6R10X6_422_UNORM_4PACK16) => { [u16 ; 4] } ; (cgmath , B10X6G10X6R10X6G10X6_422_UNORM_4PACK16) => { [u16 ; 4] } ; (cgmath , R12X4_UNORM_PACK16) => { u16 } ; (cgmath , R12X4G12X4_UNORM_2PACK16) => { [u16 ; 2] } ; (cgmath , R12X4G12X4B12X4A12X4_UNORM_4PACK16) => { [u16 ; 4] } ; (cgmath , G12X4B12X4G12X4R12X4_422_UNORM_4PACK16) => { [u16 ; 4] } ; (cgmath , B12X4G12X4R12X4G12X4_422_UNORM_4PACK16) => { [u16 ; 4] } ; (cgmath , G16B16G16R16_422_UNORM) => { cgmath :: Vector4 < u16 > } ; (cgmath , B16G16R16G16_422_UNORM) => { cgmath :: Vector4 < u16 > } ; (cgmath , PVRTC1_2BPP_UNORM_BLOCK) => { [u8 ; 8] } ; (cgmath , PVRTC1_4BPP_UNORM_BLOCK) => { [u8 ; 8] } ; (cgmath , PVRTC2_2BPP_UNORM_BLOCK) => { [u8 ; 8] } ; (cgmath , PVRTC2_4BPP_UNORM_BLOCK) => { [u8 ; 8] } ; (cgmath , PVRTC1_2BPP_SRGB_BLOCK) => { [u8 ; 8] } ; (cgmath , PVRTC1_4BPP_SRGB_BLOCK) => { [u8 ; 8] } ; (cgmath , PVRTC2_2BPP_SRGB_BLOCK) => { [u8 ; 8] } ; (cgmath , PVRTC2_4BPP_SRGB_BLOCK) => { [u8 ; 8] } ; (cgmath , ASTC_4x4_SFLOAT_BLOCK) => { [u8 ; 16] } ; (cgmath , ASTC_5x4_SFLOAT_BLOCK) => { [u8 ; 16] } ; (cgmath , ASTC_5x5_SFLOAT_BLOCK) => { [u8 ; 16] } ; (cgmath , ASTC_6x5_SFLOAT_BLOCK) => { [u8 ; 16] } ; (cgmath , ASTC_6x6_SFLOAT_BLOCK) => { [u8 ; 16] } ; (cgmath , ASTC_8x5_SFLOAT_BLOCK) => { [u8 ; 16] } ; (cgmath , ASTC_8x6_SFLOAT_BLOCK) => { [u8 ; 16] } ; (cgmath , ASTC_8x8_SFLOAT_BLOCK) => { [u8 ; 16] } ; (cgmath , ASTC_10x5_SFLOAT_BLOCK) => { [u8 ; 16] } ; (cgmath , ASTC_10x6_SFLOAT_BLOCK) => { [u8 ; 16] } ; (cgmath , ASTC_10x8_SFLOAT_BLOCK) => { [u8 ; 16] } ; (cgmath , ASTC_10x10_SFLOAT_BLOCK) => { [u8 ; 16] } ; (cgmath , ASTC_12x10_SFLOAT_BLOCK) => { [u8 ; 16] } ; (cgmath , ASTC_12x12_SFLOAT_BLOCK) => { [u8 ; 16] } ; (cgmath , A4R4G4B4_UNORM_PACK16) => { u16 } ; (cgmath , A4B4G4R4_UNORM_PACK16) => { u16 } ; (cgmath , R16G16_S10_5_NV) => { cgmath :: Vector2 < i16 > } ; (nalgebra , R4G4_UNORM_PACK8) => { u8 } ; (nalgebra , R4G4B4A4_UNORM_PACK16) => { u16 } ; (nalgebra , B4G4R4A4_UNORM_PACK16) => { u16 } ; (nalgebra , R5G6B5_UNORM_PACK16) => { u16 } ; (nalgebra , B5G6R5_UNORM_PACK16) => { u16 } ; (nalgebra , R5G5B5A1_UNORM_PACK16) => { u16 } ; (nalgebra , B5G5R5A1_UNORM_PACK16) => { u16 } ; (nalgebra , A1R5G5B5_UNORM_PACK16) => { u16 } ; (nalgebra , R8_UNORM) => { u8 } ; (nalgebra , R8_SNORM) => { i8 } ; (nalgebra , R8_USCALED) => { u8 } ; (nalgebra , R8_SSCALED) => { i8 } ; (nalgebra , R8_UINT) => { u8 } ; (nalgebra , R8_SINT) => { i8 } ; (nalgebra , R8_SRGB) => { u8 } ; (nalgebra , R8G8_UNORM) => { nalgebra :: base :: SVector < u8 , 2usize > } ; (nalgebra , R8G8_SNORM) => { nalgebra :: base :: SVector < i8 , 2usize > } ; (nalgebra , R8G8_USCALED) => { nalgebra :: base :: SVector < u8 , 2usize > } ; (nalgebra , R8G8_SSCALED) => { nalgebra :: base :: SVector < i8 , 2usize > } ; (nalgebra , R8G8_UINT) => { nalgebra :: base :: SVector < u8 , 2usize > } ; (nalgebra , R8G8_SINT) => { nalgebra :: base :: SVector < i8 , 2usize > } ; (nalgebra , R8G8_SRGB) => { nalgebra :: base :: SVector < u8 , 2usize > } ; (nalgebra , R8G8B8_UNORM) => { nalgebra :: base :: SVector < u8 , 3usize > } ; (nalgebra , R8G8B8_SNORM) => { nalgebra :: base :: SVector < i8 , 3usize > } ; (nalgebra , R8G8B8_USCALED) => { nalgebra :: base :: SVector < u8 , 3usize > } ; (nalgebra , R8G8B8_SSCALED) => { nalgebra :: base :: SVector < i8 , 3usize > } ; (nalgebra , R8G8B8_UINT) => { nalgebra :: base :: SVector < u8 , 3usize > } ; (nalgebra , R8G8B8_SINT) => { nalgebra :: base :: SVector < i8 , 3usize > } ; (nalgebra , R8G8B8_SRGB) => { nalgebra :: base :: SVector < u8 , 3usize > } ; (nalgebra , B8G8R8_UNORM) => { nalgebra :: base :: SVector < u8 , 3usize > } ; (nalgebra , B8G8R8_SNORM) => { nalgebra :: base :: SVector < i8 , 3usize > } ; (nalgebra , B8G8R8_USCALED) => { nalgebra :: base :: SVector < u8 , 3usize > } ; (nalgebra , B8G8R8_SSCALED) => { nalgebra :: base :: SVector < i8 , 3usize > } ; (nalgebra , B8G8R8_UINT) => { nalgebra :: base :: SVector < u8 , 3usize > } ; (nalgebra , B8G8R8_SINT) => { nalgebra :: base :: SVector < i8 , 3usize > } ; (nalgebra , B8G8R8_SRGB) => { nalgebra :: base :: SVector < u8 , 3usize > } ; (nalgebra , R8G8B8A8_UNORM) => { nalgebra :: base :: SVector < u8 , 4usize > } ; (nalgebra , R8G8B8A8_SNORM) => { nalgebra :: base :: SVector < i8 , 4usize > } ; (nalgebra , R8G8B8A8_USCALED) => { nalgebra :: base :: SVector < u8 , 4usize > } ; (nalgebra , R8G8B8A8_SSCALED) => { nalgebra :: base :: SVector < i8 , 4usize > } ; (nalgebra , R8G8B8A8_UINT) => { nalgebra :: base :: SVector < u8 , 4usize > } ; (nalgebra , R8G8B8A8_SINT) => { nalgebra :: base :: SVector < i8 , 4usize > } ; (nalgebra , R8G8B8A8_SRGB) => { nalgebra :: base :: SVector < u8 , 4usize > } ; (nalgebra , B8G8R8A8_UNORM) => { nalgebra :: base :: SVector < u8 , 4usize > } ; (nalgebra , B8G8R8A8_SNORM) => { nalgebra :: base :: SVector < i8 , 4usize > } ; (nalgebra , B8G8R8A8_USCALED) => { nalgebra :: base :: SVector < u8 , 4usize > } ; (nalgebra , B8G8R8A8_SSCALED) => { nalgebra :: base :: SVector < i8 , 4usize > } ; (nalgebra , B8G8R8A8_UINT) => { nalgebra :: base :: SVector < u8 , 4usize > } ; (nalgebra , B8G8R8A8_SINT) => { nalgebra :: base :: SVector < i8 , 4usize > } ; (nalgebra , B8G8R8A8_SRGB) => { nalgebra :: base :: SVector < u8 , 4usize > } ; (nalgebra , A8B8G8R8_UNORM_PACK32) => { u32 } ; (nalgebra , A8B8G8R8_SNORM_PACK32) => { u32 } ; (nalgebra , A8B8G8R8_USCALED_PACK32) => { u32 } ; (nalgebra , A8B8G8R8_SSCALED_PACK32) => { u32 } ; (nalgebra , A8B8G8R8_UINT_PACK32) => { u32 } ; (nalgebra , A8B8G8R8_SINT_PACK32) => { u32 } ; (nalgebra , A8B8G8R8_SRGB_PACK32) => { u32 } ; (nalgebra , A2R10G10B10_UNORM_PACK32) => { u32 } ; (nalgebra , A2R10G10B10_SNORM_PACK32) => { u32 } ; (nalgebra , A2R10G10B10_USCALED_PACK32) => { u32 } ; (nalgebra , A2R10G10B10_SSCALED_PACK32) => { u32 } ; (nalgebra , A2R10G10B10_UINT_PACK32) => { u32 } ; (nalgebra , A2R10G10B10_SINT_PACK32) => { u32 } ; (nalgebra , A2B10G10R10_UNORM_PACK32) => { u32 } ; (nalgebra , A2B10G10R10_SNORM_PACK32) => { u32 } ; (nalgebra , A2B10G10R10_USCALED_PACK32) => { u32 } ; (nalgebra , A2B10G10R10_SSCALED_PACK32) => { u32 } ; (nalgebra , A2B10G10R10_UINT_PACK32) => { u32 } ; (nalgebra , A2B10G10R10_SINT_PACK32) => { u32 } ; (nalgebra , R16_UNORM) => { u16 } ; (nalgebra , R16_SNORM) => { i16 } ; (nalgebra , R16_USCALED) => { u16 } ; (nalgebra , R16_SSCALED) => { i16 } ; (nalgebra , R16_UINT) => { u16 } ; (nalgebra , R16_SINT) => { i16 } ; (nalgebra , R16_SFLOAT) => { f16 } ; (nalgebra , R16G16_UNORM) => { nalgebra :: base :: SVector < u16 , 2usize > } ; (nalgebra , R16G16_SNORM) => { nalgebra :: base :: SVector < i16 , 2usize > } ; (nalgebra , R16G16_USCALED) => { nalgebra :: base :: SVector < u16 , 2usize > } ; (nalgebra , R16G16_SSCALED) => { nalgebra :: base :: SVector < i16 , 2usize > } ; (nalgebra , R16G16_UINT) => { nalgebra :: base :: SVector < u16 , 2usize > } ; (nalgebra , R16G16_SINT) => { nalgebra :: base :: SVector < i16 , 2usize > } ; (nalgebra , R16G16_SFLOAT) => { nalgebra :: base :: SVector < f16 , 2usize > } ; (nalgebra , R16G16B16_UNORM) => { nalgebra :: base :: SVector < u16 , 3usize > } ; (nalgebra , R16G16B16_SNORM) => { nalgebra :: base :: SVector < i16 , 3usize > } ; (nalgebra , R16G16B16_USCALED) => { nalgebra :: base :: SVector < u16 , 3usize > } ; (nalgebra , R16G16B16_SSCALED) => { nalgebra :: base :: SVector < i16 , 3usize > } ; (nalgebra , R16G16B16_UINT) => { nalgebra :: base :: SVector < u16 , 3usize > } ; (nalgebra , R16G16B16_SINT) => { nalgebra :: base :: SVector < i16 , 3usize > } ; (nalgebra , R16G16B16_SFLOAT) => { nalgebra :: base :: SVector < f16 , 3usize > } ; (nalgebra , R16G16B16A16_UNORM) => { nalgebra :: base :: SVector < u16 , 4usize > } ; (nalgebra , R16G16B16A16_SNORM) => { nalgebra :: base :: SVector < i16 , 4usize > } ; (nalgebra , R16G16B16A16_USCALED) => { nalgebra :: base :: SVector < u16 , 4usize > } ; (nalgebra , R16G16B16A16_SSCALED) => { nalgebra :: base :: SVector < i16 , 4usize > } ; (nalgebra , R16G16B16A16_UINT) => { nalgebra :: base :: SVector < u16 , 4usize > } ; (nalgebra , R16G16B16A16_SINT) => { nalgebra :: base :: SVector < i16 , 4usize > } ; (nalgebra , R16G16B16A16_SFLOAT) => { nalgebra :: base :: SVector < f16 , 4usize > } ; (nalgebra , R32_UINT) => { u32 } ; (nalgebra , R32_SINT) => { i32 } ; (nalgebra , R32_SFLOAT) => { f32 } ; (nalgebra , R32G32_UINT) => { nalgebra :: base :: SVector < u32 , 2usize > } ; (nalgebra , R32G32_SINT) => { nalgebra :: base :: SVector < i32 , 2usize > } ; (nalgebra , R32G32_SFLOAT) => { nalgebra :: base :: SVector < f32 , 2usize > } ; (nalgebra , R32G32B32_UINT) => { nalgebra :: base :: SVector < u32 , 3usize > } ; (nalgebra , R32G32B32_SINT) => { nalgebra :: base :: SVector < i32 , 3usize > } ; (nalgebra , R32G32B32_SFLOAT) => { nalgebra :: base :: SVector < f32 , 3usize > } ; (nalgebra , R32G32B32A32_UINT) => { nalgebra :: base :: SVector < u32 , 4usize > } ; (nalgebra , R32G32B32A32_SINT) => { nalgebra :: base :: SVector < i32 , 4usize > } ; (nalgebra , R32G32B32A32_SFLOAT) => { nalgebra :: base :: SVector < f32 , 4usize > } ; (nalgebra , R64_UINT) => { u64 } ; (nalgebra , R64_SINT) => { i64 } ; (nalgebra , R64_SFLOAT) => { f64 } ; (nalgebra , R64G64_UINT) => { nalgebra :: base :: SVector < u64 , 2usize > } ; (nalgebra , R64G64_SINT) => { nalgebra :: base :: SVector < i64 , 2usize > } ; (nalgebra , R64G64_SFLOAT) => { nalgebra :: base :: SVector < f64 , 2usize > } ; (nalgebra , R64G64B64_UINT) => { nalgebra :: base :: SVector < u64 , 3usize > } ; (nalgebra , R64G64B64_SINT) => { nalgebra :: base :: SVector < i64 , 3usize > } ; (nalgebra , R64G64B64_SFLOAT) => { nalgebra :: base :: SVector < f64 , 3usize > } ; (nalgebra , R64G64B64A64_UINT) => { nalgebra :: base :: SVector < u64 , 4usize > } ; (nalgebra , R64G64B64A64_SINT) => { nalgebra :: base :: SVector < i64 , 4usize > } ; (nalgebra , R64G64B64A64_SFLOAT) => { nalgebra :: base :: SVector < f64 , 4usize > } ; (nalgebra , B10G11R11_UFLOAT_PACK32) => { u32 } ; (nalgebra , E5B9G9R9_UFLOAT_PACK32) => { u32 } ; (nalgebra , BC1_RGB_UNORM_BLOCK) => { [u8 ; 8] } ; (nalgebra , BC1_RGB_SRGB_BLOCK) => { [u8 ; 8] } ; (nalgebra , BC1_RGBA_UNORM_BLOCK) => { [u8 ; 8] } ; (nalgebra , BC1_RGBA_SRGB_BLOCK) => { [u8 ; 8] } ; (nalgebra , BC2_UNORM_BLOCK) => { [u8 ; 16] } ; (nalgebra , BC2_SRGB_BLOCK) => { [u8 ; 16] } ; (nalgebra , BC3_UNORM_BLOCK) => { [u8 ; 16] } ; (nalgebra , BC3_SRGB_BLOCK) => { [u8 ; 16] } ; (nalgebra , BC4_UNORM_BLOCK) => { [u8 ; 8] } ; (nalgebra , BC4_SNORM_BLOCK) => { [u8 ; 8] } ; (nalgebra , BC5_UNORM_BLOCK) => { [u8 ; 16] } ; (nalgebra , BC5_SNORM_BLOCK) => { [u8 ; 16] } ; (nalgebra , BC6H_UFLOAT_BLOCK) => { [u8 ; 16] } ; (nalgebra , BC6H_SFLOAT_BLOCK) => { [u8 ; 16] } ; (nalgebra , BC7_UNORM_BLOCK) => { [u8 ; 16] } ; (nalgebra , BC7_SRGB_BLOCK) => { [u8 ; 16] } ; (nalgebra , ETC2_R8G8B8_UNORM_BLOCK) => { [u8 ; 8] } ; (nalgebra , ETC2_R8G8B8_SRGB_BLOCK) => { [u8 ; 8] } ; (nalgebra , ETC2_R8G8B8A1_UNORM_BLOCK) => { [u8 ; 8] } ; (nalgebra , ETC2_R8G8B8A1_SRGB_BLOCK) => { [u8 ; 8] } ; (nalgebra , ETC2_R8G8B8A8_UNORM_BLOCK) => { [u8 ; 16] } ; (nalgebra , ETC2_R8G8B8A8_SRGB_BLOCK) => { [u8 ; 16] } ; (nalgebra , EAC_R11_UNORM_BLOCK) => { [u8 ; 8] } ; (nalgebra , EAC_R11_SNORM_BLOCK) => { [u8 ; 8] } ; (nalgebra , EAC_R11G11_UNORM_BLOCK) => { [u8 ; 16] } ; (nalgebra , EAC_R11G11_SNORM_BLOCK) => { [u8 ; 16] } ; (nalgebra , ASTC_4x4_UNORM_BLOCK) => { [u8 ; 16] } ; (nalgebra , ASTC_4x4_SRGB_BLOCK) => { [u8 ; 16] } ; (nalgebra , ASTC_5x4_UNORM_BLOCK) => { [u8 ; 16] } ; (nalgebra , ASTC_5x4_SRGB_BLOCK) => { [u8 ; 16] } ; (nalgebra , ASTC_5x5_UNORM_BLOCK) => { [u8 ; 16] } ; (nalgebra , ASTC_5x5_SRGB_BLOCK) => { [u8 ; 16] } ; (nalgebra , ASTC_6x5_UNORM_BLOCK) => { [u8 ; 16] } ; (nalgebra , ASTC_6x5_SRGB_BLOCK) => { [u8 ; 16] } ; (nalgebra , ASTC_6x6_UNORM_BLOCK) => { [u8 ; 16] } ; (nalgebra , ASTC_6x6_SRGB_BLOCK) => { [u8 ; 16] } ; (nalgebra , ASTC_8x5_UNORM_BLOCK) => { [u8 ; 16] } ; (nalgebra , ASTC_8x5_SRGB_BLOCK) => { [u8 ; 16] } ; (nalgebra , ASTC_8x6_UNORM_BLOCK) => { [u8 ; 16] } ; (nalgebra , ASTC_8x6_SRGB_BLOCK) => { [u8 ; 16] } ; (nalgebra , ASTC_8x8_UNORM_BLOCK) => { [u8 ; 16] } ; (nalgebra , ASTC_8x8_SRGB_BLOCK) => { [u8 ; 16] } ; (nalgebra , ASTC_10x5_UNORM_BLOCK) => { [u8 ; 16] } ; (nalgebra , ASTC_10x5_SRGB_BLOCK) => { [u8 ; 16] } ; (nalgebra , ASTC_10x6_UNORM_BLOCK) => { [u8 ; 16] } ; (nalgebra , ASTC_10x6_SRGB_BLOCK) => { [u8 ; 16] } ; (nalgebra , ASTC_10x8_UNORM_BLOCK) => { [u8 ; 16] } ; (nalgebra , ASTC_10x8_SRGB_BLOCK) => { [u8 ; 16] } ; (nalgebra , ASTC_10x10_UNORM_BLOCK) => { [u8 ; 16] } ; (nalgebra , ASTC_10x10_SRGB_BLOCK) => { [u8 ; 16] } ; (nalgebra , ASTC_12x10_UNORM_BLOCK) => { [u8 ; 16] } ; (nalgebra , ASTC_12x10_SRGB_BLOCK) => { [u8 ; 16] } ; (nalgebra , ASTC_12x12_UNORM_BLOCK) => { [u8 ; 16] } ; (nalgebra , ASTC_12x12_SRGB_BLOCK) => { [u8 ; 16] } ; (nalgebra , G8B8G8R8_422_UNORM) => { nalgebra :: base :: SVector < u8 , 4usize > } ; (nalgebra , B8G8R8G8_422_UNORM) => { nalgebra :: base :: SVector < u8 , 4usize > } ; (nalgebra , R10X6_UNORM_PACK16) => { u16 } ; (nalgebra , R10X6G10X6_UNORM_2PACK16) => { [u16 ; 2] } ; (nalgebra , R10X6G10X6B10X6A10X6_UNORM_4PACK16) => { [u16 ; 4] } ; (nalgebra , G10X6B10X6G10X6R10X6_422_UNORM_4PACK16) => { [u16 ; 4] } ; (nalgebra , B10X6G10X6R10X6G10X6_422_UNORM_4PACK16) => { [u16 ; 4] } ; (nalgebra , R12X4_UNORM_PACK16) => { u16 } ; (nalgebra , R12X4G12X4_UNORM_2PACK16) => { [u16 ; 2] } ; (nalgebra , R12X4G12X4B12X4A12X4_UNORM_4PACK16) => { [u16 ; 4] } ; (nalgebra , G12X4B12X4G12X4R12X4_422_UNORM_4PACK16) => { [u16 ; 4] } ; (nalgebra , B12X4G12X4R12X4G12X4_422_UNORM_4PACK16) => { [u16 ; 4] } ; (nalgebra , G16B16G16R16_422_UNORM) => { nalgebra :: base :: SVector < u16 , 4usize > } ; (nalgebra , B16G16R16G16_422_UNORM) => { nalgebra :: base :: SVector < u16 , 4usize > } ; (nalgebra , PVRTC1_2BPP_UNORM_BLOCK) => { [u8 ; 8] } ; (nalgebra , PVRTC1_4BPP_UNORM_BLOCK) => { [u8 ; 8] } ; (nalgebra , PVRTC2_2BPP_UNORM_BLOCK) => { [u8 ; 8] } ; (nalgebra , PVRTC2_4BPP_UNORM_BLOCK) => { [u8 ; 8] } ; (nalgebra , PVRTC1_2BPP_SRGB_BLOCK) => { [u8 ; 8] } ; (nalgebra , PVRTC1_4BPP_SRGB_BLOCK) => { [u8 ; 8] } ; (nalgebra , PVRTC2_2BPP_SRGB_BLOCK) => { [u8 ; 8] } ; (nalgebra , PVRTC2_4BPP_SRGB_BLOCK) => { [u8 ; 8] } ; (nalgebra , ASTC_4x4_SFLOAT_BLOCK) => { [u8 ; 16] } ; (nalgebra , ASTC_5x4_SFLOAT_BLOCK) => { [u8 ; 16] } ; (nalgebra , ASTC_5x5_SFLOAT_BLOCK) => { [u8 ; 16] } ; (nalgebra , ASTC_6x5_SFLOAT_BLOCK) => { [u8 ; 16] } ; (nalgebra , ASTC_6x6_SFLOAT_BLOCK) => { [u8 ; 16] } ; (nalgebra , ASTC_8x5_SFLOAT_BLOCK) => { [u8 ; 16] } ; (nalgebra , ASTC_8x6_SFLOAT_BLOCK) => { [u8 ; 16] } ; (nalgebra , ASTC_8x8_SFLOAT_BLOCK) => { [u8 ; 16] } ; (nalgebra , ASTC_10x5_SFLOAT_BLOCK) => { [u8 ; 16] } ; (nalgebra , ASTC_10x6_SFLOAT_BLOCK) => { [u8 ; 16] } ; (nalgebra , ASTC_10x8_SFLOAT_BLOCK) => { [u8 ; 16] } ; (nalgebra , ASTC_10x10_SFLOAT_BLOCK) => { [u8 ; 16] } ; (nalgebra , ASTC_12x10_SFLOAT_BLOCK) => { [u8 ; 16] } ; (nalgebra , ASTC_12x12_SFLOAT_BLOCK) => { [u8 ; 16] } ; (nalgebra , A4R4G4B4_UNORM_PACK16) => { u16 } ; (nalgebra , A4B4G4R4_UNORM_PACK16) => { u16 } ; (nalgebra , R16G16_S10_5_NV) => { nalgebra :: base :: SVector < i16 , 2usize > } ; }