1 // This file is auto-generated by vulkano autogen from vk.xml header version 1.3.238. 2 // It should not be edited manually. Changes should be made by editing autogen. 3 4 #[doc = r" An enumeration of all the possible formats."] 5 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)] 6 #[repr(i32)] 7 #[allow(non_camel_case_types)] 8 #[non_exhaustive] 9 pub enum Format { 10 R4G4_UNORM_PACK8 = ash::vk::Format::R4G4_UNORM_PACK8.as_raw(), 11 R4G4B4A4_UNORM_PACK16 = ash::vk::Format::R4G4B4A4_UNORM_PACK16.as_raw(), 12 B4G4R4A4_UNORM_PACK16 = ash::vk::Format::B4G4R4A4_UNORM_PACK16.as_raw(), 13 R5G6B5_UNORM_PACK16 = ash::vk::Format::R5G6B5_UNORM_PACK16.as_raw(), 14 B5G6R5_UNORM_PACK16 = ash::vk::Format::B5G6R5_UNORM_PACK16.as_raw(), 15 R5G5B5A1_UNORM_PACK16 = ash::vk::Format::R5G5B5A1_UNORM_PACK16.as_raw(), 16 B5G5R5A1_UNORM_PACK16 = ash::vk::Format::B5G5R5A1_UNORM_PACK16.as_raw(), 17 A1R5G5B5_UNORM_PACK16 = ash::vk::Format::A1R5G5B5_UNORM_PACK16.as_raw(), 18 R8_UNORM = ash::vk::Format::R8_UNORM.as_raw(), 19 R8_SNORM = ash::vk::Format::R8_SNORM.as_raw(), 20 R8_USCALED = ash::vk::Format::R8_USCALED.as_raw(), 21 R8_SSCALED = ash::vk::Format::R8_SSCALED.as_raw(), 22 R8_UINT = ash::vk::Format::R8_UINT.as_raw(), 23 R8_SINT = ash::vk::Format::R8_SINT.as_raw(), 24 R8_SRGB = ash::vk::Format::R8_SRGB.as_raw(), 25 R8G8_UNORM = ash::vk::Format::R8G8_UNORM.as_raw(), 26 R8G8_SNORM = ash::vk::Format::R8G8_SNORM.as_raw(), 27 R8G8_USCALED = ash::vk::Format::R8G8_USCALED.as_raw(), 28 R8G8_SSCALED = ash::vk::Format::R8G8_SSCALED.as_raw(), 29 R8G8_UINT = ash::vk::Format::R8G8_UINT.as_raw(), 30 R8G8_SINT = ash::vk::Format::R8G8_SINT.as_raw(), 31 R8G8_SRGB = ash::vk::Format::R8G8_SRGB.as_raw(), 32 R8G8B8_UNORM = ash::vk::Format::R8G8B8_UNORM.as_raw(), 33 R8G8B8_SNORM = ash::vk::Format::R8G8B8_SNORM.as_raw(), 34 R8G8B8_USCALED = ash::vk::Format::R8G8B8_USCALED.as_raw(), 35 R8G8B8_SSCALED = ash::vk::Format::R8G8B8_SSCALED.as_raw(), 36 R8G8B8_UINT = ash::vk::Format::R8G8B8_UINT.as_raw(), 37 R8G8B8_SINT = ash::vk::Format::R8G8B8_SINT.as_raw(), 38 R8G8B8_SRGB = ash::vk::Format::R8G8B8_SRGB.as_raw(), 39 B8G8R8_UNORM = ash::vk::Format::B8G8R8_UNORM.as_raw(), 40 B8G8R8_SNORM = ash::vk::Format::B8G8R8_SNORM.as_raw(), 41 B8G8R8_USCALED = ash::vk::Format::B8G8R8_USCALED.as_raw(), 42 B8G8R8_SSCALED = ash::vk::Format::B8G8R8_SSCALED.as_raw(), 43 B8G8R8_UINT = ash::vk::Format::B8G8R8_UINT.as_raw(), 44 B8G8R8_SINT = ash::vk::Format::B8G8R8_SINT.as_raw(), 45 B8G8R8_SRGB = ash::vk::Format::B8G8R8_SRGB.as_raw(), 46 R8G8B8A8_UNORM = ash::vk::Format::R8G8B8A8_UNORM.as_raw(), 47 R8G8B8A8_SNORM = ash::vk::Format::R8G8B8A8_SNORM.as_raw(), 48 R8G8B8A8_USCALED = ash::vk::Format::R8G8B8A8_USCALED.as_raw(), 49 R8G8B8A8_SSCALED = ash::vk::Format::R8G8B8A8_SSCALED.as_raw(), 50 R8G8B8A8_UINT = ash::vk::Format::R8G8B8A8_UINT.as_raw(), 51 R8G8B8A8_SINT = ash::vk::Format::R8G8B8A8_SINT.as_raw(), 52 R8G8B8A8_SRGB = ash::vk::Format::R8G8B8A8_SRGB.as_raw(), 53 B8G8R8A8_UNORM = ash::vk::Format::B8G8R8A8_UNORM.as_raw(), 54 B8G8R8A8_SNORM = ash::vk::Format::B8G8R8A8_SNORM.as_raw(), 55 B8G8R8A8_USCALED = ash::vk::Format::B8G8R8A8_USCALED.as_raw(), 56 B8G8R8A8_SSCALED = ash::vk::Format::B8G8R8A8_SSCALED.as_raw(), 57 B8G8R8A8_UINT = ash::vk::Format::B8G8R8A8_UINT.as_raw(), 58 B8G8R8A8_SINT = ash::vk::Format::B8G8R8A8_SINT.as_raw(), 59 B8G8R8A8_SRGB = ash::vk::Format::B8G8R8A8_SRGB.as_raw(), 60 A8B8G8R8_UNORM_PACK32 = ash::vk::Format::A8B8G8R8_UNORM_PACK32.as_raw(), 61 A8B8G8R8_SNORM_PACK32 = ash::vk::Format::A8B8G8R8_SNORM_PACK32.as_raw(), 62 A8B8G8R8_USCALED_PACK32 = ash::vk::Format::A8B8G8R8_USCALED_PACK32.as_raw(), 63 A8B8G8R8_SSCALED_PACK32 = ash::vk::Format::A8B8G8R8_SSCALED_PACK32.as_raw(), 64 A8B8G8R8_UINT_PACK32 = ash::vk::Format::A8B8G8R8_UINT_PACK32.as_raw(), 65 A8B8G8R8_SINT_PACK32 = ash::vk::Format::A8B8G8R8_SINT_PACK32.as_raw(), 66 A8B8G8R8_SRGB_PACK32 = ash::vk::Format::A8B8G8R8_SRGB_PACK32.as_raw(), 67 A2R10G10B10_UNORM_PACK32 = ash::vk::Format::A2R10G10B10_UNORM_PACK32.as_raw(), 68 A2R10G10B10_SNORM_PACK32 = ash::vk::Format::A2R10G10B10_SNORM_PACK32.as_raw(), 69 A2R10G10B10_USCALED_PACK32 = ash::vk::Format::A2R10G10B10_USCALED_PACK32.as_raw(), 70 A2R10G10B10_SSCALED_PACK32 = ash::vk::Format::A2R10G10B10_SSCALED_PACK32.as_raw(), 71 A2R10G10B10_UINT_PACK32 = ash::vk::Format::A2R10G10B10_UINT_PACK32.as_raw(), 72 A2R10G10B10_SINT_PACK32 = ash::vk::Format::A2R10G10B10_SINT_PACK32.as_raw(), 73 A2B10G10R10_UNORM_PACK32 = ash::vk::Format::A2B10G10R10_UNORM_PACK32.as_raw(), 74 A2B10G10R10_SNORM_PACK32 = ash::vk::Format::A2B10G10R10_SNORM_PACK32.as_raw(), 75 A2B10G10R10_USCALED_PACK32 = ash::vk::Format::A2B10G10R10_USCALED_PACK32.as_raw(), 76 A2B10G10R10_SSCALED_PACK32 = ash::vk::Format::A2B10G10R10_SSCALED_PACK32.as_raw(), 77 A2B10G10R10_UINT_PACK32 = ash::vk::Format::A2B10G10R10_UINT_PACK32.as_raw(), 78 A2B10G10R10_SINT_PACK32 = ash::vk::Format::A2B10G10R10_SINT_PACK32.as_raw(), 79 R16_UNORM = ash::vk::Format::R16_UNORM.as_raw(), 80 R16_SNORM = ash::vk::Format::R16_SNORM.as_raw(), 81 R16_USCALED = ash::vk::Format::R16_USCALED.as_raw(), 82 R16_SSCALED = ash::vk::Format::R16_SSCALED.as_raw(), 83 R16_UINT = ash::vk::Format::R16_UINT.as_raw(), 84 R16_SINT = ash::vk::Format::R16_SINT.as_raw(), 85 R16_SFLOAT = ash::vk::Format::R16_SFLOAT.as_raw(), 86 R16G16_UNORM = ash::vk::Format::R16G16_UNORM.as_raw(), 87 R16G16_SNORM = ash::vk::Format::R16G16_SNORM.as_raw(), 88 R16G16_USCALED = ash::vk::Format::R16G16_USCALED.as_raw(), 89 R16G16_SSCALED = ash::vk::Format::R16G16_SSCALED.as_raw(), 90 R16G16_UINT = ash::vk::Format::R16G16_UINT.as_raw(), 91 R16G16_SINT = ash::vk::Format::R16G16_SINT.as_raw(), 92 R16G16_SFLOAT = ash::vk::Format::R16G16_SFLOAT.as_raw(), 93 R16G16B16_UNORM = ash::vk::Format::R16G16B16_UNORM.as_raw(), 94 R16G16B16_SNORM = ash::vk::Format::R16G16B16_SNORM.as_raw(), 95 R16G16B16_USCALED = ash::vk::Format::R16G16B16_USCALED.as_raw(), 96 R16G16B16_SSCALED = ash::vk::Format::R16G16B16_SSCALED.as_raw(), 97 R16G16B16_UINT = ash::vk::Format::R16G16B16_UINT.as_raw(), 98 R16G16B16_SINT = ash::vk::Format::R16G16B16_SINT.as_raw(), 99 R16G16B16_SFLOAT = ash::vk::Format::R16G16B16_SFLOAT.as_raw(), 100 R16G16B16A16_UNORM = ash::vk::Format::R16G16B16A16_UNORM.as_raw(), 101 R16G16B16A16_SNORM = ash::vk::Format::R16G16B16A16_SNORM.as_raw(), 102 R16G16B16A16_USCALED = ash::vk::Format::R16G16B16A16_USCALED.as_raw(), 103 R16G16B16A16_SSCALED = ash::vk::Format::R16G16B16A16_SSCALED.as_raw(), 104 R16G16B16A16_UINT = ash::vk::Format::R16G16B16A16_UINT.as_raw(), 105 R16G16B16A16_SINT = ash::vk::Format::R16G16B16A16_SINT.as_raw(), 106 R16G16B16A16_SFLOAT = ash::vk::Format::R16G16B16A16_SFLOAT.as_raw(), 107 R32_UINT = ash::vk::Format::R32_UINT.as_raw(), 108 R32_SINT = ash::vk::Format::R32_SINT.as_raw(), 109 R32_SFLOAT = ash::vk::Format::R32_SFLOAT.as_raw(), 110 R32G32_UINT = ash::vk::Format::R32G32_UINT.as_raw(), 111 R32G32_SINT = ash::vk::Format::R32G32_SINT.as_raw(), 112 R32G32_SFLOAT = ash::vk::Format::R32G32_SFLOAT.as_raw(), 113 R32G32B32_UINT = ash::vk::Format::R32G32B32_UINT.as_raw(), 114 R32G32B32_SINT = ash::vk::Format::R32G32B32_SINT.as_raw(), 115 R32G32B32_SFLOAT = ash::vk::Format::R32G32B32_SFLOAT.as_raw(), 116 R32G32B32A32_UINT = ash::vk::Format::R32G32B32A32_UINT.as_raw(), 117 R32G32B32A32_SINT = ash::vk::Format::R32G32B32A32_SINT.as_raw(), 118 R32G32B32A32_SFLOAT = ash::vk::Format::R32G32B32A32_SFLOAT.as_raw(), 119 R64_UINT = ash::vk::Format::R64_UINT.as_raw(), 120 R64_SINT = ash::vk::Format::R64_SINT.as_raw(), 121 R64_SFLOAT = ash::vk::Format::R64_SFLOAT.as_raw(), 122 R64G64_UINT = ash::vk::Format::R64G64_UINT.as_raw(), 123 R64G64_SINT = ash::vk::Format::R64G64_SINT.as_raw(), 124 R64G64_SFLOAT = ash::vk::Format::R64G64_SFLOAT.as_raw(), 125 R64G64B64_UINT = ash::vk::Format::R64G64B64_UINT.as_raw(), 126 R64G64B64_SINT = ash::vk::Format::R64G64B64_SINT.as_raw(), 127 R64G64B64_SFLOAT = ash::vk::Format::R64G64B64_SFLOAT.as_raw(), 128 R64G64B64A64_UINT = ash::vk::Format::R64G64B64A64_UINT.as_raw(), 129 R64G64B64A64_SINT = ash::vk::Format::R64G64B64A64_SINT.as_raw(), 130 R64G64B64A64_SFLOAT = ash::vk::Format::R64G64B64A64_SFLOAT.as_raw(), 131 B10G11R11_UFLOAT_PACK32 = ash::vk::Format::B10G11R11_UFLOAT_PACK32.as_raw(), 132 E5B9G9R9_UFLOAT_PACK32 = ash::vk::Format::E5B9G9R9_UFLOAT_PACK32.as_raw(), 133 D16_UNORM = ash::vk::Format::D16_UNORM.as_raw(), 134 X8_D24_UNORM_PACK32 = ash::vk::Format::X8_D24_UNORM_PACK32.as_raw(), 135 D32_SFLOAT = ash::vk::Format::D32_SFLOAT.as_raw(), 136 S8_UINT = ash::vk::Format::S8_UINT.as_raw(), 137 D16_UNORM_S8_UINT = ash::vk::Format::D16_UNORM_S8_UINT.as_raw(), 138 D24_UNORM_S8_UINT = ash::vk::Format::D24_UNORM_S8_UINT.as_raw(), 139 D32_SFLOAT_S8_UINT = ash::vk::Format::D32_SFLOAT_S8_UINT.as_raw(), 140 BC1_RGB_UNORM_BLOCK = ash::vk::Format::BC1_RGB_UNORM_BLOCK.as_raw(), 141 BC1_RGB_SRGB_BLOCK = ash::vk::Format::BC1_RGB_SRGB_BLOCK.as_raw(), 142 BC1_RGBA_UNORM_BLOCK = ash::vk::Format::BC1_RGBA_UNORM_BLOCK.as_raw(), 143 BC1_RGBA_SRGB_BLOCK = ash::vk::Format::BC1_RGBA_SRGB_BLOCK.as_raw(), 144 BC2_UNORM_BLOCK = ash::vk::Format::BC2_UNORM_BLOCK.as_raw(), 145 BC2_SRGB_BLOCK = ash::vk::Format::BC2_SRGB_BLOCK.as_raw(), 146 BC3_UNORM_BLOCK = ash::vk::Format::BC3_UNORM_BLOCK.as_raw(), 147 BC3_SRGB_BLOCK = ash::vk::Format::BC3_SRGB_BLOCK.as_raw(), 148 BC4_UNORM_BLOCK = ash::vk::Format::BC4_UNORM_BLOCK.as_raw(), 149 BC4_SNORM_BLOCK = ash::vk::Format::BC4_SNORM_BLOCK.as_raw(), 150 BC5_UNORM_BLOCK = ash::vk::Format::BC5_UNORM_BLOCK.as_raw(), 151 BC5_SNORM_BLOCK = ash::vk::Format::BC5_SNORM_BLOCK.as_raw(), 152 BC6H_UFLOAT_BLOCK = ash::vk::Format::BC6H_UFLOAT_BLOCK.as_raw(), 153 BC6H_SFLOAT_BLOCK = ash::vk::Format::BC6H_SFLOAT_BLOCK.as_raw(), 154 BC7_UNORM_BLOCK = ash::vk::Format::BC7_UNORM_BLOCK.as_raw(), 155 BC7_SRGB_BLOCK = ash::vk::Format::BC7_SRGB_BLOCK.as_raw(), 156 ETC2_R8G8B8_UNORM_BLOCK = ash::vk::Format::ETC2_R8G8B8_UNORM_BLOCK.as_raw(), 157 ETC2_R8G8B8_SRGB_BLOCK = ash::vk::Format::ETC2_R8G8B8_SRGB_BLOCK.as_raw(), 158 ETC2_R8G8B8A1_UNORM_BLOCK = ash::vk::Format::ETC2_R8G8B8A1_UNORM_BLOCK.as_raw(), 159 ETC2_R8G8B8A1_SRGB_BLOCK = ash::vk::Format::ETC2_R8G8B8A1_SRGB_BLOCK.as_raw(), 160 ETC2_R8G8B8A8_UNORM_BLOCK = ash::vk::Format::ETC2_R8G8B8A8_UNORM_BLOCK.as_raw(), 161 ETC2_R8G8B8A8_SRGB_BLOCK = ash::vk::Format::ETC2_R8G8B8A8_SRGB_BLOCK.as_raw(), 162 EAC_R11_UNORM_BLOCK = ash::vk::Format::EAC_R11_UNORM_BLOCK.as_raw(), 163 EAC_R11_SNORM_BLOCK = ash::vk::Format::EAC_R11_SNORM_BLOCK.as_raw(), 164 EAC_R11G11_UNORM_BLOCK = ash::vk::Format::EAC_R11G11_UNORM_BLOCK.as_raw(), 165 EAC_R11G11_SNORM_BLOCK = ash::vk::Format::EAC_R11G11_SNORM_BLOCK.as_raw(), 166 ASTC_4x4_UNORM_BLOCK = ash::vk::Format::ASTC_4X4_UNORM_BLOCK.as_raw(), 167 ASTC_4x4_SRGB_BLOCK = ash::vk::Format::ASTC_4X4_SRGB_BLOCK.as_raw(), 168 ASTC_5x4_UNORM_BLOCK = ash::vk::Format::ASTC_5X4_UNORM_BLOCK.as_raw(), 169 ASTC_5x4_SRGB_BLOCK = ash::vk::Format::ASTC_5X4_SRGB_BLOCK.as_raw(), 170 ASTC_5x5_UNORM_BLOCK = ash::vk::Format::ASTC_5X5_UNORM_BLOCK.as_raw(), 171 ASTC_5x5_SRGB_BLOCK = ash::vk::Format::ASTC_5X5_SRGB_BLOCK.as_raw(), 172 ASTC_6x5_UNORM_BLOCK = ash::vk::Format::ASTC_6X5_UNORM_BLOCK.as_raw(), 173 ASTC_6x5_SRGB_BLOCK = ash::vk::Format::ASTC_6X5_SRGB_BLOCK.as_raw(), 174 ASTC_6x6_UNORM_BLOCK = ash::vk::Format::ASTC_6X6_UNORM_BLOCK.as_raw(), 175 ASTC_6x6_SRGB_BLOCK = ash::vk::Format::ASTC_6X6_SRGB_BLOCK.as_raw(), 176 ASTC_8x5_UNORM_BLOCK = ash::vk::Format::ASTC_8X5_UNORM_BLOCK.as_raw(), 177 ASTC_8x5_SRGB_BLOCK = ash::vk::Format::ASTC_8X5_SRGB_BLOCK.as_raw(), 178 ASTC_8x6_UNORM_BLOCK = ash::vk::Format::ASTC_8X6_UNORM_BLOCK.as_raw(), 179 ASTC_8x6_SRGB_BLOCK = ash::vk::Format::ASTC_8X6_SRGB_BLOCK.as_raw(), 180 ASTC_8x8_UNORM_BLOCK = ash::vk::Format::ASTC_8X8_UNORM_BLOCK.as_raw(), 181 ASTC_8x8_SRGB_BLOCK = ash::vk::Format::ASTC_8X8_SRGB_BLOCK.as_raw(), 182 ASTC_10x5_UNORM_BLOCK = ash::vk::Format::ASTC_10X5_UNORM_BLOCK.as_raw(), 183 ASTC_10x5_SRGB_BLOCK = ash::vk::Format::ASTC_10X5_SRGB_BLOCK.as_raw(), 184 ASTC_10x6_UNORM_BLOCK = ash::vk::Format::ASTC_10X6_UNORM_BLOCK.as_raw(), 185 ASTC_10x6_SRGB_BLOCK = ash::vk::Format::ASTC_10X6_SRGB_BLOCK.as_raw(), 186 ASTC_10x8_UNORM_BLOCK = ash::vk::Format::ASTC_10X8_UNORM_BLOCK.as_raw(), 187 ASTC_10x8_SRGB_BLOCK = ash::vk::Format::ASTC_10X8_SRGB_BLOCK.as_raw(), 188 ASTC_10x10_UNORM_BLOCK = ash::vk::Format::ASTC_10X10_UNORM_BLOCK.as_raw(), 189 ASTC_10x10_SRGB_BLOCK = ash::vk::Format::ASTC_10X10_SRGB_BLOCK.as_raw(), 190 ASTC_12x10_UNORM_BLOCK = ash::vk::Format::ASTC_12X10_UNORM_BLOCK.as_raw(), 191 ASTC_12x10_SRGB_BLOCK = ash::vk::Format::ASTC_12X10_SRGB_BLOCK.as_raw(), 192 ASTC_12x12_UNORM_BLOCK = ash::vk::Format::ASTC_12X12_UNORM_BLOCK.as_raw(), 193 ASTC_12x12_SRGB_BLOCK = ash::vk::Format::ASTC_12X12_SRGB_BLOCK.as_raw(), 194 G8B8G8R8_422_UNORM = ash::vk::Format::G8B8G8R8_422_UNORM.as_raw(), 195 B8G8R8G8_422_UNORM = ash::vk::Format::B8G8R8G8_422_UNORM.as_raw(), 196 G8_B8_R8_3PLANE_420_UNORM = ash::vk::Format::G8_B8_R8_3PLANE_420_UNORM.as_raw(), 197 G8_B8R8_2PLANE_420_UNORM = ash::vk::Format::G8_B8R8_2PLANE_420_UNORM.as_raw(), 198 G8_B8_R8_3PLANE_422_UNORM = ash::vk::Format::G8_B8_R8_3PLANE_422_UNORM.as_raw(), 199 G8_B8R8_2PLANE_422_UNORM = ash::vk::Format::G8_B8R8_2PLANE_422_UNORM.as_raw(), 200 G8_B8_R8_3PLANE_444_UNORM = ash::vk::Format::G8_B8_R8_3PLANE_444_UNORM.as_raw(), 201 R10X6_UNORM_PACK16 = ash::vk::Format::R10X6_UNORM_PACK16.as_raw(), 202 R10X6G10X6_UNORM_2PACK16 = ash::vk::Format::R10X6G10X6_UNORM_2PACK16.as_raw(), 203 R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 204 ash::vk::Format::R10X6G10X6B10X6A10X6_UNORM_4PACK16.as_raw(), 205 G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 206 ash::vk::Format::G10X6B10X6G10X6R10X6_422_UNORM_4PACK16.as_raw(), 207 B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 208 ash::vk::Format::B10X6G10X6R10X6G10X6_422_UNORM_4PACK16.as_raw(), 209 G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 210 ash::vk::Format::G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16.as_raw(), 211 G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 212 ash::vk::Format::G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16.as_raw(), 213 G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 214 ash::vk::Format::G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16.as_raw(), 215 G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 216 ash::vk::Format::G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16.as_raw(), 217 G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 218 ash::vk::Format::G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16.as_raw(), 219 R12X4_UNORM_PACK16 = ash::vk::Format::R12X4_UNORM_PACK16.as_raw(), 220 R12X4G12X4_UNORM_2PACK16 = ash::vk::Format::R12X4G12X4_UNORM_2PACK16.as_raw(), 221 R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 222 ash::vk::Format::R12X4G12X4B12X4A12X4_UNORM_4PACK16.as_raw(), 223 G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 224 ash::vk::Format::G12X4B12X4G12X4R12X4_422_UNORM_4PACK16.as_raw(), 225 B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 226 ash::vk::Format::B12X4G12X4R12X4G12X4_422_UNORM_4PACK16.as_raw(), 227 G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 228 ash::vk::Format::G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16.as_raw(), 229 G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 230 ash::vk::Format::G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16.as_raw(), 231 G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 232 ash::vk::Format::G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16.as_raw(), 233 G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 234 ash::vk::Format::G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16.as_raw(), 235 G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 236 ash::vk::Format::G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16.as_raw(), 237 G16B16G16R16_422_UNORM = ash::vk::Format::G16B16G16R16_422_UNORM.as_raw(), 238 B16G16R16G16_422_UNORM = ash::vk::Format::B16G16R16G16_422_UNORM.as_raw(), 239 G16_B16_R16_3PLANE_420_UNORM = ash::vk::Format::G16_B16_R16_3PLANE_420_UNORM.as_raw(), 240 G16_B16R16_2PLANE_420_UNORM = ash::vk::Format::G16_B16R16_2PLANE_420_UNORM.as_raw(), 241 G16_B16_R16_3PLANE_422_UNORM = ash::vk::Format::G16_B16_R16_3PLANE_422_UNORM.as_raw(), 242 G16_B16R16_2PLANE_422_UNORM = ash::vk::Format::G16_B16R16_2PLANE_422_UNORM.as_raw(), 243 G16_B16_R16_3PLANE_444_UNORM = ash::vk::Format::G16_B16_R16_3PLANE_444_UNORM.as_raw(), 244 PVRTC1_2BPP_UNORM_BLOCK = ash::vk::Format::PVRTC1_2BPP_UNORM_BLOCK_IMG.as_raw(), 245 PVRTC1_4BPP_UNORM_BLOCK = ash::vk::Format::PVRTC1_4BPP_UNORM_BLOCK_IMG.as_raw(), 246 PVRTC2_2BPP_UNORM_BLOCK = ash::vk::Format::PVRTC2_2BPP_UNORM_BLOCK_IMG.as_raw(), 247 PVRTC2_4BPP_UNORM_BLOCK = ash::vk::Format::PVRTC2_4BPP_UNORM_BLOCK_IMG.as_raw(), 248 PVRTC1_2BPP_SRGB_BLOCK = ash::vk::Format::PVRTC1_2BPP_SRGB_BLOCK_IMG.as_raw(), 249 PVRTC1_4BPP_SRGB_BLOCK = ash::vk::Format::PVRTC1_4BPP_SRGB_BLOCK_IMG.as_raw(), 250 PVRTC2_2BPP_SRGB_BLOCK = ash::vk::Format::PVRTC2_2BPP_SRGB_BLOCK_IMG.as_raw(), 251 PVRTC2_4BPP_SRGB_BLOCK = ash::vk::Format::PVRTC2_4BPP_SRGB_BLOCK_IMG.as_raw(), 252 ASTC_4x4_SFLOAT_BLOCK = ash::vk::Format::ASTC_4X4_SFLOAT_BLOCK.as_raw(), 253 ASTC_5x4_SFLOAT_BLOCK = ash::vk::Format::ASTC_5X4_SFLOAT_BLOCK.as_raw(), 254 ASTC_5x5_SFLOAT_BLOCK = ash::vk::Format::ASTC_5X5_SFLOAT_BLOCK.as_raw(), 255 ASTC_6x5_SFLOAT_BLOCK = ash::vk::Format::ASTC_6X5_SFLOAT_BLOCK.as_raw(), 256 ASTC_6x6_SFLOAT_BLOCK = ash::vk::Format::ASTC_6X6_SFLOAT_BLOCK.as_raw(), 257 ASTC_8x5_SFLOAT_BLOCK = ash::vk::Format::ASTC_8X5_SFLOAT_BLOCK.as_raw(), 258 ASTC_8x6_SFLOAT_BLOCK = ash::vk::Format::ASTC_8X6_SFLOAT_BLOCK.as_raw(), 259 ASTC_8x8_SFLOAT_BLOCK = ash::vk::Format::ASTC_8X8_SFLOAT_BLOCK.as_raw(), 260 ASTC_10x5_SFLOAT_BLOCK = ash::vk::Format::ASTC_10X5_SFLOAT_BLOCK.as_raw(), 261 ASTC_10x6_SFLOAT_BLOCK = ash::vk::Format::ASTC_10X6_SFLOAT_BLOCK.as_raw(), 262 ASTC_10x8_SFLOAT_BLOCK = ash::vk::Format::ASTC_10X8_SFLOAT_BLOCK.as_raw(), 263 ASTC_10x10_SFLOAT_BLOCK = ash::vk::Format::ASTC_10X10_SFLOAT_BLOCK.as_raw(), 264 ASTC_12x10_SFLOAT_BLOCK = ash::vk::Format::ASTC_12X10_SFLOAT_BLOCK.as_raw(), 265 ASTC_12x12_SFLOAT_BLOCK = ash::vk::Format::ASTC_12X12_SFLOAT_BLOCK.as_raw(), 266 G8_B8R8_2PLANE_444_UNORM = ash::vk::Format::G8_B8R8_2PLANE_444_UNORM.as_raw(), 267 G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 = 268 ash::vk::Format::G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16.as_raw(), 269 G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 = 270 ash::vk::Format::G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16.as_raw(), 271 G16_B16R16_2PLANE_444_UNORM = ash::vk::Format::G16_B16R16_2PLANE_444_UNORM.as_raw(), 272 A4R4G4B4_UNORM_PACK16 = ash::vk::Format::A4R4G4B4_UNORM_PACK16.as_raw(), 273 A4B4G4R4_UNORM_PACK16 = ash::vk::Format::A4B4G4R4_UNORM_PACK16.as_raw(), 274 R16G16_S10_5_NV = ash::vk::Format::R16G16_S10_5_NV.as_raw(), 275 } 276 impl Format { 277 #[doc = r" Returns the aspects that images of this format have."] aspects(self) -> ImageAspects278 pub fn aspects(self) -> ImageAspects { 279 match self { 280 Self::R4G4_UNORM_PACK8 => crate::image::ImageAspects::COLOR, 281 Self::R4G4B4A4_UNORM_PACK16 => crate::image::ImageAspects::COLOR, 282 Self::B4G4R4A4_UNORM_PACK16 => crate::image::ImageAspects::COLOR, 283 Self::R5G6B5_UNORM_PACK16 => crate::image::ImageAspects::COLOR, 284 Self::B5G6R5_UNORM_PACK16 => crate::image::ImageAspects::COLOR, 285 Self::R5G5B5A1_UNORM_PACK16 => crate::image::ImageAspects::COLOR, 286 Self::B5G5R5A1_UNORM_PACK16 => crate::image::ImageAspects::COLOR, 287 Self::A1R5G5B5_UNORM_PACK16 => crate::image::ImageAspects::COLOR, 288 Self::R8_UNORM => crate::image::ImageAspects::COLOR, 289 Self::R8_SNORM => crate::image::ImageAspects::COLOR, 290 Self::R8_USCALED => crate::image::ImageAspects::COLOR, 291 Self::R8_SSCALED => crate::image::ImageAspects::COLOR, 292 Self::R8_UINT => crate::image::ImageAspects::COLOR, 293 Self::R8_SINT => crate::image::ImageAspects::COLOR, 294 Self::R8_SRGB => crate::image::ImageAspects::COLOR, 295 Self::R8G8_UNORM => crate::image::ImageAspects::COLOR, 296 Self::R8G8_SNORM => crate::image::ImageAspects::COLOR, 297 Self::R8G8_USCALED => crate::image::ImageAspects::COLOR, 298 Self::R8G8_SSCALED => crate::image::ImageAspects::COLOR, 299 Self::R8G8_UINT => crate::image::ImageAspects::COLOR, 300 Self::R8G8_SINT => crate::image::ImageAspects::COLOR, 301 Self::R8G8_SRGB => crate::image::ImageAspects::COLOR, 302 Self::R8G8B8_UNORM => crate::image::ImageAspects::COLOR, 303 Self::R8G8B8_SNORM => crate::image::ImageAspects::COLOR, 304 Self::R8G8B8_USCALED => crate::image::ImageAspects::COLOR, 305 Self::R8G8B8_SSCALED => crate::image::ImageAspects::COLOR, 306 Self::R8G8B8_UINT => crate::image::ImageAspects::COLOR, 307 Self::R8G8B8_SINT => crate::image::ImageAspects::COLOR, 308 Self::R8G8B8_SRGB => crate::image::ImageAspects::COLOR, 309 Self::B8G8R8_UNORM => crate::image::ImageAspects::COLOR, 310 Self::B8G8R8_SNORM => crate::image::ImageAspects::COLOR, 311 Self::B8G8R8_USCALED => crate::image::ImageAspects::COLOR, 312 Self::B8G8R8_SSCALED => crate::image::ImageAspects::COLOR, 313 Self::B8G8R8_UINT => crate::image::ImageAspects::COLOR, 314 Self::B8G8R8_SINT => crate::image::ImageAspects::COLOR, 315 Self::B8G8R8_SRGB => crate::image::ImageAspects::COLOR, 316 Self::R8G8B8A8_UNORM => crate::image::ImageAspects::COLOR, 317 Self::R8G8B8A8_SNORM => crate::image::ImageAspects::COLOR, 318 Self::R8G8B8A8_USCALED => crate::image::ImageAspects::COLOR, 319 Self::R8G8B8A8_SSCALED => crate::image::ImageAspects::COLOR, 320 Self::R8G8B8A8_UINT => crate::image::ImageAspects::COLOR, 321 Self::R8G8B8A8_SINT => crate::image::ImageAspects::COLOR, 322 Self::R8G8B8A8_SRGB => crate::image::ImageAspects::COLOR, 323 Self::B8G8R8A8_UNORM => crate::image::ImageAspects::COLOR, 324 Self::B8G8R8A8_SNORM => crate::image::ImageAspects::COLOR, 325 Self::B8G8R8A8_USCALED => crate::image::ImageAspects::COLOR, 326 Self::B8G8R8A8_SSCALED => crate::image::ImageAspects::COLOR, 327 Self::B8G8R8A8_UINT => crate::image::ImageAspects::COLOR, 328 Self::B8G8R8A8_SINT => crate::image::ImageAspects::COLOR, 329 Self::B8G8R8A8_SRGB => crate::image::ImageAspects::COLOR, 330 Self::A8B8G8R8_UNORM_PACK32 => crate::image::ImageAspects::COLOR, 331 Self::A8B8G8R8_SNORM_PACK32 => crate::image::ImageAspects::COLOR, 332 Self::A8B8G8R8_USCALED_PACK32 => crate::image::ImageAspects::COLOR, 333 Self::A8B8G8R8_SSCALED_PACK32 => crate::image::ImageAspects::COLOR, 334 Self::A8B8G8R8_UINT_PACK32 => crate::image::ImageAspects::COLOR, 335 Self::A8B8G8R8_SINT_PACK32 => crate::image::ImageAspects::COLOR, 336 Self::A8B8G8R8_SRGB_PACK32 => crate::image::ImageAspects::COLOR, 337 Self::A2R10G10B10_UNORM_PACK32 => crate::image::ImageAspects::COLOR, 338 Self::A2R10G10B10_SNORM_PACK32 => crate::image::ImageAspects::COLOR, 339 Self::A2R10G10B10_USCALED_PACK32 => crate::image::ImageAspects::COLOR, 340 Self::A2R10G10B10_SSCALED_PACK32 => crate::image::ImageAspects::COLOR, 341 Self::A2R10G10B10_UINT_PACK32 => crate::image::ImageAspects::COLOR, 342 Self::A2R10G10B10_SINT_PACK32 => crate::image::ImageAspects::COLOR, 343 Self::A2B10G10R10_UNORM_PACK32 => crate::image::ImageAspects::COLOR, 344 Self::A2B10G10R10_SNORM_PACK32 => crate::image::ImageAspects::COLOR, 345 Self::A2B10G10R10_USCALED_PACK32 => crate::image::ImageAspects::COLOR, 346 Self::A2B10G10R10_SSCALED_PACK32 => crate::image::ImageAspects::COLOR, 347 Self::A2B10G10R10_UINT_PACK32 => crate::image::ImageAspects::COLOR, 348 Self::A2B10G10R10_SINT_PACK32 => crate::image::ImageAspects::COLOR, 349 Self::R16_UNORM => crate::image::ImageAspects::COLOR, 350 Self::R16_SNORM => crate::image::ImageAspects::COLOR, 351 Self::R16_USCALED => crate::image::ImageAspects::COLOR, 352 Self::R16_SSCALED => crate::image::ImageAspects::COLOR, 353 Self::R16_UINT => crate::image::ImageAspects::COLOR, 354 Self::R16_SINT => crate::image::ImageAspects::COLOR, 355 Self::R16_SFLOAT => crate::image::ImageAspects::COLOR, 356 Self::R16G16_UNORM => crate::image::ImageAspects::COLOR, 357 Self::R16G16_SNORM => crate::image::ImageAspects::COLOR, 358 Self::R16G16_USCALED => crate::image::ImageAspects::COLOR, 359 Self::R16G16_SSCALED => crate::image::ImageAspects::COLOR, 360 Self::R16G16_UINT => crate::image::ImageAspects::COLOR, 361 Self::R16G16_SINT => crate::image::ImageAspects::COLOR, 362 Self::R16G16_SFLOAT => crate::image::ImageAspects::COLOR, 363 Self::R16G16B16_UNORM => crate::image::ImageAspects::COLOR, 364 Self::R16G16B16_SNORM => crate::image::ImageAspects::COLOR, 365 Self::R16G16B16_USCALED => crate::image::ImageAspects::COLOR, 366 Self::R16G16B16_SSCALED => crate::image::ImageAspects::COLOR, 367 Self::R16G16B16_UINT => crate::image::ImageAspects::COLOR, 368 Self::R16G16B16_SINT => crate::image::ImageAspects::COLOR, 369 Self::R16G16B16_SFLOAT => crate::image::ImageAspects::COLOR, 370 Self::R16G16B16A16_UNORM => crate::image::ImageAspects::COLOR, 371 Self::R16G16B16A16_SNORM => crate::image::ImageAspects::COLOR, 372 Self::R16G16B16A16_USCALED => crate::image::ImageAspects::COLOR, 373 Self::R16G16B16A16_SSCALED => crate::image::ImageAspects::COLOR, 374 Self::R16G16B16A16_UINT => crate::image::ImageAspects::COLOR, 375 Self::R16G16B16A16_SINT => crate::image::ImageAspects::COLOR, 376 Self::R16G16B16A16_SFLOAT => crate::image::ImageAspects::COLOR, 377 Self::R32_UINT => crate::image::ImageAspects::COLOR, 378 Self::R32_SINT => crate::image::ImageAspects::COLOR, 379 Self::R32_SFLOAT => crate::image::ImageAspects::COLOR, 380 Self::R32G32_UINT => crate::image::ImageAspects::COLOR, 381 Self::R32G32_SINT => crate::image::ImageAspects::COLOR, 382 Self::R32G32_SFLOAT => crate::image::ImageAspects::COLOR, 383 Self::R32G32B32_UINT => crate::image::ImageAspects::COLOR, 384 Self::R32G32B32_SINT => crate::image::ImageAspects::COLOR, 385 Self::R32G32B32_SFLOAT => crate::image::ImageAspects::COLOR, 386 Self::R32G32B32A32_UINT => crate::image::ImageAspects::COLOR, 387 Self::R32G32B32A32_SINT => crate::image::ImageAspects::COLOR, 388 Self::R32G32B32A32_SFLOAT => crate::image::ImageAspects::COLOR, 389 Self::R64_UINT => crate::image::ImageAspects::COLOR, 390 Self::R64_SINT => crate::image::ImageAspects::COLOR, 391 Self::R64_SFLOAT => crate::image::ImageAspects::COLOR, 392 Self::R64G64_UINT => crate::image::ImageAspects::COLOR, 393 Self::R64G64_SINT => crate::image::ImageAspects::COLOR, 394 Self::R64G64_SFLOAT => crate::image::ImageAspects::COLOR, 395 Self::R64G64B64_UINT => crate::image::ImageAspects::COLOR, 396 Self::R64G64B64_SINT => crate::image::ImageAspects::COLOR, 397 Self::R64G64B64_SFLOAT => crate::image::ImageAspects::COLOR, 398 Self::R64G64B64A64_UINT => crate::image::ImageAspects::COLOR, 399 Self::R64G64B64A64_SINT => crate::image::ImageAspects::COLOR, 400 Self::R64G64B64A64_SFLOAT => crate::image::ImageAspects::COLOR, 401 Self::B10G11R11_UFLOAT_PACK32 => crate::image::ImageAspects::COLOR, 402 Self::E5B9G9R9_UFLOAT_PACK32 => crate::image::ImageAspects::COLOR, 403 Self::D16_UNORM => crate::image::ImageAspects::DEPTH, 404 Self::X8_D24_UNORM_PACK32 => crate::image::ImageAspects::DEPTH, 405 Self::D32_SFLOAT => crate::image::ImageAspects::DEPTH, 406 Self::S8_UINT => crate::image::ImageAspects::STENCIL, 407 Self::D16_UNORM_S8_UINT => { 408 crate::image::ImageAspects::DEPTH | crate::image::ImageAspects::STENCIL 409 } 410 Self::D24_UNORM_S8_UINT => { 411 crate::image::ImageAspects::DEPTH | crate::image::ImageAspects::STENCIL 412 } 413 Self::D32_SFLOAT_S8_UINT => { 414 crate::image::ImageAspects::DEPTH | crate::image::ImageAspects::STENCIL 415 } 416 Self::BC1_RGB_UNORM_BLOCK => crate::image::ImageAspects::COLOR, 417 Self::BC1_RGB_SRGB_BLOCK => crate::image::ImageAspects::COLOR, 418 Self::BC1_RGBA_UNORM_BLOCK => crate::image::ImageAspects::COLOR, 419 Self::BC1_RGBA_SRGB_BLOCK => crate::image::ImageAspects::COLOR, 420 Self::BC2_UNORM_BLOCK => crate::image::ImageAspects::COLOR, 421 Self::BC2_SRGB_BLOCK => crate::image::ImageAspects::COLOR, 422 Self::BC3_UNORM_BLOCK => crate::image::ImageAspects::COLOR, 423 Self::BC3_SRGB_BLOCK => crate::image::ImageAspects::COLOR, 424 Self::BC4_UNORM_BLOCK => crate::image::ImageAspects::COLOR, 425 Self::BC4_SNORM_BLOCK => crate::image::ImageAspects::COLOR, 426 Self::BC5_UNORM_BLOCK => crate::image::ImageAspects::COLOR, 427 Self::BC5_SNORM_BLOCK => crate::image::ImageAspects::COLOR, 428 Self::BC6H_UFLOAT_BLOCK => crate::image::ImageAspects::COLOR, 429 Self::BC6H_SFLOAT_BLOCK => crate::image::ImageAspects::COLOR, 430 Self::BC7_UNORM_BLOCK => crate::image::ImageAspects::COLOR, 431 Self::BC7_SRGB_BLOCK => crate::image::ImageAspects::COLOR, 432 Self::ETC2_R8G8B8_UNORM_BLOCK => crate::image::ImageAspects::COLOR, 433 Self::ETC2_R8G8B8_SRGB_BLOCK => crate::image::ImageAspects::COLOR, 434 Self::ETC2_R8G8B8A1_UNORM_BLOCK => crate::image::ImageAspects::COLOR, 435 Self::ETC2_R8G8B8A1_SRGB_BLOCK => crate::image::ImageAspects::COLOR, 436 Self::ETC2_R8G8B8A8_UNORM_BLOCK => crate::image::ImageAspects::COLOR, 437 Self::ETC2_R8G8B8A8_SRGB_BLOCK => crate::image::ImageAspects::COLOR, 438 Self::EAC_R11_UNORM_BLOCK => crate::image::ImageAspects::COLOR, 439 Self::EAC_R11_SNORM_BLOCK => crate::image::ImageAspects::COLOR, 440 Self::EAC_R11G11_UNORM_BLOCK => crate::image::ImageAspects::COLOR, 441 Self::EAC_R11G11_SNORM_BLOCK => crate::image::ImageAspects::COLOR, 442 Self::ASTC_4x4_UNORM_BLOCK => crate::image::ImageAspects::COLOR, 443 Self::ASTC_4x4_SRGB_BLOCK => crate::image::ImageAspects::COLOR, 444 Self::ASTC_5x4_UNORM_BLOCK => crate::image::ImageAspects::COLOR, 445 Self::ASTC_5x4_SRGB_BLOCK => crate::image::ImageAspects::COLOR, 446 Self::ASTC_5x5_UNORM_BLOCK => crate::image::ImageAspects::COLOR, 447 Self::ASTC_5x5_SRGB_BLOCK => crate::image::ImageAspects::COLOR, 448 Self::ASTC_6x5_UNORM_BLOCK => crate::image::ImageAspects::COLOR, 449 Self::ASTC_6x5_SRGB_BLOCK => crate::image::ImageAspects::COLOR, 450 Self::ASTC_6x6_UNORM_BLOCK => crate::image::ImageAspects::COLOR, 451 Self::ASTC_6x6_SRGB_BLOCK => crate::image::ImageAspects::COLOR, 452 Self::ASTC_8x5_UNORM_BLOCK => crate::image::ImageAspects::COLOR, 453 Self::ASTC_8x5_SRGB_BLOCK => crate::image::ImageAspects::COLOR, 454 Self::ASTC_8x6_UNORM_BLOCK => crate::image::ImageAspects::COLOR, 455 Self::ASTC_8x6_SRGB_BLOCK => crate::image::ImageAspects::COLOR, 456 Self::ASTC_8x8_UNORM_BLOCK => crate::image::ImageAspects::COLOR, 457 Self::ASTC_8x8_SRGB_BLOCK => crate::image::ImageAspects::COLOR, 458 Self::ASTC_10x5_UNORM_BLOCK => crate::image::ImageAspects::COLOR, 459 Self::ASTC_10x5_SRGB_BLOCK => crate::image::ImageAspects::COLOR, 460 Self::ASTC_10x6_UNORM_BLOCK => crate::image::ImageAspects::COLOR, 461 Self::ASTC_10x6_SRGB_BLOCK => crate::image::ImageAspects::COLOR, 462 Self::ASTC_10x8_UNORM_BLOCK => crate::image::ImageAspects::COLOR, 463 Self::ASTC_10x8_SRGB_BLOCK => crate::image::ImageAspects::COLOR, 464 Self::ASTC_10x10_UNORM_BLOCK => crate::image::ImageAspects::COLOR, 465 Self::ASTC_10x10_SRGB_BLOCK => crate::image::ImageAspects::COLOR, 466 Self::ASTC_12x10_UNORM_BLOCK => crate::image::ImageAspects::COLOR, 467 Self::ASTC_12x10_SRGB_BLOCK => crate::image::ImageAspects::COLOR, 468 Self::ASTC_12x12_UNORM_BLOCK => crate::image::ImageAspects::COLOR, 469 Self::ASTC_12x12_SRGB_BLOCK => crate::image::ImageAspects::COLOR, 470 Self::G8B8G8R8_422_UNORM => crate::image::ImageAspects::COLOR, 471 Self::B8G8R8G8_422_UNORM => crate::image::ImageAspects::COLOR, 472 Self::G8_B8_R8_3PLANE_420_UNORM => { 473 crate::image::ImageAspects::COLOR 474 | crate::image::ImageAspects::PLANE_0 475 | crate::image::ImageAspects::PLANE_1 476 | crate::image::ImageAspects::PLANE_2 477 } 478 Self::G8_B8R8_2PLANE_420_UNORM => { 479 crate::image::ImageAspects::COLOR 480 | crate::image::ImageAspects::PLANE_0 481 | crate::image::ImageAspects::PLANE_1 482 } 483 Self::G8_B8_R8_3PLANE_422_UNORM => { 484 crate::image::ImageAspects::COLOR 485 | crate::image::ImageAspects::PLANE_0 486 | crate::image::ImageAspects::PLANE_1 487 | crate::image::ImageAspects::PLANE_2 488 } 489 Self::G8_B8R8_2PLANE_422_UNORM => { 490 crate::image::ImageAspects::COLOR 491 | crate::image::ImageAspects::PLANE_0 492 | crate::image::ImageAspects::PLANE_1 493 } 494 Self::G8_B8_R8_3PLANE_444_UNORM => { 495 crate::image::ImageAspects::COLOR 496 | crate::image::ImageAspects::PLANE_0 497 | crate::image::ImageAspects::PLANE_1 498 | crate::image::ImageAspects::PLANE_2 499 } 500 Self::R10X6_UNORM_PACK16 => crate::image::ImageAspects::COLOR, 501 Self::R10X6G10X6_UNORM_2PACK16 => crate::image::ImageAspects::COLOR, 502 Self::R10X6G10X6B10X6A10X6_UNORM_4PACK16 => crate::image::ImageAspects::COLOR, 503 Self::G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 => crate::image::ImageAspects::COLOR, 504 Self::B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 => crate::image::ImageAspects::COLOR, 505 Self::G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 => { 506 crate::image::ImageAspects::COLOR 507 | crate::image::ImageAspects::PLANE_0 508 | crate::image::ImageAspects::PLANE_1 509 | crate::image::ImageAspects::PLANE_2 510 } 511 Self::G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 => { 512 crate::image::ImageAspects::COLOR 513 | crate::image::ImageAspects::PLANE_0 514 | crate::image::ImageAspects::PLANE_1 515 } 516 Self::G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 => { 517 crate::image::ImageAspects::COLOR 518 | crate::image::ImageAspects::PLANE_0 519 | crate::image::ImageAspects::PLANE_1 520 | crate::image::ImageAspects::PLANE_2 521 } 522 Self::G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 => { 523 crate::image::ImageAspects::COLOR 524 | crate::image::ImageAspects::PLANE_0 525 | crate::image::ImageAspects::PLANE_1 526 } 527 Self::G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 => { 528 crate::image::ImageAspects::COLOR 529 | crate::image::ImageAspects::PLANE_0 530 | crate::image::ImageAspects::PLANE_1 531 | crate::image::ImageAspects::PLANE_2 532 } 533 Self::R12X4_UNORM_PACK16 => crate::image::ImageAspects::COLOR, 534 Self::R12X4G12X4_UNORM_2PACK16 => crate::image::ImageAspects::COLOR, 535 Self::R12X4G12X4B12X4A12X4_UNORM_4PACK16 => crate::image::ImageAspects::COLOR, 536 Self::G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 => crate::image::ImageAspects::COLOR, 537 Self::B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 => crate::image::ImageAspects::COLOR, 538 Self::G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 => { 539 crate::image::ImageAspects::COLOR 540 | crate::image::ImageAspects::PLANE_0 541 | crate::image::ImageAspects::PLANE_1 542 | crate::image::ImageAspects::PLANE_2 543 } 544 Self::G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 => { 545 crate::image::ImageAspects::COLOR 546 | crate::image::ImageAspects::PLANE_0 547 | crate::image::ImageAspects::PLANE_1 548 } 549 Self::G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 => { 550 crate::image::ImageAspects::COLOR 551 | crate::image::ImageAspects::PLANE_0 552 | crate::image::ImageAspects::PLANE_1 553 | crate::image::ImageAspects::PLANE_2 554 } 555 Self::G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 => { 556 crate::image::ImageAspects::COLOR 557 | crate::image::ImageAspects::PLANE_0 558 | crate::image::ImageAspects::PLANE_1 559 } 560 Self::G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 => { 561 crate::image::ImageAspects::COLOR 562 | crate::image::ImageAspects::PLANE_0 563 | crate::image::ImageAspects::PLANE_1 564 | crate::image::ImageAspects::PLANE_2 565 } 566 Self::G16B16G16R16_422_UNORM => crate::image::ImageAspects::COLOR, 567 Self::B16G16R16G16_422_UNORM => crate::image::ImageAspects::COLOR, 568 Self::G16_B16_R16_3PLANE_420_UNORM => { 569 crate::image::ImageAspects::COLOR 570 | crate::image::ImageAspects::PLANE_0 571 | crate::image::ImageAspects::PLANE_1 572 | crate::image::ImageAspects::PLANE_2 573 } 574 Self::G16_B16R16_2PLANE_420_UNORM => { 575 crate::image::ImageAspects::COLOR 576 | crate::image::ImageAspects::PLANE_0 577 | crate::image::ImageAspects::PLANE_1 578 } 579 Self::G16_B16_R16_3PLANE_422_UNORM => { 580 crate::image::ImageAspects::COLOR 581 | crate::image::ImageAspects::PLANE_0 582 | crate::image::ImageAspects::PLANE_1 583 | crate::image::ImageAspects::PLANE_2 584 } 585 Self::G16_B16R16_2PLANE_422_UNORM => { 586 crate::image::ImageAspects::COLOR 587 | crate::image::ImageAspects::PLANE_0 588 | crate::image::ImageAspects::PLANE_1 589 } 590 Self::G16_B16_R16_3PLANE_444_UNORM => { 591 crate::image::ImageAspects::COLOR 592 | crate::image::ImageAspects::PLANE_0 593 | crate::image::ImageAspects::PLANE_1 594 | crate::image::ImageAspects::PLANE_2 595 } 596 Self::PVRTC1_2BPP_UNORM_BLOCK => crate::image::ImageAspects::COLOR, 597 Self::PVRTC1_4BPP_UNORM_BLOCK => crate::image::ImageAspects::COLOR, 598 Self::PVRTC2_2BPP_UNORM_BLOCK => crate::image::ImageAspects::COLOR, 599 Self::PVRTC2_4BPP_UNORM_BLOCK => crate::image::ImageAspects::COLOR, 600 Self::PVRTC1_2BPP_SRGB_BLOCK => crate::image::ImageAspects::COLOR, 601 Self::PVRTC1_4BPP_SRGB_BLOCK => crate::image::ImageAspects::COLOR, 602 Self::PVRTC2_2BPP_SRGB_BLOCK => crate::image::ImageAspects::COLOR, 603 Self::PVRTC2_4BPP_SRGB_BLOCK => crate::image::ImageAspects::COLOR, 604 Self::ASTC_4x4_SFLOAT_BLOCK => crate::image::ImageAspects::COLOR, 605 Self::ASTC_5x4_SFLOAT_BLOCK => crate::image::ImageAspects::COLOR, 606 Self::ASTC_5x5_SFLOAT_BLOCK => crate::image::ImageAspects::COLOR, 607 Self::ASTC_6x5_SFLOAT_BLOCK => crate::image::ImageAspects::COLOR, 608 Self::ASTC_6x6_SFLOAT_BLOCK => crate::image::ImageAspects::COLOR, 609 Self::ASTC_8x5_SFLOAT_BLOCK => crate::image::ImageAspects::COLOR, 610 Self::ASTC_8x6_SFLOAT_BLOCK => crate::image::ImageAspects::COLOR, 611 Self::ASTC_8x8_SFLOAT_BLOCK => crate::image::ImageAspects::COLOR, 612 Self::ASTC_10x5_SFLOAT_BLOCK => crate::image::ImageAspects::COLOR, 613 Self::ASTC_10x6_SFLOAT_BLOCK => crate::image::ImageAspects::COLOR, 614 Self::ASTC_10x8_SFLOAT_BLOCK => crate::image::ImageAspects::COLOR, 615 Self::ASTC_10x10_SFLOAT_BLOCK => crate::image::ImageAspects::COLOR, 616 Self::ASTC_12x10_SFLOAT_BLOCK => crate::image::ImageAspects::COLOR, 617 Self::ASTC_12x12_SFLOAT_BLOCK => crate::image::ImageAspects::COLOR, 618 Self::G8_B8R8_2PLANE_444_UNORM => { 619 crate::image::ImageAspects::COLOR 620 | crate::image::ImageAspects::PLANE_0 621 | crate::image::ImageAspects::PLANE_1 622 } 623 Self::G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 => { 624 crate::image::ImageAspects::COLOR 625 | crate::image::ImageAspects::PLANE_0 626 | crate::image::ImageAspects::PLANE_1 627 } 628 Self::G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 => { 629 crate::image::ImageAspects::COLOR 630 | crate::image::ImageAspects::PLANE_0 631 | crate::image::ImageAspects::PLANE_1 632 } 633 Self::G16_B16R16_2PLANE_444_UNORM => { 634 crate::image::ImageAspects::COLOR 635 | crate::image::ImageAspects::PLANE_0 636 | crate::image::ImageAspects::PLANE_1 637 } 638 Self::A4R4G4B4_UNORM_PACK16 => crate::image::ImageAspects::COLOR, 639 Self::A4B4G4R4_UNORM_PACK16 => crate::image::ImageAspects::COLOR, 640 Self::R16G16_S10_5_NV => crate::image::ImageAspects::COLOR, 641 } 642 } 643 #[doc = r" Returns the extent in texels (horizontally and vertically) of a single texel"] 644 #[doc = r" block of this format. A texel block is a rectangle of pixels that is represented by"] 645 #[doc = r" a single element of this format. It is also the minimum granularity of the extent of"] 646 #[doc = r" an image; images must always have an extent that's a multiple of the block extent."] 647 #[doc = r""] 648 #[doc = r" For normal formats, the block extent is [1, 1, 1], meaning that each element of the"] 649 #[doc = r" format represents one texel. Block-compressed formats encode multiple texels into"] 650 #[doc = r" a single element. The 422 and 420 YCbCr formats have a block extent of [2, 1, 1] and"] 651 #[doc = r" [2, 2, 1] respectively, as the red and blue components are shared across multiple"] 652 #[doc = r" texels."] block_extent(self) -> [u32; 3]653 pub fn block_extent(self) -> [u32; 3] { 654 match self { 655 Self::BC1_RGB_UNORM_BLOCK => [4, 4, 1], 656 Self::BC1_RGB_SRGB_BLOCK => [4, 4, 1], 657 Self::BC1_RGBA_UNORM_BLOCK => [4, 4, 1], 658 Self::BC1_RGBA_SRGB_BLOCK => [4, 4, 1], 659 Self::BC2_UNORM_BLOCK => [4, 4, 1], 660 Self::BC2_SRGB_BLOCK => [4, 4, 1], 661 Self::BC3_UNORM_BLOCK => [4, 4, 1], 662 Self::BC3_SRGB_BLOCK => [4, 4, 1], 663 Self::BC4_UNORM_BLOCK => [4, 4, 1], 664 Self::BC4_SNORM_BLOCK => [4, 4, 1], 665 Self::BC5_UNORM_BLOCK => [4, 4, 1], 666 Self::BC5_SNORM_BLOCK => [4, 4, 1], 667 Self::BC6H_UFLOAT_BLOCK => [4, 4, 1], 668 Self::BC6H_SFLOAT_BLOCK => [4, 4, 1], 669 Self::BC7_UNORM_BLOCK => [4, 4, 1], 670 Self::BC7_SRGB_BLOCK => [4, 4, 1], 671 Self::ETC2_R8G8B8_UNORM_BLOCK => [4, 4, 1], 672 Self::ETC2_R8G8B8_SRGB_BLOCK => [4, 4, 1], 673 Self::ETC2_R8G8B8A1_UNORM_BLOCK => [4, 4, 1], 674 Self::ETC2_R8G8B8A1_SRGB_BLOCK => [4, 4, 1], 675 Self::ETC2_R8G8B8A8_UNORM_BLOCK => [4, 4, 1], 676 Self::ETC2_R8G8B8A8_SRGB_BLOCK => [4, 4, 1], 677 Self::EAC_R11_UNORM_BLOCK => [4, 4, 1], 678 Self::EAC_R11_SNORM_BLOCK => [4, 4, 1], 679 Self::EAC_R11G11_UNORM_BLOCK => [4, 4, 1], 680 Self::EAC_R11G11_SNORM_BLOCK => [4, 4, 1], 681 Self::ASTC_4x4_UNORM_BLOCK => [4, 4, 1], 682 Self::ASTC_4x4_SRGB_BLOCK => [4, 4, 1], 683 Self::ASTC_5x4_UNORM_BLOCK => [5, 4, 1], 684 Self::ASTC_5x4_SRGB_BLOCK => [5, 4, 1], 685 Self::ASTC_5x5_UNORM_BLOCK => [5, 5, 1], 686 Self::ASTC_5x5_SRGB_BLOCK => [5, 5, 1], 687 Self::ASTC_6x5_UNORM_BLOCK => [6, 5, 1], 688 Self::ASTC_6x5_SRGB_BLOCK => [6, 5, 1], 689 Self::ASTC_6x6_UNORM_BLOCK => [6, 6, 1], 690 Self::ASTC_6x6_SRGB_BLOCK => [6, 6, 1], 691 Self::ASTC_8x5_UNORM_BLOCK => [8, 5, 1], 692 Self::ASTC_8x5_SRGB_BLOCK => [8, 5, 1], 693 Self::ASTC_8x6_UNORM_BLOCK => [8, 6, 1], 694 Self::ASTC_8x6_SRGB_BLOCK => [8, 6, 1], 695 Self::ASTC_8x8_UNORM_BLOCK => [8, 8, 1], 696 Self::ASTC_8x8_SRGB_BLOCK => [8, 8, 1], 697 Self::ASTC_10x5_UNORM_BLOCK => [10, 5, 1], 698 Self::ASTC_10x5_SRGB_BLOCK => [10, 5, 1], 699 Self::ASTC_10x6_UNORM_BLOCK => [10, 6, 1], 700 Self::ASTC_10x6_SRGB_BLOCK => [10, 6, 1], 701 Self::ASTC_10x8_UNORM_BLOCK => [10, 8, 1], 702 Self::ASTC_10x8_SRGB_BLOCK => [10, 8, 1], 703 Self::ASTC_10x10_UNORM_BLOCK => [10, 10, 1], 704 Self::ASTC_10x10_SRGB_BLOCK => [10, 10, 1], 705 Self::ASTC_12x10_UNORM_BLOCK => [12, 10, 1], 706 Self::ASTC_12x10_SRGB_BLOCK => [12, 10, 1], 707 Self::ASTC_12x12_UNORM_BLOCK => [12, 12, 1], 708 Self::ASTC_12x12_SRGB_BLOCK => [12, 12, 1], 709 Self::G8B8G8R8_422_UNORM => [2, 1, 1], 710 Self::B8G8R8G8_422_UNORM => [2, 1, 1], 711 Self::G8_B8_R8_3PLANE_420_UNORM => [2, 2, 1], 712 Self::G8_B8R8_2PLANE_420_UNORM => [2, 2, 1], 713 Self::G8_B8_R8_3PLANE_422_UNORM => [2, 1, 1], 714 Self::G8_B8R8_2PLANE_422_UNORM => [2, 1, 1], 715 Self::G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 => [2, 1, 1], 716 Self::B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 => [2, 1, 1], 717 Self::G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 => [2, 2, 1], 718 Self::G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 => [2, 2, 1], 719 Self::G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 => [2, 1, 1], 720 Self::G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 => [2, 1, 1], 721 Self::G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 => [2, 1, 1], 722 Self::B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 => [2, 1, 1], 723 Self::G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 => [2, 2, 1], 724 Self::G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 => [2, 2, 1], 725 Self::G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 => [2, 1, 1], 726 Self::G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 => [2, 1, 1], 727 Self::G16B16G16R16_422_UNORM => [2, 1, 1], 728 Self::B16G16R16G16_422_UNORM => [2, 1, 1], 729 Self::G16_B16_R16_3PLANE_420_UNORM => [2, 2, 1], 730 Self::G16_B16R16_2PLANE_420_UNORM => [2, 2, 1], 731 Self::G16_B16_R16_3PLANE_422_UNORM => [2, 1, 1], 732 Self::G16_B16R16_2PLANE_422_UNORM => [2, 1, 1], 733 Self::PVRTC1_2BPP_UNORM_BLOCK => [8, 4, 1], 734 Self::PVRTC1_4BPP_UNORM_BLOCK => [4, 4, 1], 735 Self::PVRTC2_2BPP_UNORM_BLOCK => [8, 4, 1], 736 Self::PVRTC2_4BPP_UNORM_BLOCK => [4, 4, 1], 737 Self::PVRTC1_2BPP_SRGB_BLOCK => [8, 4, 1], 738 Self::PVRTC1_4BPP_SRGB_BLOCK => [4, 4, 1], 739 Self::PVRTC2_2BPP_SRGB_BLOCK => [8, 4, 1], 740 Self::PVRTC2_4BPP_SRGB_BLOCK => [4, 4, 1], 741 Self::ASTC_4x4_SFLOAT_BLOCK => [4, 4, 1], 742 Self::ASTC_5x4_SFLOAT_BLOCK => [5, 4, 1], 743 Self::ASTC_5x5_SFLOAT_BLOCK => [5, 5, 1], 744 Self::ASTC_6x5_SFLOAT_BLOCK => [6, 5, 1], 745 Self::ASTC_6x6_SFLOAT_BLOCK => [6, 6, 1], 746 Self::ASTC_8x5_SFLOAT_BLOCK => [8, 5, 1], 747 Self::ASTC_8x6_SFLOAT_BLOCK => [8, 6, 1], 748 Self::ASTC_8x8_SFLOAT_BLOCK => [8, 8, 1], 749 Self::ASTC_10x5_SFLOAT_BLOCK => [10, 5, 1], 750 Self::ASTC_10x6_SFLOAT_BLOCK => [10, 6, 1], 751 Self::ASTC_10x8_SFLOAT_BLOCK => [10, 8, 1], 752 Self::ASTC_10x10_SFLOAT_BLOCK => [10, 10, 1], 753 Self::ASTC_12x10_SFLOAT_BLOCK => [12, 10, 1], 754 Self::ASTC_12x12_SFLOAT_BLOCK => [12, 12, 1], 755 _ => [1, 1, 1], 756 } 757 } 758 #[doc = r" Returns the size in bytes of a single texel block of this format. Returns `None`"] 759 #[doc = r" if the texel block size is not well-defined for this format."] 760 #[doc = r""] 761 #[doc = r" For regular formats, this is the size of a single texel, but for more specialized"] 762 #[doc = r" formats this may be the size of multiple texels."] 763 #[doc = r""] 764 #[doc = r" Depth/stencil formats are considered to have an opaque memory representation, and do"] 765 #[doc = r" not have a well-defined size. Multi-planar formats store the color components"] 766 #[doc = r" disjointly in memory, and therefore do not have a well-defined size for all"] 767 #[doc = r" components as a whole. The individual planes do have a well-defined size."] block_size(self) -> Option<DeviceSize>768 pub fn block_size(self) -> Option<DeviceSize> { 769 match self { 770 Self::R4G4_UNORM_PACK8 => Some(1), 771 Self::R4G4B4A4_UNORM_PACK16 => Some(2), 772 Self::B4G4R4A4_UNORM_PACK16 => Some(2), 773 Self::R5G6B5_UNORM_PACK16 => Some(2), 774 Self::B5G6R5_UNORM_PACK16 => Some(2), 775 Self::R5G5B5A1_UNORM_PACK16 => Some(2), 776 Self::B5G5R5A1_UNORM_PACK16 => Some(2), 777 Self::A1R5G5B5_UNORM_PACK16 => Some(2), 778 Self::R8_UNORM => Some(1), 779 Self::R8_SNORM => Some(1), 780 Self::R8_USCALED => Some(1), 781 Self::R8_SSCALED => Some(1), 782 Self::R8_UINT => Some(1), 783 Self::R8_SINT => Some(1), 784 Self::R8_SRGB => Some(1), 785 Self::R8G8_UNORM => Some(2), 786 Self::R8G8_SNORM => Some(2), 787 Self::R8G8_USCALED => Some(2), 788 Self::R8G8_SSCALED => Some(2), 789 Self::R8G8_UINT => Some(2), 790 Self::R8G8_SINT => Some(2), 791 Self::R8G8_SRGB => Some(2), 792 Self::R8G8B8_UNORM => Some(3), 793 Self::R8G8B8_SNORM => Some(3), 794 Self::R8G8B8_USCALED => Some(3), 795 Self::R8G8B8_SSCALED => Some(3), 796 Self::R8G8B8_UINT => Some(3), 797 Self::R8G8B8_SINT => Some(3), 798 Self::R8G8B8_SRGB => Some(3), 799 Self::B8G8R8_UNORM => Some(3), 800 Self::B8G8R8_SNORM => Some(3), 801 Self::B8G8R8_USCALED => Some(3), 802 Self::B8G8R8_SSCALED => Some(3), 803 Self::B8G8R8_UINT => Some(3), 804 Self::B8G8R8_SINT => Some(3), 805 Self::B8G8R8_SRGB => Some(3), 806 Self::R8G8B8A8_UNORM => Some(4), 807 Self::R8G8B8A8_SNORM => Some(4), 808 Self::R8G8B8A8_USCALED => Some(4), 809 Self::R8G8B8A8_SSCALED => Some(4), 810 Self::R8G8B8A8_UINT => Some(4), 811 Self::R8G8B8A8_SINT => Some(4), 812 Self::R8G8B8A8_SRGB => Some(4), 813 Self::B8G8R8A8_UNORM => Some(4), 814 Self::B8G8R8A8_SNORM => Some(4), 815 Self::B8G8R8A8_USCALED => Some(4), 816 Self::B8G8R8A8_SSCALED => Some(4), 817 Self::B8G8R8A8_UINT => Some(4), 818 Self::B8G8R8A8_SINT => Some(4), 819 Self::B8G8R8A8_SRGB => Some(4), 820 Self::A8B8G8R8_UNORM_PACK32 => Some(4), 821 Self::A8B8G8R8_SNORM_PACK32 => Some(4), 822 Self::A8B8G8R8_USCALED_PACK32 => Some(4), 823 Self::A8B8G8R8_SSCALED_PACK32 => Some(4), 824 Self::A8B8G8R8_UINT_PACK32 => Some(4), 825 Self::A8B8G8R8_SINT_PACK32 => Some(4), 826 Self::A8B8G8R8_SRGB_PACK32 => Some(4), 827 Self::A2R10G10B10_UNORM_PACK32 => Some(4), 828 Self::A2R10G10B10_SNORM_PACK32 => Some(4), 829 Self::A2R10G10B10_USCALED_PACK32 => Some(4), 830 Self::A2R10G10B10_SSCALED_PACK32 => Some(4), 831 Self::A2R10G10B10_UINT_PACK32 => Some(4), 832 Self::A2R10G10B10_SINT_PACK32 => Some(4), 833 Self::A2B10G10R10_UNORM_PACK32 => Some(4), 834 Self::A2B10G10R10_SNORM_PACK32 => Some(4), 835 Self::A2B10G10R10_USCALED_PACK32 => Some(4), 836 Self::A2B10G10R10_SSCALED_PACK32 => Some(4), 837 Self::A2B10G10R10_UINT_PACK32 => Some(4), 838 Self::A2B10G10R10_SINT_PACK32 => Some(4), 839 Self::R16_UNORM => Some(2), 840 Self::R16_SNORM => Some(2), 841 Self::R16_USCALED => Some(2), 842 Self::R16_SSCALED => Some(2), 843 Self::R16_UINT => Some(2), 844 Self::R16_SINT => Some(2), 845 Self::R16_SFLOAT => Some(2), 846 Self::R16G16_UNORM => Some(4), 847 Self::R16G16_SNORM => Some(4), 848 Self::R16G16_USCALED => Some(4), 849 Self::R16G16_SSCALED => Some(4), 850 Self::R16G16_UINT => Some(4), 851 Self::R16G16_SINT => Some(4), 852 Self::R16G16_SFLOAT => Some(4), 853 Self::R16G16B16_UNORM => Some(6), 854 Self::R16G16B16_SNORM => Some(6), 855 Self::R16G16B16_USCALED => Some(6), 856 Self::R16G16B16_SSCALED => Some(6), 857 Self::R16G16B16_UINT => Some(6), 858 Self::R16G16B16_SINT => Some(6), 859 Self::R16G16B16_SFLOAT => Some(6), 860 Self::R16G16B16A16_UNORM => Some(8), 861 Self::R16G16B16A16_SNORM => Some(8), 862 Self::R16G16B16A16_USCALED => Some(8), 863 Self::R16G16B16A16_SSCALED => Some(8), 864 Self::R16G16B16A16_UINT => Some(8), 865 Self::R16G16B16A16_SINT => Some(8), 866 Self::R16G16B16A16_SFLOAT => Some(8), 867 Self::R32_UINT => Some(4), 868 Self::R32_SINT => Some(4), 869 Self::R32_SFLOAT => Some(4), 870 Self::R32G32_UINT => Some(8), 871 Self::R32G32_SINT => Some(8), 872 Self::R32G32_SFLOAT => Some(8), 873 Self::R32G32B32_UINT => Some(12), 874 Self::R32G32B32_SINT => Some(12), 875 Self::R32G32B32_SFLOAT => Some(12), 876 Self::R32G32B32A32_UINT => Some(16), 877 Self::R32G32B32A32_SINT => Some(16), 878 Self::R32G32B32A32_SFLOAT => Some(16), 879 Self::R64_UINT => Some(8), 880 Self::R64_SINT => Some(8), 881 Self::R64_SFLOAT => Some(8), 882 Self::R64G64_UINT => Some(16), 883 Self::R64G64_SINT => Some(16), 884 Self::R64G64_SFLOAT => Some(16), 885 Self::R64G64B64_UINT => Some(24), 886 Self::R64G64B64_SINT => Some(24), 887 Self::R64G64B64_SFLOAT => Some(24), 888 Self::R64G64B64A64_UINT => Some(32), 889 Self::R64G64B64A64_SINT => Some(32), 890 Self::R64G64B64A64_SFLOAT => Some(32), 891 Self::B10G11R11_UFLOAT_PACK32 => Some(4), 892 Self::E5B9G9R9_UFLOAT_PACK32 => Some(4), 893 Self::BC1_RGB_UNORM_BLOCK => Some(8), 894 Self::BC1_RGB_SRGB_BLOCK => Some(8), 895 Self::BC1_RGBA_UNORM_BLOCK => Some(8), 896 Self::BC1_RGBA_SRGB_BLOCK => Some(8), 897 Self::BC2_UNORM_BLOCK => Some(16), 898 Self::BC2_SRGB_BLOCK => Some(16), 899 Self::BC3_UNORM_BLOCK => Some(16), 900 Self::BC3_SRGB_BLOCK => Some(16), 901 Self::BC4_UNORM_BLOCK => Some(8), 902 Self::BC4_SNORM_BLOCK => Some(8), 903 Self::BC5_UNORM_BLOCK => Some(16), 904 Self::BC5_SNORM_BLOCK => Some(16), 905 Self::BC6H_UFLOAT_BLOCK => Some(16), 906 Self::BC6H_SFLOAT_BLOCK => Some(16), 907 Self::BC7_UNORM_BLOCK => Some(16), 908 Self::BC7_SRGB_BLOCK => Some(16), 909 Self::ETC2_R8G8B8_UNORM_BLOCK => Some(8), 910 Self::ETC2_R8G8B8_SRGB_BLOCK => Some(8), 911 Self::ETC2_R8G8B8A1_UNORM_BLOCK => Some(8), 912 Self::ETC2_R8G8B8A1_SRGB_BLOCK => Some(8), 913 Self::ETC2_R8G8B8A8_UNORM_BLOCK => Some(16), 914 Self::ETC2_R8G8B8A8_SRGB_BLOCK => Some(16), 915 Self::EAC_R11_UNORM_BLOCK => Some(8), 916 Self::EAC_R11_SNORM_BLOCK => Some(8), 917 Self::EAC_R11G11_UNORM_BLOCK => Some(16), 918 Self::EAC_R11G11_SNORM_BLOCK => Some(16), 919 Self::ASTC_4x4_UNORM_BLOCK => Some(16), 920 Self::ASTC_4x4_SRGB_BLOCK => Some(16), 921 Self::ASTC_5x4_UNORM_BLOCK => Some(16), 922 Self::ASTC_5x4_SRGB_BLOCK => Some(16), 923 Self::ASTC_5x5_UNORM_BLOCK => Some(16), 924 Self::ASTC_5x5_SRGB_BLOCK => Some(16), 925 Self::ASTC_6x5_UNORM_BLOCK => Some(16), 926 Self::ASTC_6x5_SRGB_BLOCK => Some(16), 927 Self::ASTC_6x6_UNORM_BLOCK => Some(16), 928 Self::ASTC_6x6_SRGB_BLOCK => Some(16), 929 Self::ASTC_8x5_UNORM_BLOCK => Some(16), 930 Self::ASTC_8x5_SRGB_BLOCK => Some(16), 931 Self::ASTC_8x6_UNORM_BLOCK => Some(16), 932 Self::ASTC_8x6_SRGB_BLOCK => Some(16), 933 Self::ASTC_8x8_UNORM_BLOCK => Some(16), 934 Self::ASTC_8x8_SRGB_BLOCK => Some(16), 935 Self::ASTC_10x5_UNORM_BLOCK => Some(16), 936 Self::ASTC_10x5_SRGB_BLOCK => Some(16), 937 Self::ASTC_10x6_UNORM_BLOCK => Some(16), 938 Self::ASTC_10x6_SRGB_BLOCK => Some(16), 939 Self::ASTC_10x8_UNORM_BLOCK => Some(16), 940 Self::ASTC_10x8_SRGB_BLOCK => Some(16), 941 Self::ASTC_10x10_UNORM_BLOCK => Some(16), 942 Self::ASTC_10x10_SRGB_BLOCK => Some(16), 943 Self::ASTC_12x10_UNORM_BLOCK => Some(16), 944 Self::ASTC_12x10_SRGB_BLOCK => Some(16), 945 Self::ASTC_12x12_UNORM_BLOCK => Some(16), 946 Self::ASTC_12x12_SRGB_BLOCK => Some(16), 947 Self::G8B8G8R8_422_UNORM => Some(4), 948 Self::B8G8R8G8_422_UNORM => Some(4), 949 Self::R10X6_UNORM_PACK16 => Some(2), 950 Self::R10X6G10X6_UNORM_2PACK16 => Some(4), 951 Self::R10X6G10X6B10X6A10X6_UNORM_4PACK16 => Some(8), 952 Self::G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 => Some(8), 953 Self::B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 => Some(8), 954 Self::R12X4_UNORM_PACK16 => Some(2), 955 Self::R12X4G12X4_UNORM_2PACK16 => Some(4), 956 Self::R12X4G12X4B12X4A12X4_UNORM_4PACK16 => Some(8), 957 Self::G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 => Some(8), 958 Self::B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 => Some(8), 959 Self::G16B16G16R16_422_UNORM => Some(8), 960 Self::B16G16R16G16_422_UNORM => Some(8), 961 Self::PVRTC1_2BPP_UNORM_BLOCK => Some(8), 962 Self::PVRTC1_4BPP_UNORM_BLOCK => Some(8), 963 Self::PVRTC2_2BPP_UNORM_BLOCK => Some(8), 964 Self::PVRTC2_4BPP_UNORM_BLOCK => Some(8), 965 Self::PVRTC1_2BPP_SRGB_BLOCK => Some(8), 966 Self::PVRTC1_4BPP_SRGB_BLOCK => Some(8), 967 Self::PVRTC2_2BPP_SRGB_BLOCK => Some(8), 968 Self::PVRTC2_4BPP_SRGB_BLOCK => Some(8), 969 Self::ASTC_4x4_SFLOAT_BLOCK => Some(16), 970 Self::ASTC_5x4_SFLOAT_BLOCK => Some(16), 971 Self::ASTC_5x5_SFLOAT_BLOCK => Some(16), 972 Self::ASTC_6x5_SFLOAT_BLOCK => Some(16), 973 Self::ASTC_6x6_SFLOAT_BLOCK => Some(16), 974 Self::ASTC_8x5_SFLOAT_BLOCK => Some(16), 975 Self::ASTC_8x6_SFLOAT_BLOCK => Some(16), 976 Self::ASTC_8x8_SFLOAT_BLOCK => Some(16), 977 Self::ASTC_10x5_SFLOAT_BLOCK => Some(16), 978 Self::ASTC_10x6_SFLOAT_BLOCK => Some(16), 979 Self::ASTC_10x8_SFLOAT_BLOCK => Some(16), 980 Self::ASTC_10x10_SFLOAT_BLOCK => Some(16), 981 Self::ASTC_12x10_SFLOAT_BLOCK => Some(16), 982 Self::ASTC_12x12_SFLOAT_BLOCK => Some(16), 983 Self::A4R4G4B4_UNORM_PACK16 => Some(2), 984 Self::A4B4G4R4_UNORM_PACK16 => Some(2), 985 Self::R16G16_S10_5_NV => Some(4), 986 _ => None, 987 } 988 } 989 #[doc = r" Returns the an opaque object representing the compatibility class of the format."] 990 #[doc = r" This can be used to determine whether two formats are compatible for the purposes"] 991 #[doc = r" of certain Vulkan operations, such as image copying."] compatibility(self) -> FormatCompatibility992 pub fn compatibility(self) -> FormatCompatibility { 993 FormatCompatibility(match self { 994 Self::R4G4_UNORM_PACK8 => &FormatCompatibilityInner::Class_8bit, 995 Self::R4G4B4A4_UNORM_PACK16 => &FormatCompatibilityInner::Class_16bit, 996 Self::B4G4R4A4_UNORM_PACK16 => &FormatCompatibilityInner::Class_16bit, 997 Self::R5G6B5_UNORM_PACK16 => &FormatCompatibilityInner::Class_16bit, 998 Self::B5G6R5_UNORM_PACK16 => &FormatCompatibilityInner::Class_16bit, 999 Self::R5G5B5A1_UNORM_PACK16 => &FormatCompatibilityInner::Class_16bit, 1000 Self::B5G5R5A1_UNORM_PACK16 => &FormatCompatibilityInner::Class_16bit, 1001 Self::A1R5G5B5_UNORM_PACK16 => &FormatCompatibilityInner::Class_16bit, 1002 Self::R8_UNORM => &FormatCompatibilityInner::Class_8bit, 1003 Self::R8_SNORM => &FormatCompatibilityInner::Class_8bit, 1004 Self::R8_USCALED => &FormatCompatibilityInner::Class_8bit, 1005 Self::R8_SSCALED => &FormatCompatibilityInner::Class_8bit, 1006 Self::R8_UINT => &FormatCompatibilityInner::Class_8bit, 1007 Self::R8_SINT => &FormatCompatibilityInner::Class_8bit, 1008 Self::R8_SRGB => &FormatCompatibilityInner::Class_8bit, 1009 Self::R8G8_UNORM => &FormatCompatibilityInner::Class_16bit, 1010 Self::R8G8_SNORM => &FormatCompatibilityInner::Class_16bit, 1011 Self::R8G8_USCALED => &FormatCompatibilityInner::Class_16bit, 1012 Self::R8G8_SSCALED => &FormatCompatibilityInner::Class_16bit, 1013 Self::R8G8_UINT => &FormatCompatibilityInner::Class_16bit, 1014 Self::R8G8_SINT => &FormatCompatibilityInner::Class_16bit, 1015 Self::R8G8_SRGB => &FormatCompatibilityInner::Class_16bit, 1016 Self::R8G8B8_UNORM => &FormatCompatibilityInner::Class_24bit, 1017 Self::R8G8B8_SNORM => &FormatCompatibilityInner::Class_24bit, 1018 Self::R8G8B8_USCALED => &FormatCompatibilityInner::Class_24bit, 1019 Self::R8G8B8_SSCALED => &FormatCompatibilityInner::Class_24bit, 1020 Self::R8G8B8_UINT => &FormatCompatibilityInner::Class_24bit, 1021 Self::R8G8B8_SINT => &FormatCompatibilityInner::Class_24bit, 1022 Self::R8G8B8_SRGB => &FormatCompatibilityInner::Class_24bit, 1023 Self::B8G8R8_UNORM => &FormatCompatibilityInner::Class_24bit, 1024 Self::B8G8R8_SNORM => &FormatCompatibilityInner::Class_24bit, 1025 Self::B8G8R8_USCALED => &FormatCompatibilityInner::Class_24bit, 1026 Self::B8G8R8_SSCALED => &FormatCompatibilityInner::Class_24bit, 1027 Self::B8G8R8_UINT => &FormatCompatibilityInner::Class_24bit, 1028 Self::B8G8R8_SINT => &FormatCompatibilityInner::Class_24bit, 1029 Self::B8G8R8_SRGB => &FormatCompatibilityInner::Class_24bit, 1030 Self::R8G8B8A8_UNORM => &FormatCompatibilityInner::Class_32bit, 1031 Self::R8G8B8A8_SNORM => &FormatCompatibilityInner::Class_32bit, 1032 Self::R8G8B8A8_USCALED => &FormatCompatibilityInner::Class_32bit, 1033 Self::R8G8B8A8_SSCALED => &FormatCompatibilityInner::Class_32bit, 1034 Self::R8G8B8A8_UINT => &FormatCompatibilityInner::Class_32bit, 1035 Self::R8G8B8A8_SINT => &FormatCompatibilityInner::Class_32bit, 1036 Self::R8G8B8A8_SRGB => &FormatCompatibilityInner::Class_32bit, 1037 Self::B8G8R8A8_UNORM => &FormatCompatibilityInner::Class_32bit, 1038 Self::B8G8R8A8_SNORM => &FormatCompatibilityInner::Class_32bit, 1039 Self::B8G8R8A8_USCALED => &FormatCompatibilityInner::Class_32bit, 1040 Self::B8G8R8A8_SSCALED => &FormatCompatibilityInner::Class_32bit, 1041 Self::B8G8R8A8_UINT => &FormatCompatibilityInner::Class_32bit, 1042 Self::B8G8R8A8_SINT => &FormatCompatibilityInner::Class_32bit, 1043 Self::B8G8R8A8_SRGB => &FormatCompatibilityInner::Class_32bit, 1044 Self::A8B8G8R8_UNORM_PACK32 => &FormatCompatibilityInner::Class_32bit, 1045 Self::A8B8G8R8_SNORM_PACK32 => &FormatCompatibilityInner::Class_32bit, 1046 Self::A8B8G8R8_USCALED_PACK32 => &FormatCompatibilityInner::Class_32bit, 1047 Self::A8B8G8R8_SSCALED_PACK32 => &FormatCompatibilityInner::Class_32bit, 1048 Self::A8B8G8R8_UINT_PACK32 => &FormatCompatibilityInner::Class_32bit, 1049 Self::A8B8G8R8_SINT_PACK32 => &FormatCompatibilityInner::Class_32bit, 1050 Self::A8B8G8R8_SRGB_PACK32 => &FormatCompatibilityInner::Class_32bit, 1051 Self::A2R10G10B10_UNORM_PACK32 => &FormatCompatibilityInner::Class_32bit, 1052 Self::A2R10G10B10_SNORM_PACK32 => &FormatCompatibilityInner::Class_32bit, 1053 Self::A2R10G10B10_USCALED_PACK32 => &FormatCompatibilityInner::Class_32bit, 1054 Self::A2R10G10B10_SSCALED_PACK32 => &FormatCompatibilityInner::Class_32bit, 1055 Self::A2R10G10B10_UINT_PACK32 => &FormatCompatibilityInner::Class_32bit, 1056 Self::A2R10G10B10_SINT_PACK32 => &FormatCompatibilityInner::Class_32bit, 1057 Self::A2B10G10R10_UNORM_PACK32 => &FormatCompatibilityInner::Class_32bit, 1058 Self::A2B10G10R10_SNORM_PACK32 => &FormatCompatibilityInner::Class_32bit, 1059 Self::A2B10G10R10_USCALED_PACK32 => &FormatCompatibilityInner::Class_32bit, 1060 Self::A2B10G10R10_SSCALED_PACK32 => &FormatCompatibilityInner::Class_32bit, 1061 Self::A2B10G10R10_UINT_PACK32 => &FormatCompatibilityInner::Class_32bit, 1062 Self::A2B10G10R10_SINT_PACK32 => &FormatCompatibilityInner::Class_32bit, 1063 Self::R16_UNORM => &FormatCompatibilityInner::Class_16bit, 1064 Self::R16_SNORM => &FormatCompatibilityInner::Class_16bit, 1065 Self::R16_USCALED => &FormatCompatibilityInner::Class_16bit, 1066 Self::R16_SSCALED => &FormatCompatibilityInner::Class_16bit, 1067 Self::R16_UINT => &FormatCompatibilityInner::Class_16bit, 1068 Self::R16_SINT => &FormatCompatibilityInner::Class_16bit, 1069 Self::R16_SFLOAT => &FormatCompatibilityInner::Class_16bit, 1070 Self::R16G16_UNORM => &FormatCompatibilityInner::Class_32bit, 1071 Self::R16G16_SNORM => &FormatCompatibilityInner::Class_32bit, 1072 Self::R16G16_USCALED => &FormatCompatibilityInner::Class_32bit, 1073 Self::R16G16_SSCALED => &FormatCompatibilityInner::Class_32bit, 1074 Self::R16G16_UINT => &FormatCompatibilityInner::Class_32bit, 1075 Self::R16G16_SINT => &FormatCompatibilityInner::Class_32bit, 1076 Self::R16G16_SFLOAT => &FormatCompatibilityInner::Class_32bit, 1077 Self::R16G16B16_UNORM => &FormatCompatibilityInner::Class_48bit, 1078 Self::R16G16B16_SNORM => &FormatCompatibilityInner::Class_48bit, 1079 Self::R16G16B16_USCALED => &FormatCompatibilityInner::Class_48bit, 1080 Self::R16G16B16_SSCALED => &FormatCompatibilityInner::Class_48bit, 1081 Self::R16G16B16_UINT => &FormatCompatibilityInner::Class_48bit, 1082 Self::R16G16B16_SINT => &FormatCompatibilityInner::Class_48bit, 1083 Self::R16G16B16_SFLOAT => &FormatCompatibilityInner::Class_48bit, 1084 Self::R16G16B16A16_UNORM => &FormatCompatibilityInner::Class_64bit, 1085 Self::R16G16B16A16_SNORM => &FormatCompatibilityInner::Class_64bit, 1086 Self::R16G16B16A16_USCALED => &FormatCompatibilityInner::Class_64bit, 1087 Self::R16G16B16A16_SSCALED => &FormatCompatibilityInner::Class_64bit, 1088 Self::R16G16B16A16_UINT => &FormatCompatibilityInner::Class_64bit, 1089 Self::R16G16B16A16_SINT => &FormatCompatibilityInner::Class_64bit, 1090 Self::R16G16B16A16_SFLOAT => &FormatCompatibilityInner::Class_64bit, 1091 Self::R32_UINT => &FormatCompatibilityInner::Class_32bit, 1092 Self::R32_SINT => &FormatCompatibilityInner::Class_32bit, 1093 Self::R32_SFLOAT => &FormatCompatibilityInner::Class_32bit, 1094 Self::R32G32_UINT => &FormatCompatibilityInner::Class_64bit, 1095 Self::R32G32_SINT => &FormatCompatibilityInner::Class_64bit, 1096 Self::R32G32_SFLOAT => &FormatCompatibilityInner::Class_64bit, 1097 Self::R32G32B32_UINT => &FormatCompatibilityInner::Class_96bit, 1098 Self::R32G32B32_SINT => &FormatCompatibilityInner::Class_96bit, 1099 Self::R32G32B32_SFLOAT => &FormatCompatibilityInner::Class_96bit, 1100 Self::R32G32B32A32_UINT => &FormatCompatibilityInner::Class_128bit, 1101 Self::R32G32B32A32_SINT => &FormatCompatibilityInner::Class_128bit, 1102 Self::R32G32B32A32_SFLOAT => &FormatCompatibilityInner::Class_128bit, 1103 Self::R64_UINT => &FormatCompatibilityInner::Class_64bit, 1104 Self::R64_SINT => &FormatCompatibilityInner::Class_64bit, 1105 Self::R64_SFLOAT => &FormatCompatibilityInner::Class_64bit, 1106 Self::R64G64_UINT => &FormatCompatibilityInner::Class_128bit, 1107 Self::R64G64_SINT => &FormatCompatibilityInner::Class_128bit, 1108 Self::R64G64_SFLOAT => &FormatCompatibilityInner::Class_128bit, 1109 Self::R64G64B64_UINT => &FormatCompatibilityInner::Class_192bit, 1110 Self::R64G64B64_SINT => &FormatCompatibilityInner::Class_192bit, 1111 Self::R64G64B64_SFLOAT => &FormatCompatibilityInner::Class_192bit, 1112 Self::R64G64B64A64_UINT => &FormatCompatibilityInner::Class_256bit, 1113 Self::R64G64B64A64_SINT => &FormatCompatibilityInner::Class_256bit, 1114 Self::R64G64B64A64_SFLOAT => &FormatCompatibilityInner::Class_256bit, 1115 Self::B10G11R11_UFLOAT_PACK32 => &FormatCompatibilityInner::Class_32bit, 1116 Self::E5B9G9R9_UFLOAT_PACK32 => &FormatCompatibilityInner::Class_32bit, 1117 Self::D16_UNORM => &FormatCompatibilityInner::Class_D16, 1118 Self::X8_D24_UNORM_PACK32 => &FormatCompatibilityInner::Class_D24, 1119 Self::D32_SFLOAT => &FormatCompatibilityInner::Class_D32, 1120 Self::S8_UINT => &FormatCompatibilityInner::Class_S8, 1121 Self::D16_UNORM_S8_UINT => &FormatCompatibilityInner::Class_D16S8, 1122 Self::D24_UNORM_S8_UINT => &FormatCompatibilityInner::Class_D24S8, 1123 Self::D32_SFLOAT_S8_UINT => &FormatCompatibilityInner::Class_D32S8, 1124 Self::BC1_RGB_UNORM_BLOCK => &FormatCompatibilityInner::Class_BC1_RGB, 1125 Self::BC1_RGB_SRGB_BLOCK => &FormatCompatibilityInner::Class_BC1_RGB, 1126 Self::BC1_RGBA_UNORM_BLOCK => &FormatCompatibilityInner::Class_BC1_RGBA, 1127 Self::BC1_RGBA_SRGB_BLOCK => &FormatCompatibilityInner::Class_BC1_RGBA, 1128 Self::BC2_UNORM_BLOCK => &FormatCompatibilityInner::Class_BC2, 1129 Self::BC2_SRGB_BLOCK => &FormatCompatibilityInner::Class_BC2, 1130 Self::BC3_UNORM_BLOCK => &FormatCompatibilityInner::Class_BC3, 1131 Self::BC3_SRGB_BLOCK => &FormatCompatibilityInner::Class_BC3, 1132 Self::BC4_UNORM_BLOCK => &FormatCompatibilityInner::Class_BC4, 1133 Self::BC4_SNORM_BLOCK => &FormatCompatibilityInner::Class_BC4, 1134 Self::BC5_UNORM_BLOCK => &FormatCompatibilityInner::Class_BC5, 1135 Self::BC5_SNORM_BLOCK => &FormatCompatibilityInner::Class_BC5, 1136 Self::BC6H_UFLOAT_BLOCK => &FormatCompatibilityInner::Class_BC6H, 1137 Self::BC6H_SFLOAT_BLOCK => &FormatCompatibilityInner::Class_BC6H, 1138 Self::BC7_UNORM_BLOCK => &FormatCompatibilityInner::Class_BC7, 1139 Self::BC7_SRGB_BLOCK => &FormatCompatibilityInner::Class_BC7, 1140 Self::ETC2_R8G8B8_UNORM_BLOCK => &FormatCompatibilityInner::Class_ETC2_RGB, 1141 Self::ETC2_R8G8B8_SRGB_BLOCK => &FormatCompatibilityInner::Class_ETC2_RGB, 1142 Self::ETC2_R8G8B8A1_UNORM_BLOCK => &FormatCompatibilityInner::Class_ETC2_RGBA, 1143 Self::ETC2_R8G8B8A1_SRGB_BLOCK => &FormatCompatibilityInner::Class_ETC2_RGBA, 1144 Self::ETC2_R8G8B8A8_UNORM_BLOCK => &FormatCompatibilityInner::Class_ETC2_EAC_RGBA, 1145 Self::ETC2_R8G8B8A8_SRGB_BLOCK => &FormatCompatibilityInner::Class_ETC2_EAC_RGBA, 1146 Self::EAC_R11_UNORM_BLOCK => &FormatCompatibilityInner::Class_EAC_R, 1147 Self::EAC_R11_SNORM_BLOCK => &FormatCompatibilityInner::Class_EAC_R, 1148 Self::EAC_R11G11_UNORM_BLOCK => &FormatCompatibilityInner::Class_EAC_RG, 1149 Self::EAC_R11G11_SNORM_BLOCK => &FormatCompatibilityInner::Class_EAC_RG, 1150 Self::ASTC_4x4_UNORM_BLOCK => &FormatCompatibilityInner::Class_ASTC_4x4, 1151 Self::ASTC_4x4_SRGB_BLOCK => &FormatCompatibilityInner::Class_ASTC_4x4, 1152 Self::ASTC_5x4_UNORM_BLOCK => &FormatCompatibilityInner::Class_ASTC_5x4, 1153 Self::ASTC_5x4_SRGB_BLOCK => &FormatCompatibilityInner::Class_ASTC_5x4, 1154 Self::ASTC_5x5_UNORM_BLOCK => &FormatCompatibilityInner::Class_ASTC_5x5, 1155 Self::ASTC_5x5_SRGB_BLOCK => &FormatCompatibilityInner::Class_ASTC_5x5, 1156 Self::ASTC_6x5_UNORM_BLOCK => &FormatCompatibilityInner::Class_ASTC_6x5, 1157 Self::ASTC_6x5_SRGB_BLOCK => &FormatCompatibilityInner::Class_ASTC_6x5, 1158 Self::ASTC_6x6_UNORM_BLOCK => &FormatCompatibilityInner::Class_ASTC_6x6, 1159 Self::ASTC_6x6_SRGB_BLOCK => &FormatCompatibilityInner::Class_ASTC_6x6, 1160 Self::ASTC_8x5_UNORM_BLOCK => &FormatCompatibilityInner::Class_ASTC_8x5, 1161 Self::ASTC_8x5_SRGB_BLOCK => &FormatCompatibilityInner::Class_ASTC_8x5, 1162 Self::ASTC_8x6_UNORM_BLOCK => &FormatCompatibilityInner::Class_ASTC_8x6, 1163 Self::ASTC_8x6_SRGB_BLOCK => &FormatCompatibilityInner::Class_ASTC_8x6, 1164 Self::ASTC_8x8_UNORM_BLOCK => &FormatCompatibilityInner::Class_ASTC_8x8, 1165 Self::ASTC_8x8_SRGB_BLOCK => &FormatCompatibilityInner::Class_ASTC_8x8, 1166 Self::ASTC_10x5_UNORM_BLOCK => &FormatCompatibilityInner::Class_ASTC_10x5, 1167 Self::ASTC_10x5_SRGB_BLOCK => &FormatCompatibilityInner::Class_ASTC_10x5, 1168 Self::ASTC_10x6_UNORM_BLOCK => &FormatCompatibilityInner::Class_ASTC_10x6, 1169 Self::ASTC_10x6_SRGB_BLOCK => &FormatCompatibilityInner::Class_ASTC_10x6, 1170 Self::ASTC_10x8_UNORM_BLOCK => &FormatCompatibilityInner::Class_ASTC_10x8, 1171 Self::ASTC_10x8_SRGB_BLOCK => &FormatCompatibilityInner::Class_ASTC_10x8, 1172 Self::ASTC_10x10_UNORM_BLOCK => &FormatCompatibilityInner::Class_ASTC_10x10, 1173 Self::ASTC_10x10_SRGB_BLOCK => &FormatCompatibilityInner::Class_ASTC_10x10, 1174 Self::ASTC_12x10_UNORM_BLOCK => &FormatCompatibilityInner::Class_ASTC_12x10, 1175 Self::ASTC_12x10_SRGB_BLOCK => &FormatCompatibilityInner::Class_ASTC_12x10, 1176 Self::ASTC_12x12_UNORM_BLOCK => &FormatCompatibilityInner::Class_ASTC_12x12, 1177 Self::ASTC_12x12_SRGB_BLOCK => &FormatCompatibilityInner::Class_ASTC_12x12, 1178 Self::G8B8G8R8_422_UNORM => &FormatCompatibilityInner::Class_32bit_G8B8G8R8, 1179 Self::B8G8R8G8_422_UNORM => &FormatCompatibilityInner::Class_32bit_B8G8R8G8, 1180 Self::G8_B8_R8_3PLANE_420_UNORM => &FormatCompatibilityInner::Class_8bit_3plane_420, 1181 Self::G8_B8R8_2PLANE_420_UNORM => &FormatCompatibilityInner::Class_8bit_2plane_420, 1182 Self::G8_B8_R8_3PLANE_422_UNORM => &FormatCompatibilityInner::Class_8bit_3plane_422, 1183 Self::G8_B8R8_2PLANE_422_UNORM => &FormatCompatibilityInner::Class_8bit_2plane_422, 1184 Self::G8_B8_R8_3PLANE_444_UNORM => &FormatCompatibilityInner::Class_8bit_3plane_444, 1185 Self::R10X6_UNORM_PACK16 => &FormatCompatibilityInner::Class_16bit, 1186 Self::R10X6G10X6_UNORM_2PACK16 => &FormatCompatibilityInner::Class_32bit, 1187 Self::R10X6G10X6B10X6A10X6_UNORM_4PACK16 => { 1188 &FormatCompatibilityInner::Class_64bit_R10G10B10A10 1189 } 1190 Self::G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 => { 1191 &FormatCompatibilityInner::Class_64bit_G10B10G10R10 1192 } 1193 Self::B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 => { 1194 &FormatCompatibilityInner::Class_64bit_B10G10R10G10 1195 } 1196 Self::G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 => { 1197 &FormatCompatibilityInner::Class_10bit_3plane_420 1198 } 1199 Self::G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 => { 1200 &FormatCompatibilityInner::Class_10bit_2plane_420 1201 } 1202 Self::G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 => { 1203 &FormatCompatibilityInner::Class_10bit_3plane_422 1204 } 1205 Self::G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 => { 1206 &FormatCompatibilityInner::Class_10bit_2plane_422 1207 } 1208 Self::G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 => { 1209 &FormatCompatibilityInner::Class_10bit_3plane_444 1210 } 1211 Self::R12X4_UNORM_PACK16 => &FormatCompatibilityInner::Class_16bit, 1212 Self::R12X4G12X4_UNORM_2PACK16 => &FormatCompatibilityInner::Class_32bit, 1213 Self::R12X4G12X4B12X4A12X4_UNORM_4PACK16 => { 1214 &FormatCompatibilityInner::Class_64bit_R12G12B12A12 1215 } 1216 Self::G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 => { 1217 &FormatCompatibilityInner::Class_64bit_G12B12G12R12 1218 } 1219 Self::B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 => { 1220 &FormatCompatibilityInner::Class_64bit_B12G12R12G12 1221 } 1222 Self::G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 => { 1223 &FormatCompatibilityInner::Class_12bit_3plane_420 1224 } 1225 Self::G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 => { 1226 &FormatCompatibilityInner::Class_12bit_2plane_420 1227 } 1228 Self::G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 => { 1229 &FormatCompatibilityInner::Class_12bit_3plane_422 1230 } 1231 Self::G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 => { 1232 &FormatCompatibilityInner::Class_12bit_2plane_422 1233 } 1234 Self::G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 => { 1235 &FormatCompatibilityInner::Class_12bit_3plane_444 1236 } 1237 Self::G16B16G16R16_422_UNORM => &FormatCompatibilityInner::Class_64bit_G16B16G16R16, 1238 Self::B16G16R16G16_422_UNORM => &FormatCompatibilityInner::Class_64bit_B16G16R16G16, 1239 Self::G16_B16_R16_3PLANE_420_UNORM => &FormatCompatibilityInner::Class_16bit_3plane_420, 1240 Self::G16_B16R16_2PLANE_420_UNORM => &FormatCompatibilityInner::Class_16bit_2plane_420, 1241 Self::G16_B16_R16_3PLANE_422_UNORM => &FormatCompatibilityInner::Class_16bit_3plane_422, 1242 Self::G16_B16R16_2PLANE_422_UNORM => &FormatCompatibilityInner::Class_16bit_2plane_422, 1243 Self::G16_B16_R16_3PLANE_444_UNORM => &FormatCompatibilityInner::Class_16bit_3plane_444, 1244 Self::PVRTC1_2BPP_UNORM_BLOCK => &FormatCompatibilityInner::Class_PVRTC1_2BPP, 1245 Self::PVRTC1_4BPP_UNORM_BLOCK => &FormatCompatibilityInner::Class_PVRTC1_4BPP, 1246 Self::PVRTC2_2BPP_UNORM_BLOCK => &FormatCompatibilityInner::Class_PVRTC2_2BPP, 1247 Self::PVRTC2_4BPP_UNORM_BLOCK => &FormatCompatibilityInner::Class_PVRTC2_4BPP, 1248 Self::PVRTC1_2BPP_SRGB_BLOCK => &FormatCompatibilityInner::Class_PVRTC1_2BPP, 1249 Self::PVRTC1_4BPP_SRGB_BLOCK => &FormatCompatibilityInner::Class_PVRTC1_4BPP, 1250 Self::PVRTC2_2BPP_SRGB_BLOCK => &FormatCompatibilityInner::Class_PVRTC2_2BPP, 1251 Self::PVRTC2_4BPP_SRGB_BLOCK => &FormatCompatibilityInner::Class_PVRTC2_4BPP, 1252 Self::ASTC_4x4_SFLOAT_BLOCK => &FormatCompatibilityInner::Class_ASTC_4x4, 1253 Self::ASTC_5x4_SFLOAT_BLOCK => &FormatCompatibilityInner::Class_ASTC_5x4, 1254 Self::ASTC_5x5_SFLOAT_BLOCK => &FormatCompatibilityInner::Class_ASTC_5x5, 1255 Self::ASTC_6x5_SFLOAT_BLOCK => &FormatCompatibilityInner::Class_ASTC_6x5, 1256 Self::ASTC_6x6_SFLOAT_BLOCK => &FormatCompatibilityInner::Class_ASTC_6x6, 1257 Self::ASTC_8x5_SFLOAT_BLOCK => &FormatCompatibilityInner::Class_ASTC_8x5, 1258 Self::ASTC_8x6_SFLOAT_BLOCK => &FormatCompatibilityInner::Class_ASTC_8x6, 1259 Self::ASTC_8x8_SFLOAT_BLOCK => &FormatCompatibilityInner::Class_ASTC_8x8, 1260 Self::ASTC_10x5_SFLOAT_BLOCK => &FormatCompatibilityInner::Class_ASTC_10x5, 1261 Self::ASTC_10x6_SFLOAT_BLOCK => &FormatCompatibilityInner::Class_ASTC_10x6, 1262 Self::ASTC_10x8_SFLOAT_BLOCK => &FormatCompatibilityInner::Class_ASTC_10x8, 1263 Self::ASTC_10x10_SFLOAT_BLOCK => &FormatCompatibilityInner::Class_ASTC_10x10, 1264 Self::ASTC_12x10_SFLOAT_BLOCK => &FormatCompatibilityInner::Class_ASTC_12x10, 1265 Self::ASTC_12x12_SFLOAT_BLOCK => &FormatCompatibilityInner::Class_ASTC_12x12, 1266 Self::G8_B8R8_2PLANE_444_UNORM => &FormatCompatibilityInner::Class_8bit_2plane_444, 1267 Self::G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 => { 1268 &FormatCompatibilityInner::Class_10bit_2plane_444 1269 } 1270 Self::G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 => { 1271 &FormatCompatibilityInner::Class_12bit_2plane_444 1272 } 1273 Self::G16_B16R16_2PLANE_444_UNORM => &FormatCompatibilityInner::Class_16bit_2plane_444, 1274 Self::A4R4G4B4_UNORM_PACK16 => &FormatCompatibilityInner::Class_16bit, 1275 Self::A4B4G4R4_UNORM_PACK16 => &FormatCompatibilityInner::Class_16bit, 1276 Self::R16G16_S10_5_NV => &FormatCompatibilityInner::Class_32bit, 1277 }) 1278 } 1279 #[doc = r" Returns the number of bits per texel block that each component (R, G, B, A) is"] 1280 #[doc = r" represented with. Components that are not present in the format have 0 bits."] 1281 #[doc = r""] 1282 #[doc = r" For depth/stencil formats, the depth component is the first, stencil the second. For"] 1283 #[doc = r" multi-planar formats, this is the number of bits across all planes."] 1284 #[doc = r""] 1285 #[doc = r" For block-compressed formats, the number of bits in individual components is not"] 1286 #[doc = r" well-defined, and the return value is merely binary: 1 indicates a component"] 1287 #[doc = r" that is present in the format, 0 indicates one that is absent."] components(self) -> [u8; 4]1288 pub fn components(self) -> [u8; 4] { 1289 match self { 1290 Self::R4G4_UNORM_PACK8 => [4, 4, 0, 0], 1291 Self::R4G4B4A4_UNORM_PACK16 => [4, 4, 4, 4], 1292 Self::B4G4R4A4_UNORM_PACK16 => [4, 4, 4, 4], 1293 Self::R5G6B5_UNORM_PACK16 => [5, 6, 5, 0], 1294 Self::B5G6R5_UNORM_PACK16 => [5, 6, 5, 0], 1295 Self::R5G5B5A1_UNORM_PACK16 => [5, 5, 5, 1], 1296 Self::B5G5R5A1_UNORM_PACK16 => [5, 5, 5, 1], 1297 Self::A1R5G5B5_UNORM_PACK16 => [5, 5, 5, 1], 1298 Self::R8_UNORM => [8, 0, 0, 0], 1299 Self::R8_SNORM => [8, 0, 0, 0], 1300 Self::R8_USCALED => [8, 0, 0, 0], 1301 Self::R8_SSCALED => [8, 0, 0, 0], 1302 Self::R8_UINT => [8, 0, 0, 0], 1303 Self::R8_SINT => [8, 0, 0, 0], 1304 Self::R8_SRGB => [8, 0, 0, 0], 1305 Self::R8G8_UNORM => [8, 8, 0, 0], 1306 Self::R8G8_SNORM => [8, 8, 0, 0], 1307 Self::R8G8_USCALED => [8, 8, 0, 0], 1308 Self::R8G8_SSCALED => [8, 8, 0, 0], 1309 Self::R8G8_UINT => [8, 8, 0, 0], 1310 Self::R8G8_SINT => [8, 8, 0, 0], 1311 Self::R8G8_SRGB => [8, 8, 0, 0], 1312 Self::R8G8B8_UNORM => [8, 8, 8, 0], 1313 Self::R8G8B8_SNORM => [8, 8, 8, 0], 1314 Self::R8G8B8_USCALED => [8, 8, 8, 0], 1315 Self::R8G8B8_SSCALED => [8, 8, 8, 0], 1316 Self::R8G8B8_UINT => [8, 8, 8, 0], 1317 Self::R8G8B8_SINT => [8, 8, 8, 0], 1318 Self::R8G8B8_SRGB => [8, 8, 8, 0], 1319 Self::B8G8R8_UNORM => [8, 8, 8, 0], 1320 Self::B8G8R8_SNORM => [8, 8, 8, 0], 1321 Self::B8G8R8_USCALED => [8, 8, 8, 0], 1322 Self::B8G8R8_SSCALED => [8, 8, 8, 0], 1323 Self::B8G8R8_UINT => [8, 8, 8, 0], 1324 Self::B8G8R8_SINT => [8, 8, 8, 0], 1325 Self::B8G8R8_SRGB => [8, 8, 8, 0], 1326 Self::R8G8B8A8_UNORM => [8, 8, 8, 8], 1327 Self::R8G8B8A8_SNORM => [8, 8, 8, 8], 1328 Self::R8G8B8A8_USCALED => [8, 8, 8, 8], 1329 Self::R8G8B8A8_SSCALED => [8, 8, 8, 8], 1330 Self::R8G8B8A8_UINT => [8, 8, 8, 8], 1331 Self::R8G8B8A8_SINT => [8, 8, 8, 8], 1332 Self::R8G8B8A8_SRGB => [8, 8, 8, 8], 1333 Self::B8G8R8A8_UNORM => [8, 8, 8, 8], 1334 Self::B8G8R8A8_SNORM => [8, 8, 8, 8], 1335 Self::B8G8R8A8_USCALED => [8, 8, 8, 8], 1336 Self::B8G8R8A8_SSCALED => [8, 8, 8, 8], 1337 Self::B8G8R8A8_UINT => [8, 8, 8, 8], 1338 Self::B8G8R8A8_SINT => [8, 8, 8, 8], 1339 Self::B8G8R8A8_SRGB => [8, 8, 8, 8], 1340 Self::A8B8G8R8_UNORM_PACK32 => [8, 8, 8, 8], 1341 Self::A8B8G8R8_SNORM_PACK32 => [8, 8, 8, 8], 1342 Self::A8B8G8R8_USCALED_PACK32 => [8, 8, 8, 8], 1343 Self::A8B8G8R8_SSCALED_PACK32 => [8, 8, 8, 8], 1344 Self::A8B8G8R8_UINT_PACK32 => [8, 8, 8, 8], 1345 Self::A8B8G8R8_SINT_PACK32 => [8, 8, 8, 8], 1346 Self::A8B8G8R8_SRGB_PACK32 => [8, 8, 8, 8], 1347 Self::A2R10G10B10_UNORM_PACK32 => [10, 10, 10, 2], 1348 Self::A2R10G10B10_SNORM_PACK32 => [10, 10, 10, 2], 1349 Self::A2R10G10B10_USCALED_PACK32 => [10, 10, 10, 2], 1350 Self::A2R10G10B10_SSCALED_PACK32 => [10, 10, 10, 2], 1351 Self::A2R10G10B10_UINT_PACK32 => [10, 10, 10, 2], 1352 Self::A2R10G10B10_SINT_PACK32 => [10, 10, 10, 2], 1353 Self::A2B10G10R10_UNORM_PACK32 => [10, 10, 10, 2], 1354 Self::A2B10G10R10_SNORM_PACK32 => [10, 10, 10, 2], 1355 Self::A2B10G10R10_USCALED_PACK32 => [10, 10, 10, 2], 1356 Self::A2B10G10R10_SSCALED_PACK32 => [10, 10, 10, 2], 1357 Self::A2B10G10R10_UINT_PACK32 => [10, 10, 10, 2], 1358 Self::A2B10G10R10_SINT_PACK32 => [10, 10, 10, 2], 1359 Self::R16_UNORM => [16, 0, 0, 0], 1360 Self::R16_SNORM => [16, 0, 0, 0], 1361 Self::R16_USCALED => [16, 0, 0, 0], 1362 Self::R16_SSCALED => [16, 0, 0, 0], 1363 Self::R16_UINT => [16, 0, 0, 0], 1364 Self::R16_SINT => [16, 0, 0, 0], 1365 Self::R16_SFLOAT => [16, 0, 0, 0], 1366 Self::R16G16_UNORM => [16, 16, 0, 0], 1367 Self::R16G16_SNORM => [16, 16, 0, 0], 1368 Self::R16G16_USCALED => [16, 16, 0, 0], 1369 Self::R16G16_SSCALED => [16, 16, 0, 0], 1370 Self::R16G16_UINT => [16, 16, 0, 0], 1371 Self::R16G16_SINT => [16, 16, 0, 0], 1372 Self::R16G16_SFLOAT => [16, 16, 0, 0], 1373 Self::R16G16B16_UNORM => [16, 16, 16, 0], 1374 Self::R16G16B16_SNORM => [16, 16, 16, 0], 1375 Self::R16G16B16_USCALED => [16, 16, 16, 0], 1376 Self::R16G16B16_SSCALED => [16, 16, 16, 0], 1377 Self::R16G16B16_UINT => [16, 16, 16, 0], 1378 Self::R16G16B16_SINT => [16, 16, 16, 0], 1379 Self::R16G16B16_SFLOAT => [16, 16, 16, 0], 1380 Self::R16G16B16A16_UNORM => [16, 16, 16, 16], 1381 Self::R16G16B16A16_SNORM => [16, 16, 16, 16], 1382 Self::R16G16B16A16_USCALED => [16, 16, 16, 16], 1383 Self::R16G16B16A16_SSCALED => [16, 16, 16, 16], 1384 Self::R16G16B16A16_UINT => [16, 16, 16, 16], 1385 Self::R16G16B16A16_SINT => [16, 16, 16, 16], 1386 Self::R16G16B16A16_SFLOAT => [16, 16, 16, 16], 1387 Self::R32_UINT => [32, 0, 0, 0], 1388 Self::R32_SINT => [32, 0, 0, 0], 1389 Self::R32_SFLOAT => [32, 0, 0, 0], 1390 Self::R32G32_UINT => [32, 32, 0, 0], 1391 Self::R32G32_SINT => [32, 32, 0, 0], 1392 Self::R32G32_SFLOAT => [32, 32, 0, 0], 1393 Self::R32G32B32_UINT => [32, 32, 32, 0], 1394 Self::R32G32B32_SINT => [32, 32, 32, 0], 1395 Self::R32G32B32_SFLOAT => [32, 32, 32, 0], 1396 Self::R32G32B32A32_UINT => [32, 32, 32, 32], 1397 Self::R32G32B32A32_SINT => [32, 32, 32, 32], 1398 Self::R32G32B32A32_SFLOAT => [32, 32, 32, 32], 1399 Self::R64_UINT => [64, 0, 0, 0], 1400 Self::R64_SINT => [64, 0, 0, 0], 1401 Self::R64_SFLOAT => [64, 0, 0, 0], 1402 Self::R64G64_UINT => [64, 0, 64, 0], 1403 Self::R64G64_SINT => [64, 0, 64, 0], 1404 Self::R64G64_SFLOAT => [64, 0, 64, 0], 1405 Self::R64G64B64_UINT => [64, 64, 64, 0], 1406 Self::R64G64B64_SINT => [64, 64, 64, 0], 1407 Self::R64G64B64_SFLOAT => [64, 64, 64, 0], 1408 Self::R64G64B64A64_UINT => [64, 64, 64, 64], 1409 Self::R64G64B64A64_SINT => [64, 64, 64, 64], 1410 Self::R64G64B64A64_SFLOAT => [64, 64, 64, 64], 1411 Self::B10G11R11_UFLOAT_PACK32 => [10, 11, 10, 0], 1412 Self::E5B9G9R9_UFLOAT_PACK32 => [9, 9, 9, 0], 1413 Self::D16_UNORM => [16, 0, 0, 0], 1414 Self::X8_D24_UNORM_PACK32 => [24, 0, 0, 0], 1415 Self::D32_SFLOAT => [32, 0, 0, 0], 1416 Self::S8_UINT => [0, 8, 0, 0], 1417 Self::D16_UNORM_S8_UINT => [16, 8, 0, 0], 1418 Self::D24_UNORM_S8_UINT => [24, 8, 0, 0], 1419 Self::D32_SFLOAT_S8_UINT => [32, 8, 0, 0], 1420 Self::BC1_RGB_UNORM_BLOCK => [1, 1, 1, 0], 1421 Self::BC1_RGB_SRGB_BLOCK => [1, 1, 1, 0], 1422 Self::BC1_RGBA_UNORM_BLOCK => [1, 1, 1, 1], 1423 Self::BC1_RGBA_SRGB_BLOCK => [1, 1, 1, 1], 1424 Self::BC2_UNORM_BLOCK => [1, 1, 1, 1], 1425 Self::BC2_SRGB_BLOCK => [1, 1, 1, 1], 1426 Self::BC3_UNORM_BLOCK => [1, 1, 1, 1], 1427 Self::BC3_SRGB_BLOCK => [1, 1, 1, 1], 1428 Self::BC4_UNORM_BLOCK => [1, 0, 0, 0], 1429 Self::BC4_SNORM_BLOCK => [1, 0, 0, 0], 1430 Self::BC5_UNORM_BLOCK => [1, 1, 0, 0], 1431 Self::BC5_SNORM_BLOCK => [1, 1, 0, 0], 1432 Self::BC6H_UFLOAT_BLOCK => [1, 1, 1, 0], 1433 Self::BC6H_SFLOAT_BLOCK => [1, 1, 1, 0], 1434 Self::BC7_UNORM_BLOCK => [1, 1, 1, 1], 1435 Self::BC7_SRGB_BLOCK => [1, 1, 1, 1], 1436 Self::ETC2_R8G8B8_UNORM_BLOCK => [1, 1, 1, 0], 1437 Self::ETC2_R8G8B8_SRGB_BLOCK => [1, 1, 1, 0], 1438 Self::ETC2_R8G8B8A1_UNORM_BLOCK => [1, 1, 1, 1], 1439 Self::ETC2_R8G8B8A1_SRGB_BLOCK => [1, 1, 1, 1], 1440 Self::ETC2_R8G8B8A8_UNORM_BLOCK => [1, 1, 1, 1], 1441 Self::ETC2_R8G8B8A8_SRGB_BLOCK => [1, 1, 1, 1], 1442 Self::EAC_R11_UNORM_BLOCK => [11, 0, 0, 0], 1443 Self::EAC_R11_SNORM_BLOCK => [11, 0, 0, 0], 1444 Self::EAC_R11G11_UNORM_BLOCK => [11, 11, 0, 0], 1445 Self::EAC_R11G11_SNORM_BLOCK => [11, 11, 0, 0], 1446 Self::ASTC_4x4_UNORM_BLOCK => [1, 1, 1, 1], 1447 Self::ASTC_4x4_SRGB_BLOCK => [1, 1, 1, 1], 1448 Self::ASTC_5x4_UNORM_BLOCK => [1, 1, 1, 1], 1449 Self::ASTC_5x4_SRGB_BLOCK => [1, 1, 1, 1], 1450 Self::ASTC_5x5_UNORM_BLOCK => [1, 1, 1, 1], 1451 Self::ASTC_5x5_SRGB_BLOCK => [1, 1, 1, 1], 1452 Self::ASTC_6x5_UNORM_BLOCK => [1, 1, 1, 1], 1453 Self::ASTC_6x5_SRGB_BLOCK => [1, 1, 1, 1], 1454 Self::ASTC_6x6_UNORM_BLOCK => [1, 1, 1, 1], 1455 Self::ASTC_6x6_SRGB_BLOCK => [1, 1, 1, 1], 1456 Self::ASTC_8x5_UNORM_BLOCK => [1, 1, 1, 1], 1457 Self::ASTC_8x5_SRGB_BLOCK => [1, 1, 1, 1], 1458 Self::ASTC_8x6_UNORM_BLOCK => [1, 1, 1, 1], 1459 Self::ASTC_8x6_SRGB_BLOCK => [1, 1, 1, 1], 1460 Self::ASTC_8x8_UNORM_BLOCK => [1, 1, 1, 1], 1461 Self::ASTC_8x8_SRGB_BLOCK => [1, 1, 1, 1], 1462 Self::ASTC_10x5_UNORM_BLOCK => [1, 1, 1, 1], 1463 Self::ASTC_10x5_SRGB_BLOCK => [1, 1, 1, 1], 1464 Self::ASTC_10x6_UNORM_BLOCK => [1, 1, 1, 1], 1465 Self::ASTC_10x6_SRGB_BLOCK => [1, 1, 1, 1], 1466 Self::ASTC_10x8_UNORM_BLOCK => [1, 1, 1, 1], 1467 Self::ASTC_10x8_SRGB_BLOCK => [1, 1, 1, 1], 1468 Self::ASTC_10x10_UNORM_BLOCK => [1, 1, 1, 1], 1469 Self::ASTC_10x10_SRGB_BLOCK => [1, 1, 1, 1], 1470 Self::ASTC_12x10_UNORM_BLOCK => [1, 1, 1, 1], 1471 Self::ASTC_12x10_SRGB_BLOCK => [1, 1, 1, 1], 1472 Self::ASTC_12x12_UNORM_BLOCK => [1, 1, 1, 1], 1473 Self::ASTC_12x12_SRGB_BLOCK => [1, 1, 1, 1], 1474 Self::G8B8G8R8_422_UNORM => [8, 16, 8, 0], 1475 Self::B8G8R8G8_422_UNORM => [8, 16, 8, 0], 1476 Self::G8_B8_R8_3PLANE_420_UNORM => [8, 8, 8, 0], 1477 Self::G8_B8R8_2PLANE_420_UNORM => [8, 8, 8, 0], 1478 Self::G8_B8_R8_3PLANE_422_UNORM => [8, 8, 8, 0], 1479 Self::G8_B8R8_2PLANE_422_UNORM => [8, 8, 8, 0], 1480 Self::G8_B8_R8_3PLANE_444_UNORM => [8, 8, 8, 0], 1481 Self::R10X6_UNORM_PACK16 => [10, 0, 0, 0], 1482 Self::R10X6G10X6_UNORM_2PACK16 => [10, 10, 0, 0], 1483 Self::R10X6G10X6B10X6A10X6_UNORM_4PACK16 => [10, 10, 10, 10], 1484 Self::G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 => [10, 20, 10, 0], 1485 Self::B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 => [10, 20, 10, 0], 1486 Self::G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 => [10, 10, 10, 0], 1487 Self::G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 => [10, 10, 10, 0], 1488 Self::G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 => [10, 10, 10, 0], 1489 Self::G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 => [10, 10, 10, 0], 1490 Self::G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 => [10, 10, 10, 0], 1491 Self::R12X4_UNORM_PACK16 => [12, 0, 0, 0], 1492 Self::R12X4G12X4_UNORM_2PACK16 => [12, 12, 0, 0], 1493 Self::R12X4G12X4B12X4A12X4_UNORM_4PACK16 => [12, 12, 12, 12], 1494 Self::G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 => [12, 24, 12, 0], 1495 Self::B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 => [12, 24, 12, 0], 1496 Self::G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 => [12, 12, 12, 0], 1497 Self::G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 => [12, 12, 12, 0], 1498 Self::G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 => [12, 12, 12, 0], 1499 Self::G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 => [12, 12, 12, 0], 1500 Self::G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 => [12, 12, 12, 0], 1501 Self::G16B16G16R16_422_UNORM => [16, 32, 16, 0], 1502 Self::B16G16R16G16_422_UNORM => [16, 32, 16, 0], 1503 Self::G16_B16_R16_3PLANE_420_UNORM => [16, 16, 16, 0], 1504 Self::G16_B16R16_2PLANE_420_UNORM => [16, 16, 16, 0], 1505 Self::G16_B16_R16_3PLANE_422_UNORM => [16, 16, 16, 0], 1506 Self::G16_B16R16_2PLANE_422_UNORM => [16, 16, 16, 0], 1507 Self::G16_B16_R16_3PLANE_444_UNORM => [16, 16, 16, 0], 1508 Self::PVRTC1_2BPP_UNORM_BLOCK => [1, 1, 1, 1], 1509 Self::PVRTC1_4BPP_UNORM_BLOCK => [1, 1, 1, 1], 1510 Self::PVRTC2_2BPP_UNORM_BLOCK => [1, 1, 1, 1], 1511 Self::PVRTC2_4BPP_UNORM_BLOCK => [1, 1, 1, 1], 1512 Self::PVRTC1_2BPP_SRGB_BLOCK => [1, 1, 1, 1], 1513 Self::PVRTC1_4BPP_SRGB_BLOCK => [1, 1, 1, 1], 1514 Self::PVRTC2_2BPP_SRGB_BLOCK => [1, 1, 1, 1], 1515 Self::PVRTC2_4BPP_SRGB_BLOCK => [1, 1, 1, 1], 1516 Self::ASTC_4x4_SFLOAT_BLOCK => [1, 1, 1, 1], 1517 Self::ASTC_5x4_SFLOAT_BLOCK => [1, 1, 1, 1], 1518 Self::ASTC_5x5_SFLOAT_BLOCK => [1, 1, 1, 1], 1519 Self::ASTC_6x5_SFLOAT_BLOCK => [1, 1, 1, 1], 1520 Self::ASTC_6x6_SFLOAT_BLOCK => [1, 1, 1, 1], 1521 Self::ASTC_8x5_SFLOAT_BLOCK => [1, 1, 1, 1], 1522 Self::ASTC_8x6_SFLOAT_BLOCK => [1, 1, 1, 1], 1523 Self::ASTC_8x8_SFLOAT_BLOCK => [1, 1, 1, 1], 1524 Self::ASTC_10x5_SFLOAT_BLOCK => [1, 1, 1, 1], 1525 Self::ASTC_10x6_SFLOAT_BLOCK => [1, 1, 1, 1], 1526 Self::ASTC_10x8_SFLOAT_BLOCK => [1, 1, 1, 1], 1527 Self::ASTC_10x10_SFLOAT_BLOCK => [1, 1, 1, 1], 1528 Self::ASTC_12x10_SFLOAT_BLOCK => [1, 1, 1, 1], 1529 Self::ASTC_12x12_SFLOAT_BLOCK => [1, 1, 1, 1], 1530 Self::G8_B8R8_2PLANE_444_UNORM => [8, 8, 8, 0], 1531 Self::G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 => [10, 10, 10, 0], 1532 Self::G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 => [12, 12, 12, 0], 1533 Self::G16_B16R16_2PLANE_444_UNORM => [16, 16, 16, 0], 1534 Self::A4R4G4B4_UNORM_PACK16 => [4, 4, 4, 4], 1535 Self::A4B4G4R4_UNORM_PACK16 => [4, 4, 4, 4], 1536 Self::R16G16_S10_5_NV => [16, 16, 0, 0], 1537 } 1538 } 1539 #[doc = r" Returns the block compression scheme used for this format, if any. Returns `None` if"] 1540 #[doc = r" the format does not use compression."] compression(self) -> Option<CompressionType>1541 pub fn compression(self) -> Option<CompressionType> { 1542 match self { 1543 Self::BC1_RGB_UNORM_BLOCK => Some(CompressionType::BC), 1544 Self::BC1_RGB_SRGB_BLOCK => Some(CompressionType::BC), 1545 Self::BC1_RGBA_UNORM_BLOCK => Some(CompressionType::BC), 1546 Self::BC1_RGBA_SRGB_BLOCK => Some(CompressionType::BC), 1547 Self::BC2_UNORM_BLOCK => Some(CompressionType::BC), 1548 Self::BC2_SRGB_BLOCK => Some(CompressionType::BC), 1549 Self::BC3_UNORM_BLOCK => Some(CompressionType::BC), 1550 Self::BC3_SRGB_BLOCK => Some(CompressionType::BC), 1551 Self::BC4_UNORM_BLOCK => Some(CompressionType::BC), 1552 Self::BC4_SNORM_BLOCK => Some(CompressionType::BC), 1553 Self::BC5_UNORM_BLOCK => Some(CompressionType::BC), 1554 Self::BC5_SNORM_BLOCK => Some(CompressionType::BC), 1555 Self::BC6H_UFLOAT_BLOCK => Some(CompressionType::BC), 1556 Self::BC6H_SFLOAT_BLOCK => Some(CompressionType::BC), 1557 Self::BC7_UNORM_BLOCK => Some(CompressionType::BC), 1558 Self::BC7_SRGB_BLOCK => Some(CompressionType::BC), 1559 Self::ETC2_R8G8B8_UNORM_BLOCK => Some(CompressionType::ETC2), 1560 Self::ETC2_R8G8B8_SRGB_BLOCK => Some(CompressionType::ETC2), 1561 Self::ETC2_R8G8B8A1_UNORM_BLOCK => Some(CompressionType::ETC2), 1562 Self::ETC2_R8G8B8A1_SRGB_BLOCK => Some(CompressionType::ETC2), 1563 Self::ETC2_R8G8B8A8_UNORM_BLOCK => Some(CompressionType::ETC2), 1564 Self::ETC2_R8G8B8A8_SRGB_BLOCK => Some(CompressionType::ETC2), 1565 Self::EAC_R11_UNORM_BLOCK => Some(CompressionType::EAC), 1566 Self::EAC_R11_SNORM_BLOCK => Some(CompressionType::EAC), 1567 Self::EAC_R11G11_UNORM_BLOCK => Some(CompressionType::EAC), 1568 Self::EAC_R11G11_SNORM_BLOCK => Some(CompressionType::EAC), 1569 Self::ASTC_4x4_UNORM_BLOCK => Some(CompressionType::ASTC_LDR), 1570 Self::ASTC_4x4_SRGB_BLOCK => Some(CompressionType::ASTC_LDR), 1571 Self::ASTC_5x4_UNORM_BLOCK => Some(CompressionType::ASTC_LDR), 1572 Self::ASTC_5x4_SRGB_BLOCK => Some(CompressionType::ASTC_LDR), 1573 Self::ASTC_5x5_UNORM_BLOCK => Some(CompressionType::ASTC_LDR), 1574 Self::ASTC_5x5_SRGB_BLOCK => Some(CompressionType::ASTC_LDR), 1575 Self::ASTC_6x5_UNORM_BLOCK => Some(CompressionType::ASTC_LDR), 1576 Self::ASTC_6x5_SRGB_BLOCK => Some(CompressionType::ASTC_LDR), 1577 Self::ASTC_6x6_UNORM_BLOCK => Some(CompressionType::ASTC_LDR), 1578 Self::ASTC_6x6_SRGB_BLOCK => Some(CompressionType::ASTC_LDR), 1579 Self::ASTC_8x5_UNORM_BLOCK => Some(CompressionType::ASTC_LDR), 1580 Self::ASTC_8x5_SRGB_BLOCK => Some(CompressionType::ASTC_LDR), 1581 Self::ASTC_8x6_UNORM_BLOCK => Some(CompressionType::ASTC_LDR), 1582 Self::ASTC_8x6_SRGB_BLOCK => Some(CompressionType::ASTC_LDR), 1583 Self::ASTC_8x8_UNORM_BLOCK => Some(CompressionType::ASTC_LDR), 1584 Self::ASTC_8x8_SRGB_BLOCK => Some(CompressionType::ASTC_LDR), 1585 Self::ASTC_10x5_UNORM_BLOCK => Some(CompressionType::ASTC_LDR), 1586 Self::ASTC_10x5_SRGB_BLOCK => Some(CompressionType::ASTC_LDR), 1587 Self::ASTC_10x6_UNORM_BLOCK => Some(CompressionType::ASTC_LDR), 1588 Self::ASTC_10x6_SRGB_BLOCK => Some(CompressionType::ASTC_LDR), 1589 Self::ASTC_10x8_UNORM_BLOCK => Some(CompressionType::ASTC_LDR), 1590 Self::ASTC_10x8_SRGB_BLOCK => Some(CompressionType::ASTC_LDR), 1591 Self::ASTC_10x10_UNORM_BLOCK => Some(CompressionType::ASTC_LDR), 1592 Self::ASTC_10x10_SRGB_BLOCK => Some(CompressionType::ASTC_LDR), 1593 Self::ASTC_12x10_UNORM_BLOCK => Some(CompressionType::ASTC_LDR), 1594 Self::ASTC_12x10_SRGB_BLOCK => Some(CompressionType::ASTC_LDR), 1595 Self::ASTC_12x12_UNORM_BLOCK => Some(CompressionType::ASTC_LDR), 1596 Self::ASTC_12x12_SRGB_BLOCK => Some(CompressionType::ASTC_LDR), 1597 Self::PVRTC1_2BPP_UNORM_BLOCK => Some(CompressionType::PVRTC), 1598 Self::PVRTC1_4BPP_UNORM_BLOCK => Some(CompressionType::PVRTC), 1599 Self::PVRTC2_2BPP_UNORM_BLOCK => Some(CompressionType::PVRTC), 1600 Self::PVRTC2_4BPP_UNORM_BLOCK => Some(CompressionType::PVRTC), 1601 Self::PVRTC1_2BPP_SRGB_BLOCK => Some(CompressionType::PVRTC), 1602 Self::PVRTC1_4BPP_SRGB_BLOCK => Some(CompressionType::PVRTC), 1603 Self::PVRTC2_2BPP_SRGB_BLOCK => Some(CompressionType::PVRTC), 1604 Self::PVRTC2_4BPP_SRGB_BLOCK => Some(CompressionType::PVRTC), 1605 Self::ASTC_4x4_SFLOAT_BLOCK => Some(CompressionType::ASTC_HDR), 1606 Self::ASTC_5x4_SFLOAT_BLOCK => Some(CompressionType::ASTC_HDR), 1607 Self::ASTC_5x5_SFLOAT_BLOCK => Some(CompressionType::ASTC_HDR), 1608 Self::ASTC_6x5_SFLOAT_BLOCK => Some(CompressionType::ASTC_HDR), 1609 Self::ASTC_6x6_SFLOAT_BLOCK => Some(CompressionType::ASTC_HDR), 1610 Self::ASTC_8x5_SFLOAT_BLOCK => Some(CompressionType::ASTC_HDR), 1611 Self::ASTC_8x6_SFLOAT_BLOCK => Some(CompressionType::ASTC_HDR), 1612 Self::ASTC_8x8_SFLOAT_BLOCK => Some(CompressionType::ASTC_HDR), 1613 Self::ASTC_10x5_SFLOAT_BLOCK => Some(CompressionType::ASTC_HDR), 1614 Self::ASTC_10x6_SFLOAT_BLOCK => Some(CompressionType::ASTC_HDR), 1615 Self::ASTC_10x8_SFLOAT_BLOCK => Some(CompressionType::ASTC_HDR), 1616 Self::ASTC_10x10_SFLOAT_BLOCK => Some(CompressionType::ASTC_HDR), 1617 Self::ASTC_12x10_SFLOAT_BLOCK => Some(CompressionType::ASTC_HDR), 1618 Self::ASTC_12x12_SFLOAT_BLOCK => Some(CompressionType::ASTC_HDR), 1619 _ => None, 1620 } 1621 } 1622 #[doc = r" For multi-planar formats, returns a slice of length 2 or 3, containing the"] 1623 #[doc = r" equivalent regular format of each plane."] 1624 #[doc = r""] 1625 #[doc = r" For non-planar formats, returns the empty slice."] planes(self) -> &'static [Self]1626 pub fn planes(self) -> &'static [Self] { 1627 match self { 1628 Self::G8_B8_R8_3PLANE_420_UNORM => &[Self::R8_UNORM, Self::R8_UNORM, Self::R8_UNORM], 1629 Self::G8_B8R8_2PLANE_420_UNORM => &[Self::R8_UNORM, Self::R8G8_UNORM], 1630 Self::G8_B8_R8_3PLANE_422_UNORM => &[Self::R8_UNORM, Self::R8_UNORM, Self::R8_UNORM], 1631 Self::G8_B8R8_2PLANE_422_UNORM => &[Self::R8_UNORM, Self::R8G8_UNORM], 1632 Self::G8_B8_R8_3PLANE_444_UNORM => &[Self::R8_UNORM, Self::R8_UNORM, Self::R8_UNORM], 1633 Self::G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 => &[ 1634 Self::R10X6_UNORM_PACK16, 1635 Self::R10X6_UNORM_PACK16, 1636 Self::R10X6_UNORM_PACK16, 1637 ], 1638 Self::G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 => { 1639 &[Self::R10X6_UNORM_PACK16, Self::R10X6G10X6_UNORM_2PACK16] 1640 } 1641 Self::G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 => &[ 1642 Self::R10X6_UNORM_PACK16, 1643 Self::R10X6_UNORM_PACK16, 1644 Self::R10X6_UNORM_PACK16, 1645 ], 1646 Self::G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 => { 1647 &[Self::R10X6_UNORM_PACK16, Self::R10X6G10X6_UNORM_2PACK16] 1648 } 1649 Self::G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 => &[ 1650 Self::R10X6_UNORM_PACK16, 1651 Self::R10X6_UNORM_PACK16, 1652 Self::R10X6_UNORM_PACK16, 1653 ], 1654 Self::G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 => &[ 1655 Self::R12X4_UNORM_PACK16, 1656 Self::R12X4_UNORM_PACK16, 1657 Self::R12X4_UNORM_PACK16, 1658 ], 1659 Self::G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 => { 1660 &[Self::R12X4_UNORM_PACK16, Self::R12X4G12X4_UNORM_2PACK16] 1661 } 1662 Self::G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 => &[ 1663 Self::R12X4_UNORM_PACK16, 1664 Self::R12X4_UNORM_PACK16, 1665 Self::R12X4_UNORM_PACK16, 1666 ], 1667 Self::G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 => { 1668 &[Self::R12X4_UNORM_PACK16, Self::R12X4G12X4_UNORM_2PACK16] 1669 } 1670 Self::G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 => &[ 1671 Self::R12X4_UNORM_PACK16, 1672 Self::R12X4_UNORM_PACK16, 1673 Self::R12X4_UNORM_PACK16, 1674 ], 1675 Self::G16_B16_R16_3PLANE_420_UNORM => { 1676 &[Self::R16_UNORM, Self::R16_UNORM, Self::R16_UNORM] 1677 } 1678 Self::G16_B16R16_2PLANE_420_UNORM => &[Self::R16_UNORM, Self::R16G16_UNORM], 1679 Self::G16_B16_R16_3PLANE_422_UNORM => { 1680 &[Self::R16_UNORM, Self::R16_UNORM, Self::R16_UNORM] 1681 } 1682 Self::G16_B16R16_2PLANE_422_UNORM => &[Self::R16_UNORM, Self::R16G16_UNORM], 1683 Self::G16_B16_R16_3PLANE_444_UNORM => { 1684 &[Self::R16_UNORM, Self::R16_UNORM, Self::R16_UNORM] 1685 } 1686 Self::G8_B8R8_2PLANE_444_UNORM => &[Self::R8_UNORM, Self::R8G8_UNORM], 1687 Self::G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 => { 1688 &[Self::R10X6_UNORM_PACK16, Self::R10X6G10X6_UNORM_2PACK16] 1689 } 1690 Self::G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 => { 1691 &[Self::R12X4_UNORM_PACK16, Self::R12X4G12X4_UNORM_2PACK16] 1692 } 1693 Self::G16_B16R16_2PLANE_444_UNORM => &[Self::R16_UNORM, Self::R16G16_UNORM], 1694 _ => &[], 1695 } 1696 } 1697 #[doc = r" Returns the number of texels for a single texel block. For most formats, this is"] 1698 #[doc = r" the product of the `block_extent` elements, but for some it differs."] texels_per_block(self) -> u81699 pub fn texels_per_block(self) -> u8 { 1700 match self { 1701 Self::BC1_RGB_UNORM_BLOCK => 16, 1702 Self::BC1_RGB_SRGB_BLOCK => 16, 1703 Self::BC1_RGBA_UNORM_BLOCK => 16, 1704 Self::BC1_RGBA_SRGB_BLOCK => 16, 1705 Self::BC2_UNORM_BLOCK => 16, 1706 Self::BC2_SRGB_BLOCK => 16, 1707 Self::BC3_UNORM_BLOCK => 16, 1708 Self::BC3_SRGB_BLOCK => 16, 1709 Self::BC4_UNORM_BLOCK => 16, 1710 Self::BC4_SNORM_BLOCK => 16, 1711 Self::BC5_UNORM_BLOCK => 16, 1712 Self::BC5_SNORM_BLOCK => 16, 1713 Self::BC6H_UFLOAT_BLOCK => 16, 1714 Self::BC6H_SFLOAT_BLOCK => 16, 1715 Self::BC7_UNORM_BLOCK => 16, 1716 Self::BC7_SRGB_BLOCK => 16, 1717 Self::ETC2_R8G8B8_UNORM_BLOCK => 16, 1718 Self::ETC2_R8G8B8_SRGB_BLOCK => 16, 1719 Self::ETC2_R8G8B8A1_UNORM_BLOCK => 16, 1720 Self::ETC2_R8G8B8A1_SRGB_BLOCK => 16, 1721 Self::ETC2_R8G8B8A8_UNORM_BLOCK => 16, 1722 Self::ETC2_R8G8B8A8_SRGB_BLOCK => 16, 1723 Self::EAC_R11_UNORM_BLOCK => 16, 1724 Self::EAC_R11_SNORM_BLOCK => 16, 1725 Self::EAC_R11G11_UNORM_BLOCK => 16, 1726 Self::EAC_R11G11_SNORM_BLOCK => 16, 1727 Self::ASTC_4x4_UNORM_BLOCK => 16, 1728 Self::ASTC_4x4_SRGB_BLOCK => 16, 1729 Self::ASTC_5x4_UNORM_BLOCK => 20, 1730 Self::ASTC_5x4_SRGB_BLOCK => 20, 1731 Self::ASTC_5x5_UNORM_BLOCK => 25, 1732 Self::ASTC_5x5_SRGB_BLOCK => 25, 1733 Self::ASTC_6x5_UNORM_BLOCK => 30, 1734 Self::ASTC_6x5_SRGB_BLOCK => 30, 1735 Self::ASTC_6x6_UNORM_BLOCK => 36, 1736 Self::ASTC_6x6_SRGB_BLOCK => 36, 1737 Self::ASTC_8x5_UNORM_BLOCK => 40, 1738 Self::ASTC_8x5_SRGB_BLOCK => 40, 1739 Self::ASTC_8x6_UNORM_BLOCK => 48, 1740 Self::ASTC_8x6_SRGB_BLOCK => 48, 1741 Self::ASTC_8x8_UNORM_BLOCK => 64, 1742 Self::ASTC_8x8_SRGB_BLOCK => 64, 1743 Self::ASTC_10x5_UNORM_BLOCK => 50, 1744 Self::ASTC_10x5_SRGB_BLOCK => 50, 1745 Self::ASTC_10x6_UNORM_BLOCK => 60, 1746 Self::ASTC_10x6_SRGB_BLOCK => 60, 1747 Self::ASTC_10x8_UNORM_BLOCK => 80, 1748 Self::ASTC_10x8_SRGB_BLOCK => 80, 1749 Self::ASTC_10x10_UNORM_BLOCK => 100, 1750 Self::ASTC_10x10_SRGB_BLOCK => 100, 1751 Self::ASTC_12x10_UNORM_BLOCK => 120, 1752 Self::ASTC_12x10_SRGB_BLOCK => 120, 1753 Self::ASTC_12x12_UNORM_BLOCK => 144, 1754 Self::ASTC_12x12_SRGB_BLOCK => 144, 1755 Self::ASTC_4x4_SFLOAT_BLOCK => 16, 1756 Self::ASTC_5x4_SFLOAT_BLOCK => 20, 1757 Self::ASTC_5x5_SFLOAT_BLOCK => 25, 1758 Self::ASTC_6x5_SFLOAT_BLOCK => 30, 1759 Self::ASTC_6x6_SFLOAT_BLOCK => 36, 1760 Self::ASTC_8x5_SFLOAT_BLOCK => 40, 1761 Self::ASTC_8x6_SFLOAT_BLOCK => 48, 1762 Self::ASTC_8x8_SFLOAT_BLOCK => 64, 1763 Self::ASTC_10x5_SFLOAT_BLOCK => 50, 1764 Self::ASTC_10x6_SFLOAT_BLOCK => 60, 1765 Self::ASTC_10x8_SFLOAT_BLOCK => 80, 1766 Self::ASTC_10x10_SFLOAT_BLOCK => 100, 1767 Self::ASTC_12x10_SFLOAT_BLOCK => 120, 1768 Self::ASTC_12x12_SFLOAT_BLOCK => 144, 1769 _ => 1, 1770 } 1771 } 1772 #[doc = r" Returns the numeric data type of the color aspect of this format. Returns `None`"] 1773 #[doc = r" for depth/stencil formats."] type_color(self) -> Option<NumericType>1774 pub fn type_color(self) -> Option<NumericType> { 1775 match self { 1776 Self::R4G4_UNORM_PACK8 => Some(NumericType::UNORM), 1777 Self::R4G4B4A4_UNORM_PACK16 => Some(NumericType::UNORM), 1778 Self::B4G4R4A4_UNORM_PACK16 => Some(NumericType::UNORM), 1779 Self::R5G6B5_UNORM_PACK16 => Some(NumericType::UNORM), 1780 Self::B5G6R5_UNORM_PACK16 => Some(NumericType::UNORM), 1781 Self::R5G5B5A1_UNORM_PACK16 => Some(NumericType::UNORM), 1782 Self::B5G5R5A1_UNORM_PACK16 => Some(NumericType::UNORM), 1783 Self::A1R5G5B5_UNORM_PACK16 => Some(NumericType::UNORM), 1784 Self::R8_UNORM => Some(NumericType::UNORM), 1785 Self::R8_SNORM => Some(NumericType::SNORM), 1786 Self::R8_USCALED => Some(NumericType::USCALED), 1787 Self::R8_SSCALED => Some(NumericType::SSCALED), 1788 Self::R8_UINT => Some(NumericType::UINT), 1789 Self::R8_SINT => Some(NumericType::SINT), 1790 Self::R8_SRGB => Some(NumericType::SRGB), 1791 Self::R8G8_UNORM => Some(NumericType::UNORM), 1792 Self::R8G8_SNORM => Some(NumericType::SNORM), 1793 Self::R8G8_USCALED => Some(NumericType::USCALED), 1794 Self::R8G8_SSCALED => Some(NumericType::SSCALED), 1795 Self::R8G8_UINT => Some(NumericType::UINT), 1796 Self::R8G8_SINT => Some(NumericType::SINT), 1797 Self::R8G8_SRGB => Some(NumericType::SRGB), 1798 Self::R8G8B8_UNORM => Some(NumericType::UNORM), 1799 Self::R8G8B8_SNORM => Some(NumericType::SNORM), 1800 Self::R8G8B8_USCALED => Some(NumericType::USCALED), 1801 Self::R8G8B8_SSCALED => Some(NumericType::SSCALED), 1802 Self::R8G8B8_UINT => Some(NumericType::UINT), 1803 Self::R8G8B8_SINT => Some(NumericType::SINT), 1804 Self::R8G8B8_SRGB => Some(NumericType::SRGB), 1805 Self::B8G8R8_UNORM => Some(NumericType::UNORM), 1806 Self::B8G8R8_SNORM => Some(NumericType::SNORM), 1807 Self::B8G8R8_USCALED => Some(NumericType::USCALED), 1808 Self::B8G8R8_SSCALED => Some(NumericType::SSCALED), 1809 Self::B8G8R8_UINT => Some(NumericType::UINT), 1810 Self::B8G8R8_SINT => Some(NumericType::SINT), 1811 Self::B8G8R8_SRGB => Some(NumericType::SRGB), 1812 Self::R8G8B8A8_UNORM => Some(NumericType::UNORM), 1813 Self::R8G8B8A8_SNORM => Some(NumericType::SNORM), 1814 Self::R8G8B8A8_USCALED => Some(NumericType::USCALED), 1815 Self::R8G8B8A8_SSCALED => Some(NumericType::SSCALED), 1816 Self::R8G8B8A8_UINT => Some(NumericType::UINT), 1817 Self::R8G8B8A8_SINT => Some(NumericType::SINT), 1818 Self::R8G8B8A8_SRGB => Some(NumericType::SRGB), 1819 Self::B8G8R8A8_UNORM => Some(NumericType::UNORM), 1820 Self::B8G8R8A8_SNORM => Some(NumericType::SNORM), 1821 Self::B8G8R8A8_USCALED => Some(NumericType::USCALED), 1822 Self::B8G8R8A8_SSCALED => Some(NumericType::SSCALED), 1823 Self::B8G8R8A8_UINT => Some(NumericType::UINT), 1824 Self::B8G8R8A8_SINT => Some(NumericType::SINT), 1825 Self::B8G8R8A8_SRGB => Some(NumericType::SRGB), 1826 Self::A8B8G8R8_UNORM_PACK32 => Some(NumericType::UNORM), 1827 Self::A8B8G8R8_SNORM_PACK32 => Some(NumericType::SNORM), 1828 Self::A8B8G8R8_USCALED_PACK32 => Some(NumericType::USCALED), 1829 Self::A8B8G8R8_SSCALED_PACK32 => Some(NumericType::SSCALED), 1830 Self::A8B8G8R8_UINT_PACK32 => Some(NumericType::UINT), 1831 Self::A8B8G8R8_SINT_PACK32 => Some(NumericType::SINT), 1832 Self::A8B8G8R8_SRGB_PACK32 => Some(NumericType::SRGB), 1833 Self::A2R10G10B10_UNORM_PACK32 => Some(NumericType::UNORM), 1834 Self::A2R10G10B10_SNORM_PACK32 => Some(NumericType::SNORM), 1835 Self::A2R10G10B10_USCALED_PACK32 => Some(NumericType::USCALED), 1836 Self::A2R10G10B10_SSCALED_PACK32 => Some(NumericType::SSCALED), 1837 Self::A2R10G10B10_UINT_PACK32 => Some(NumericType::UINT), 1838 Self::A2R10G10B10_SINT_PACK32 => Some(NumericType::SINT), 1839 Self::A2B10G10R10_UNORM_PACK32 => Some(NumericType::UNORM), 1840 Self::A2B10G10R10_SNORM_PACK32 => Some(NumericType::SNORM), 1841 Self::A2B10G10R10_USCALED_PACK32 => Some(NumericType::USCALED), 1842 Self::A2B10G10R10_SSCALED_PACK32 => Some(NumericType::SSCALED), 1843 Self::A2B10G10R10_UINT_PACK32 => Some(NumericType::UINT), 1844 Self::A2B10G10R10_SINT_PACK32 => Some(NumericType::SINT), 1845 Self::R16_UNORM => Some(NumericType::UNORM), 1846 Self::R16_SNORM => Some(NumericType::SNORM), 1847 Self::R16_USCALED => Some(NumericType::USCALED), 1848 Self::R16_SSCALED => Some(NumericType::SSCALED), 1849 Self::R16_UINT => Some(NumericType::UINT), 1850 Self::R16_SINT => Some(NumericType::SINT), 1851 Self::R16_SFLOAT => Some(NumericType::SFLOAT), 1852 Self::R16G16_UNORM => Some(NumericType::UNORM), 1853 Self::R16G16_SNORM => Some(NumericType::SNORM), 1854 Self::R16G16_USCALED => Some(NumericType::USCALED), 1855 Self::R16G16_SSCALED => Some(NumericType::SSCALED), 1856 Self::R16G16_UINT => Some(NumericType::UINT), 1857 Self::R16G16_SINT => Some(NumericType::SINT), 1858 Self::R16G16_SFLOAT => Some(NumericType::SFLOAT), 1859 Self::R16G16B16_UNORM => Some(NumericType::UNORM), 1860 Self::R16G16B16_SNORM => Some(NumericType::SNORM), 1861 Self::R16G16B16_USCALED => Some(NumericType::USCALED), 1862 Self::R16G16B16_SSCALED => Some(NumericType::SSCALED), 1863 Self::R16G16B16_UINT => Some(NumericType::UINT), 1864 Self::R16G16B16_SINT => Some(NumericType::SINT), 1865 Self::R16G16B16_SFLOAT => Some(NumericType::SFLOAT), 1866 Self::R16G16B16A16_UNORM => Some(NumericType::UNORM), 1867 Self::R16G16B16A16_SNORM => Some(NumericType::SNORM), 1868 Self::R16G16B16A16_USCALED => Some(NumericType::USCALED), 1869 Self::R16G16B16A16_SSCALED => Some(NumericType::SSCALED), 1870 Self::R16G16B16A16_UINT => Some(NumericType::UINT), 1871 Self::R16G16B16A16_SINT => Some(NumericType::SINT), 1872 Self::R16G16B16A16_SFLOAT => Some(NumericType::SFLOAT), 1873 Self::R32_UINT => Some(NumericType::UINT), 1874 Self::R32_SINT => Some(NumericType::SINT), 1875 Self::R32_SFLOAT => Some(NumericType::SFLOAT), 1876 Self::R32G32_UINT => Some(NumericType::UINT), 1877 Self::R32G32_SINT => Some(NumericType::SINT), 1878 Self::R32G32_SFLOAT => Some(NumericType::SFLOAT), 1879 Self::R32G32B32_UINT => Some(NumericType::UINT), 1880 Self::R32G32B32_SINT => Some(NumericType::SINT), 1881 Self::R32G32B32_SFLOAT => Some(NumericType::SFLOAT), 1882 Self::R32G32B32A32_UINT => Some(NumericType::UINT), 1883 Self::R32G32B32A32_SINT => Some(NumericType::SINT), 1884 Self::R32G32B32A32_SFLOAT => Some(NumericType::SFLOAT), 1885 Self::R64_UINT => Some(NumericType::UINT), 1886 Self::R64_SINT => Some(NumericType::SINT), 1887 Self::R64_SFLOAT => Some(NumericType::SFLOAT), 1888 Self::R64G64_UINT => Some(NumericType::UINT), 1889 Self::R64G64_SINT => Some(NumericType::SINT), 1890 Self::R64G64_SFLOAT => Some(NumericType::SFLOAT), 1891 Self::R64G64B64_UINT => Some(NumericType::UINT), 1892 Self::R64G64B64_SINT => Some(NumericType::SINT), 1893 Self::R64G64B64_SFLOAT => Some(NumericType::SFLOAT), 1894 Self::R64G64B64A64_UINT => Some(NumericType::UINT), 1895 Self::R64G64B64A64_SINT => Some(NumericType::SINT), 1896 Self::R64G64B64A64_SFLOAT => Some(NumericType::SFLOAT), 1897 Self::B10G11R11_UFLOAT_PACK32 => Some(NumericType::UFLOAT), 1898 Self::E5B9G9R9_UFLOAT_PACK32 => Some(NumericType::UFLOAT), 1899 Self::BC1_RGB_UNORM_BLOCK => Some(NumericType::UNORM), 1900 Self::BC1_RGB_SRGB_BLOCK => Some(NumericType::SRGB), 1901 Self::BC1_RGBA_UNORM_BLOCK => Some(NumericType::UNORM), 1902 Self::BC1_RGBA_SRGB_BLOCK => Some(NumericType::SRGB), 1903 Self::BC2_UNORM_BLOCK => Some(NumericType::UNORM), 1904 Self::BC2_SRGB_BLOCK => Some(NumericType::SRGB), 1905 Self::BC3_UNORM_BLOCK => Some(NumericType::UNORM), 1906 Self::BC3_SRGB_BLOCK => Some(NumericType::SRGB), 1907 Self::BC4_UNORM_BLOCK => Some(NumericType::UNORM), 1908 Self::BC4_SNORM_BLOCK => Some(NumericType::SRGB), 1909 Self::BC5_UNORM_BLOCK => Some(NumericType::UNORM), 1910 Self::BC5_SNORM_BLOCK => Some(NumericType::SRGB), 1911 Self::BC6H_UFLOAT_BLOCK => Some(NumericType::UFLOAT), 1912 Self::BC6H_SFLOAT_BLOCK => Some(NumericType::SFLOAT), 1913 Self::BC7_UNORM_BLOCK => Some(NumericType::UNORM), 1914 Self::BC7_SRGB_BLOCK => Some(NumericType::SRGB), 1915 Self::ETC2_R8G8B8_UNORM_BLOCK => Some(NumericType::UNORM), 1916 Self::ETC2_R8G8B8_SRGB_BLOCK => Some(NumericType::SRGB), 1917 Self::ETC2_R8G8B8A1_UNORM_BLOCK => Some(NumericType::UNORM), 1918 Self::ETC2_R8G8B8A1_SRGB_BLOCK => Some(NumericType::SRGB), 1919 Self::ETC2_R8G8B8A8_UNORM_BLOCK => Some(NumericType::UNORM), 1920 Self::ETC2_R8G8B8A8_SRGB_BLOCK => Some(NumericType::SRGB), 1921 Self::EAC_R11_UNORM_BLOCK => Some(NumericType::UNORM), 1922 Self::EAC_R11_SNORM_BLOCK => Some(NumericType::SNORM), 1923 Self::EAC_R11G11_UNORM_BLOCK => Some(NumericType::UNORM), 1924 Self::EAC_R11G11_SNORM_BLOCK => Some(NumericType::SNORM), 1925 Self::ASTC_4x4_UNORM_BLOCK => Some(NumericType::UNORM), 1926 Self::ASTC_4x4_SRGB_BLOCK => Some(NumericType::SRGB), 1927 Self::ASTC_5x4_UNORM_BLOCK => Some(NumericType::UNORM), 1928 Self::ASTC_5x4_SRGB_BLOCK => Some(NumericType::SRGB), 1929 Self::ASTC_5x5_UNORM_BLOCK => Some(NumericType::UNORM), 1930 Self::ASTC_5x5_SRGB_BLOCK => Some(NumericType::SRGB), 1931 Self::ASTC_6x5_UNORM_BLOCK => Some(NumericType::UNORM), 1932 Self::ASTC_6x5_SRGB_BLOCK => Some(NumericType::SRGB), 1933 Self::ASTC_6x6_UNORM_BLOCK => Some(NumericType::UNORM), 1934 Self::ASTC_6x6_SRGB_BLOCK => Some(NumericType::SRGB), 1935 Self::ASTC_8x5_UNORM_BLOCK => Some(NumericType::UNORM), 1936 Self::ASTC_8x5_SRGB_BLOCK => Some(NumericType::SRGB), 1937 Self::ASTC_8x6_UNORM_BLOCK => Some(NumericType::UNORM), 1938 Self::ASTC_8x6_SRGB_BLOCK => Some(NumericType::SRGB), 1939 Self::ASTC_8x8_UNORM_BLOCK => Some(NumericType::UNORM), 1940 Self::ASTC_8x8_SRGB_BLOCK => Some(NumericType::SRGB), 1941 Self::ASTC_10x5_UNORM_BLOCK => Some(NumericType::UNORM), 1942 Self::ASTC_10x5_SRGB_BLOCK => Some(NumericType::SRGB), 1943 Self::ASTC_10x6_UNORM_BLOCK => Some(NumericType::UNORM), 1944 Self::ASTC_10x6_SRGB_BLOCK => Some(NumericType::SRGB), 1945 Self::ASTC_10x8_UNORM_BLOCK => Some(NumericType::UNORM), 1946 Self::ASTC_10x8_SRGB_BLOCK => Some(NumericType::SRGB), 1947 Self::ASTC_10x10_UNORM_BLOCK => Some(NumericType::UNORM), 1948 Self::ASTC_10x10_SRGB_BLOCK => Some(NumericType::SRGB), 1949 Self::ASTC_12x10_UNORM_BLOCK => Some(NumericType::UNORM), 1950 Self::ASTC_12x10_SRGB_BLOCK => Some(NumericType::SRGB), 1951 Self::ASTC_12x12_UNORM_BLOCK => Some(NumericType::UNORM), 1952 Self::ASTC_12x12_SRGB_BLOCK => Some(NumericType::SRGB), 1953 Self::G8B8G8R8_422_UNORM => Some(NumericType::UNORM), 1954 Self::B8G8R8G8_422_UNORM => Some(NumericType::UNORM), 1955 Self::G8_B8_R8_3PLANE_420_UNORM => Some(NumericType::UNORM), 1956 Self::G8_B8R8_2PLANE_420_UNORM => Some(NumericType::UNORM), 1957 Self::G8_B8_R8_3PLANE_422_UNORM => Some(NumericType::UNORM), 1958 Self::G8_B8R8_2PLANE_422_UNORM => Some(NumericType::UNORM), 1959 Self::G8_B8_R8_3PLANE_444_UNORM => Some(NumericType::UNORM), 1960 Self::R10X6_UNORM_PACK16 => Some(NumericType::UNORM), 1961 Self::R10X6G10X6_UNORM_2PACK16 => Some(NumericType::UNORM), 1962 Self::R10X6G10X6B10X6A10X6_UNORM_4PACK16 => Some(NumericType::UNORM), 1963 Self::G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 => Some(NumericType::UNORM), 1964 Self::B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 => Some(NumericType::UNORM), 1965 Self::G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 => Some(NumericType::UNORM), 1966 Self::G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 => Some(NumericType::UNORM), 1967 Self::G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 => Some(NumericType::UNORM), 1968 Self::G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 => Some(NumericType::UNORM), 1969 Self::G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 => Some(NumericType::UNORM), 1970 Self::R12X4_UNORM_PACK16 => Some(NumericType::UNORM), 1971 Self::R12X4G12X4_UNORM_2PACK16 => Some(NumericType::UNORM), 1972 Self::R12X4G12X4B12X4A12X4_UNORM_4PACK16 => Some(NumericType::UNORM), 1973 Self::G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 => Some(NumericType::UNORM), 1974 Self::B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 => Some(NumericType::UNORM), 1975 Self::G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 => Some(NumericType::UNORM), 1976 Self::G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 => Some(NumericType::UNORM), 1977 Self::G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 => Some(NumericType::UNORM), 1978 Self::G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 => Some(NumericType::UNORM), 1979 Self::G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 => Some(NumericType::UNORM), 1980 Self::G16B16G16R16_422_UNORM => Some(NumericType::UNORM), 1981 Self::B16G16R16G16_422_UNORM => Some(NumericType::UNORM), 1982 Self::G16_B16_R16_3PLANE_420_UNORM => Some(NumericType::UNORM), 1983 Self::G16_B16R16_2PLANE_420_UNORM => Some(NumericType::UNORM), 1984 Self::G16_B16_R16_3PLANE_422_UNORM => Some(NumericType::UNORM), 1985 Self::G16_B16R16_2PLANE_422_UNORM => Some(NumericType::UNORM), 1986 Self::G16_B16_R16_3PLANE_444_UNORM => Some(NumericType::UNORM), 1987 Self::PVRTC1_2BPP_UNORM_BLOCK => Some(NumericType::UNORM), 1988 Self::PVRTC1_4BPP_UNORM_BLOCK => Some(NumericType::UNORM), 1989 Self::PVRTC2_2BPP_UNORM_BLOCK => Some(NumericType::UNORM), 1990 Self::PVRTC2_4BPP_UNORM_BLOCK => Some(NumericType::UNORM), 1991 Self::PVRTC1_2BPP_SRGB_BLOCK => Some(NumericType::SRGB), 1992 Self::PVRTC1_4BPP_SRGB_BLOCK => Some(NumericType::SRGB), 1993 Self::PVRTC2_2BPP_SRGB_BLOCK => Some(NumericType::SRGB), 1994 Self::PVRTC2_4BPP_SRGB_BLOCK => Some(NumericType::SRGB), 1995 Self::ASTC_4x4_SFLOAT_BLOCK => Some(NumericType::SFLOAT), 1996 Self::ASTC_5x4_SFLOAT_BLOCK => Some(NumericType::SFLOAT), 1997 Self::ASTC_5x5_SFLOAT_BLOCK => Some(NumericType::SFLOAT), 1998 Self::ASTC_6x5_SFLOAT_BLOCK => Some(NumericType::SFLOAT), 1999 Self::ASTC_6x6_SFLOAT_BLOCK => Some(NumericType::SFLOAT), 2000 Self::ASTC_8x5_SFLOAT_BLOCK => Some(NumericType::SFLOAT), 2001 Self::ASTC_8x6_SFLOAT_BLOCK => Some(NumericType::SFLOAT), 2002 Self::ASTC_8x8_SFLOAT_BLOCK => Some(NumericType::SFLOAT), 2003 Self::ASTC_10x5_SFLOAT_BLOCK => Some(NumericType::SFLOAT), 2004 Self::ASTC_10x6_SFLOAT_BLOCK => Some(NumericType::SFLOAT), 2005 Self::ASTC_10x8_SFLOAT_BLOCK => Some(NumericType::SFLOAT), 2006 Self::ASTC_10x10_SFLOAT_BLOCK => Some(NumericType::SFLOAT), 2007 Self::ASTC_12x10_SFLOAT_BLOCK => Some(NumericType::SFLOAT), 2008 Self::ASTC_12x12_SFLOAT_BLOCK => Some(NumericType::SFLOAT), 2009 Self::G8_B8R8_2PLANE_444_UNORM => Some(NumericType::UNORM), 2010 Self::G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 => Some(NumericType::UNORM), 2011 Self::G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 => Some(NumericType::UNORM), 2012 Self::G16_B16R16_2PLANE_444_UNORM => Some(NumericType::UNORM), 2013 Self::A4R4G4B4_UNORM_PACK16 => Some(NumericType::UNORM), 2014 Self::A4B4G4R4_UNORM_PACK16 => Some(NumericType::UNORM), 2015 Self::R16G16_S10_5_NV => Some(NumericType::SINT), 2016 _ => None, 2017 } 2018 } 2019 #[doc = r" Returns the numeric data type of the depth aspect of this format. Returns `None`"] 2020 #[doc = r" color and stencil-only formats."] type_depth(self) -> Option<NumericType>2021 pub fn type_depth(self) -> Option<NumericType> { 2022 match self { 2023 Self::D16_UNORM => Some(NumericType::UNORM), 2024 Self::X8_D24_UNORM_PACK32 => Some(NumericType::UNORM), 2025 Self::D32_SFLOAT => Some(NumericType::SFLOAT), 2026 Self::D16_UNORM_S8_UINT => Some(NumericType::UNORM), 2027 Self::D24_UNORM_S8_UINT => Some(NumericType::UNORM), 2028 Self::D32_SFLOAT_S8_UINT => Some(NumericType::SFLOAT), 2029 _ => None, 2030 } 2031 } 2032 #[doc = r" Returns the numeric data type of the stencil aspect of this format. Returns `None`"] 2033 #[doc = r" for color and depth-only formats."] type_stencil(self) -> Option<NumericType>2034 pub fn type_stencil(self) -> Option<NumericType> { 2035 match self { 2036 Self::S8_UINT => Some(NumericType::UINT), 2037 Self::D16_UNORM_S8_UINT => Some(NumericType::UINT), 2038 Self::D24_UNORM_S8_UINT => Some(NumericType::UINT), 2039 Self::D32_SFLOAT_S8_UINT => Some(NumericType::UINT), 2040 _ => None, 2041 } 2042 } 2043 #[doc = r" For YCbCr (YUV) formats, returns the way in which the chroma components are"] 2044 #[doc = r" represented. Returns `None` for non-YCbCr formats."] 2045 #[doc = r""] 2046 #[doc = r" If an image view is created for one of the formats for which this function returns"] 2047 #[doc = r" `Some`, with the `color` aspect selected, then the view and any samplers that sample"] 2048 #[doc = r" it must be created with an attached sampler YCbCr conversion object."] ycbcr_chroma_sampling(self) -> Option<ChromaSampling>2049 pub fn ycbcr_chroma_sampling(self) -> Option<ChromaSampling> { 2050 match self { 2051 Self::G8B8G8R8_422_UNORM => Some(ChromaSampling::Mode422), 2052 Self::B8G8R8G8_422_UNORM => Some(ChromaSampling::Mode422), 2053 Self::G8_B8_R8_3PLANE_420_UNORM => Some(ChromaSampling::Mode420), 2054 Self::G8_B8R8_2PLANE_420_UNORM => Some(ChromaSampling::Mode420), 2055 Self::G8_B8_R8_3PLANE_422_UNORM => Some(ChromaSampling::Mode422), 2056 Self::G8_B8R8_2PLANE_422_UNORM => Some(ChromaSampling::Mode422), 2057 Self::G8_B8_R8_3PLANE_444_UNORM => Some(ChromaSampling::Mode444), 2058 Self::R10X6G10X6B10X6A10X6_UNORM_4PACK16 => Some(ChromaSampling::Mode444), 2059 Self::G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 => Some(ChromaSampling::Mode422), 2060 Self::B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 => Some(ChromaSampling::Mode422), 2061 Self::G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 => Some(ChromaSampling::Mode420), 2062 Self::G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 => Some(ChromaSampling::Mode420), 2063 Self::G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 => Some(ChromaSampling::Mode422), 2064 Self::G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 => Some(ChromaSampling::Mode422), 2065 Self::G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 => Some(ChromaSampling::Mode444), 2066 Self::R12X4G12X4B12X4A12X4_UNORM_4PACK16 => Some(ChromaSampling::Mode444), 2067 Self::G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 => Some(ChromaSampling::Mode422), 2068 Self::B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 => Some(ChromaSampling::Mode422), 2069 Self::G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 => Some(ChromaSampling::Mode420), 2070 Self::G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 => Some(ChromaSampling::Mode420), 2071 Self::G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 => Some(ChromaSampling::Mode422), 2072 Self::G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 => Some(ChromaSampling::Mode422), 2073 Self::G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 => Some(ChromaSampling::Mode444), 2074 Self::G16B16G16R16_422_UNORM => Some(ChromaSampling::Mode422), 2075 Self::B16G16R16G16_422_UNORM => Some(ChromaSampling::Mode422), 2076 Self::G16_B16_R16_3PLANE_420_UNORM => Some(ChromaSampling::Mode420), 2077 Self::G16_B16R16_2PLANE_420_UNORM => Some(ChromaSampling::Mode420), 2078 Self::G16_B16_R16_3PLANE_422_UNORM => Some(ChromaSampling::Mode422), 2079 Self::G16_B16R16_2PLANE_422_UNORM => Some(ChromaSampling::Mode422), 2080 Self::G16_B16_R16_3PLANE_444_UNORM => Some(ChromaSampling::Mode444), 2081 Self::G8_B8R8_2PLANE_444_UNORM => Some(ChromaSampling::Mode444), 2082 Self::G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 => Some(ChromaSampling::Mode444), 2083 Self::G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 => Some(ChromaSampling::Mode444), 2084 Self::G16_B16R16_2PLANE_444_UNORM => Some(ChromaSampling::Mode444), 2085 _ => None, 2086 } 2087 } 2088 #[allow(dead_code)] validate_device( self, #[allow(unused_variables)] device: &crate::device::Device, ) -> Result<(), crate::RequirementNotMet>2089 pub(crate) fn validate_device( 2090 self, 2091 #[allow(unused_variables)] device: &crate::device::Device, 2092 ) -> Result<(), crate::RequirementNotMet> { 2093 match self { 2094 Self::R4G4_UNORM_PACK8 => {} 2095 Self::R4G4B4A4_UNORM_PACK16 => {} 2096 Self::B4G4R4A4_UNORM_PACK16 => {} 2097 Self::R5G6B5_UNORM_PACK16 => {} 2098 Self::B5G6R5_UNORM_PACK16 => {} 2099 Self::R5G5B5A1_UNORM_PACK16 => {} 2100 Self::B5G5R5A1_UNORM_PACK16 => {} 2101 Self::A1R5G5B5_UNORM_PACK16 => {} 2102 Self::R8_UNORM => {} 2103 Self::R8_SNORM => {} 2104 Self::R8_USCALED => {} 2105 Self::R8_SSCALED => {} 2106 Self::R8_UINT => {} 2107 Self::R8_SINT => {} 2108 Self::R8_SRGB => {} 2109 Self::R8G8_UNORM => {} 2110 Self::R8G8_SNORM => {} 2111 Self::R8G8_USCALED => {} 2112 Self::R8G8_SSCALED => {} 2113 Self::R8G8_UINT => {} 2114 Self::R8G8_SINT => {} 2115 Self::R8G8_SRGB => {} 2116 Self::R8G8B8_UNORM => {} 2117 Self::R8G8B8_SNORM => {} 2118 Self::R8G8B8_USCALED => {} 2119 Self::R8G8B8_SSCALED => {} 2120 Self::R8G8B8_UINT => {} 2121 Self::R8G8B8_SINT => {} 2122 Self::R8G8B8_SRGB => {} 2123 Self::B8G8R8_UNORM => {} 2124 Self::B8G8R8_SNORM => {} 2125 Self::B8G8R8_USCALED => {} 2126 Self::B8G8R8_SSCALED => {} 2127 Self::B8G8R8_UINT => {} 2128 Self::B8G8R8_SINT => {} 2129 Self::B8G8R8_SRGB => {} 2130 Self::R8G8B8A8_UNORM => {} 2131 Self::R8G8B8A8_SNORM => {} 2132 Self::R8G8B8A8_USCALED => {} 2133 Self::R8G8B8A8_SSCALED => {} 2134 Self::R8G8B8A8_UINT => {} 2135 Self::R8G8B8A8_SINT => {} 2136 Self::R8G8B8A8_SRGB => {} 2137 Self::B8G8R8A8_UNORM => {} 2138 Self::B8G8R8A8_SNORM => {} 2139 Self::B8G8R8A8_USCALED => {} 2140 Self::B8G8R8A8_SSCALED => {} 2141 Self::B8G8R8A8_UINT => {} 2142 Self::B8G8R8A8_SINT => {} 2143 Self::B8G8R8A8_SRGB => {} 2144 Self::A8B8G8R8_UNORM_PACK32 => {} 2145 Self::A8B8G8R8_SNORM_PACK32 => {} 2146 Self::A8B8G8R8_USCALED_PACK32 => {} 2147 Self::A8B8G8R8_SSCALED_PACK32 => {} 2148 Self::A8B8G8R8_UINT_PACK32 => {} 2149 Self::A8B8G8R8_SINT_PACK32 => {} 2150 Self::A8B8G8R8_SRGB_PACK32 => {} 2151 Self::A2R10G10B10_UNORM_PACK32 => {} 2152 Self::A2R10G10B10_SNORM_PACK32 => {} 2153 Self::A2R10G10B10_USCALED_PACK32 => {} 2154 Self::A2R10G10B10_SSCALED_PACK32 => {} 2155 Self::A2R10G10B10_UINT_PACK32 => {} 2156 Self::A2R10G10B10_SINT_PACK32 => {} 2157 Self::A2B10G10R10_UNORM_PACK32 => {} 2158 Self::A2B10G10R10_SNORM_PACK32 => {} 2159 Self::A2B10G10R10_USCALED_PACK32 => {} 2160 Self::A2B10G10R10_SSCALED_PACK32 => {} 2161 Self::A2B10G10R10_UINT_PACK32 => {} 2162 Self::A2B10G10R10_SINT_PACK32 => {} 2163 Self::R16_UNORM => {} 2164 Self::R16_SNORM => {} 2165 Self::R16_USCALED => {} 2166 Self::R16_SSCALED => {} 2167 Self::R16_UINT => {} 2168 Self::R16_SINT => {} 2169 Self::R16_SFLOAT => {} 2170 Self::R16G16_UNORM => {} 2171 Self::R16G16_SNORM => {} 2172 Self::R16G16_USCALED => {} 2173 Self::R16G16_SSCALED => {} 2174 Self::R16G16_UINT => {} 2175 Self::R16G16_SINT => {} 2176 Self::R16G16_SFLOAT => {} 2177 Self::R16G16B16_UNORM => {} 2178 Self::R16G16B16_SNORM => {} 2179 Self::R16G16B16_USCALED => {} 2180 Self::R16G16B16_SSCALED => {} 2181 Self::R16G16B16_UINT => {} 2182 Self::R16G16B16_SINT => {} 2183 Self::R16G16B16_SFLOAT => {} 2184 Self::R16G16B16A16_UNORM => {} 2185 Self::R16G16B16A16_SNORM => {} 2186 Self::R16G16B16A16_USCALED => {} 2187 Self::R16G16B16A16_SSCALED => {} 2188 Self::R16G16B16A16_UINT => {} 2189 Self::R16G16B16A16_SINT => {} 2190 Self::R16G16B16A16_SFLOAT => {} 2191 Self::R32_UINT => {} 2192 Self::R32_SINT => {} 2193 Self::R32_SFLOAT => {} 2194 Self::R32G32_UINT => {} 2195 Self::R32G32_SINT => {} 2196 Self::R32G32_SFLOAT => {} 2197 Self::R32G32B32_UINT => {} 2198 Self::R32G32B32_SINT => {} 2199 Self::R32G32B32_SFLOAT => {} 2200 Self::R32G32B32A32_UINT => {} 2201 Self::R32G32B32A32_SINT => {} 2202 Self::R32G32B32A32_SFLOAT => {} 2203 Self::R64_UINT => {} 2204 Self::R64_SINT => {} 2205 Self::R64_SFLOAT => {} 2206 Self::R64G64_UINT => {} 2207 Self::R64G64_SINT => {} 2208 Self::R64G64_SFLOAT => {} 2209 Self::R64G64B64_UINT => {} 2210 Self::R64G64B64_SINT => {} 2211 Self::R64G64B64_SFLOAT => {} 2212 Self::R64G64B64A64_UINT => {} 2213 Self::R64G64B64A64_SINT => {} 2214 Self::R64G64B64A64_SFLOAT => {} 2215 Self::B10G11R11_UFLOAT_PACK32 => {} 2216 Self::E5B9G9R9_UFLOAT_PACK32 => {} 2217 Self::D16_UNORM => {} 2218 Self::X8_D24_UNORM_PACK32 => {} 2219 Self::D32_SFLOAT => {} 2220 Self::S8_UINT => {} 2221 Self::D16_UNORM_S8_UINT => {} 2222 Self::D24_UNORM_S8_UINT => {} 2223 Self::D32_SFLOAT_S8_UINT => {} 2224 Self::BC1_RGB_UNORM_BLOCK => {} 2225 Self::BC1_RGB_SRGB_BLOCK => {} 2226 Self::BC1_RGBA_UNORM_BLOCK => {} 2227 Self::BC1_RGBA_SRGB_BLOCK => {} 2228 Self::BC2_UNORM_BLOCK => {} 2229 Self::BC2_SRGB_BLOCK => {} 2230 Self::BC3_UNORM_BLOCK => {} 2231 Self::BC3_SRGB_BLOCK => {} 2232 Self::BC4_UNORM_BLOCK => {} 2233 Self::BC4_SNORM_BLOCK => {} 2234 Self::BC5_UNORM_BLOCK => {} 2235 Self::BC5_SNORM_BLOCK => {} 2236 Self::BC6H_UFLOAT_BLOCK => {} 2237 Self::BC6H_SFLOAT_BLOCK => {} 2238 Self::BC7_UNORM_BLOCK => {} 2239 Self::BC7_SRGB_BLOCK => {} 2240 Self::ETC2_R8G8B8_UNORM_BLOCK => {} 2241 Self::ETC2_R8G8B8_SRGB_BLOCK => {} 2242 Self::ETC2_R8G8B8A1_UNORM_BLOCK => {} 2243 Self::ETC2_R8G8B8A1_SRGB_BLOCK => {} 2244 Self::ETC2_R8G8B8A8_UNORM_BLOCK => {} 2245 Self::ETC2_R8G8B8A8_SRGB_BLOCK => {} 2246 Self::EAC_R11_UNORM_BLOCK => {} 2247 Self::EAC_R11_SNORM_BLOCK => {} 2248 Self::EAC_R11G11_UNORM_BLOCK => {} 2249 Self::EAC_R11G11_SNORM_BLOCK => {} 2250 Self::ASTC_4x4_UNORM_BLOCK => {} 2251 Self::ASTC_4x4_SRGB_BLOCK => {} 2252 Self::ASTC_5x4_UNORM_BLOCK => {} 2253 Self::ASTC_5x4_SRGB_BLOCK => {} 2254 Self::ASTC_5x5_UNORM_BLOCK => {} 2255 Self::ASTC_5x5_SRGB_BLOCK => {} 2256 Self::ASTC_6x5_UNORM_BLOCK => {} 2257 Self::ASTC_6x5_SRGB_BLOCK => {} 2258 Self::ASTC_6x6_UNORM_BLOCK => {} 2259 Self::ASTC_6x6_SRGB_BLOCK => {} 2260 Self::ASTC_8x5_UNORM_BLOCK => {} 2261 Self::ASTC_8x5_SRGB_BLOCK => {} 2262 Self::ASTC_8x6_UNORM_BLOCK => {} 2263 Self::ASTC_8x6_SRGB_BLOCK => {} 2264 Self::ASTC_8x8_UNORM_BLOCK => {} 2265 Self::ASTC_8x8_SRGB_BLOCK => {} 2266 Self::ASTC_10x5_UNORM_BLOCK => {} 2267 Self::ASTC_10x5_SRGB_BLOCK => {} 2268 Self::ASTC_10x6_UNORM_BLOCK => {} 2269 Self::ASTC_10x6_SRGB_BLOCK => {} 2270 Self::ASTC_10x8_UNORM_BLOCK => {} 2271 Self::ASTC_10x8_SRGB_BLOCK => {} 2272 Self::ASTC_10x10_UNORM_BLOCK => {} 2273 Self::ASTC_10x10_SRGB_BLOCK => {} 2274 Self::ASTC_12x10_UNORM_BLOCK => {} 2275 Self::ASTC_12x10_SRGB_BLOCK => {} 2276 Self::ASTC_12x12_UNORM_BLOCK => {} 2277 Self::ASTC_12x12_SRGB_BLOCK => {} 2278 Self::G8B8G8R8_422_UNORM => { 2279 if !(device.api_version() >= crate::Version::V1_1 2280 || device.enabled_extensions().khr_sampler_ycbcr_conversion) 2281 { 2282 return Err(crate::RequirementNotMet { 2283 required_for: "`Format::G8B8G8R8_422_UNORM`", 2284 requires_one_of: crate::RequiresOneOf { 2285 api_version: Some(crate::Version::V1_1), 2286 device_extensions: &["khr_sampler_ycbcr_conversion"], 2287 ..Default::default() 2288 }, 2289 }); 2290 } 2291 } 2292 Self::B8G8R8G8_422_UNORM => { 2293 if !(device.api_version() >= crate::Version::V1_1 2294 || device.enabled_extensions().khr_sampler_ycbcr_conversion) 2295 { 2296 return Err(crate::RequirementNotMet { 2297 required_for: "`Format::B8G8R8G8_422_UNORM`", 2298 requires_one_of: crate::RequiresOneOf { 2299 api_version: Some(crate::Version::V1_1), 2300 device_extensions: &["khr_sampler_ycbcr_conversion"], 2301 ..Default::default() 2302 }, 2303 }); 2304 } 2305 } 2306 Self::G8_B8_R8_3PLANE_420_UNORM => { 2307 if !(device.api_version() >= crate::Version::V1_1 2308 || device.enabled_extensions().khr_sampler_ycbcr_conversion) 2309 { 2310 return Err(crate::RequirementNotMet { 2311 required_for: "`Format::G8_B8_R8_3PLANE_420_UNORM`", 2312 requires_one_of: crate::RequiresOneOf { 2313 api_version: Some(crate::Version::V1_1), 2314 device_extensions: &["khr_sampler_ycbcr_conversion"], 2315 ..Default::default() 2316 }, 2317 }); 2318 } 2319 } 2320 Self::G8_B8R8_2PLANE_420_UNORM => { 2321 if !(device.api_version() >= crate::Version::V1_1 2322 || device.enabled_extensions().khr_sampler_ycbcr_conversion) 2323 { 2324 return Err(crate::RequirementNotMet { 2325 required_for: "`Format::G8_B8R8_2PLANE_420_UNORM`", 2326 requires_one_of: crate::RequiresOneOf { 2327 api_version: Some(crate::Version::V1_1), 2328 device_extensions: &["khr_sampler_ycbcr_conversion"], 2329 ..Default::default() 2330 }, 2331 }); 2332 } 2333 } 2334 Self::G8_B8_R8_3PLANE_422_UNORM => { 2335 if !(device.api_version() >= crate::Version::V1_1 2336 || device.enabled_extensions().khr_sampler_ycbcr_conversion) 2337 { 2338 return Err(crate::RequirementNotMet { 2339 required_for: "`Format::G8_B8_R8_3PLANE_422_UNORM`", 2340 requires_one_of: crate::RequiresOneOf { 2341 api_version: Some(crate::Version::V1_1), 2342 device_extensions: &["khr_sampler_ycbcr_conversion"], 2343 ..Default::default() 2344 }, 2345 }); 2346 } 2347 } 2348 Self::G8_B8R8_2PLANE_422_UNORM => { 2349 if !(device.api_version() >= crate::Version::V1_1 2350 || device.enabled_extensions().khr_sampler_ycbcr_conversion) 2351 { 2352 return Err(crate::RequirementNotMet { 2353 required_for: "`Format::G8_B8R8_2PLANE_422_UNORM`", 2354 requires_one_of: crate::RequiresOneOf { 2355 api_version: Some(crate::Version::V1_1), 2356 device_extensions: &["khr_sampler_ycbcr_conversion"], 2357 ..Default::default() 2358 }, 2359 }); 2360 } 2361 } 2362 Self::G8_B8_R8_3PLANE_444_UNORM => { 2363 if !(device.api_version() >= crate::Version::V1_1 2364 || device.enabled_extensions().khr_sampler_ycbcr_conversion) 2365 { 2366 return Err(crate::RequirementNotMet { 2367 required_for: "`Format::G8_B8_R8_3PLANE_444_UNORM`", 2368 requires_one_of: crate::RequiresOneOf { 2369 api_version: Some(crate::Version::V1_1), 2370 device_extensions: &["khr_sampler_ycbcr_conversion"], 2371 ..Default::default() 2372 }, 2373 }); 2374 } 2375 } 2376 Self::R10X6_UNORM_PACK16 => { 2377 if !(device.api_version() >= crate::Version::V1_1 2378 || device.enabled_extensions().khr_sampler_ycbcr_conversion) 2379 { 2380 return Err(crate::RequirementNotMet { 2381 required_for: "`Format::R10X6_UNORM_PACK16`", 2382 requires_one_of: crate::RequiresOneOf { 2383 api_version: Some(crate::Version::V1_1), 2384 device_extensions: &["khr_sampler_ycbcr_conversion"], 2385 ..Default::default() 2386 }, 2387 }); 2388 } 2389 } 2390 Self::R10X6G10X6_UNORM_2PACK16 => { 2391 if !(device.api_version() >= crate::Version::V1_1 2392 || device.enabled_extensions().khr_sampler_ycbcr_conversion) 2393 { 2394 return Err(crate::RequirementNotMet { 2395 required_for: "`Format::R10X6G10X6_UNORM_2PACK16`", 2396 requires_one_of: crate::RequiresOneOf { 2397 api_version: Some(crate::Version::V1_1), 2398 device_extensions: &["khr_sampler_ycbcr_conversion"], 2399 ..Default::default() 2400 }, 2401 }); 2402 } 2403 } 2404 Self::R10X6G10X6B10X6A10X6_UNORM_4PACK16 => { 2405 if !(device.api_version() >= crate::Version::V1_1 2406 || device.enabled_extensions().khr_sampler_ycbcr_conversion) 2407 { 2408 return Err(crate::RequirementNotMet { 2409 required_for: "`Format::R10X6G10X6B10X6A10X6_UNORM_4PACK16`", 2410 requires_one_of: crate::RequiresOneOf { 2411 api_version: Some(crate::Version::V1_1), 2412 device_extensions: &["khr_sampler_ycbcr_conversion"], 2413 ..Default::default() 2414 }, 2415 }); 2416 } 2417 } 2418 Self::G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 => { 2419 if !(device.api_version() >= crate::Version::V1_1 2420 || device.enabled_extensions().khr_sampler_ycbcr_conversion) 2421 { 2422 return Err(crate::RequirementNotMet { 2423 required_for: "`Format::G10X6B10X6G10X6R10X6_422_UNORM_4PACK16`", 2424 requires_one_of: crate::RequiresOneOf { 2425 api_version: Some(crate::Version::V1_1), 2426 device_extensions: &["khr_sampler_ycbcr_conversion"], 2427 ..Default::default() 2428 }, 2429 }); 2430 } 2431 } 2432 Self::B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 => { 2433 if !(device.api_version() >= crate::Version::V1_1 2434 || device.enabled_extensions().khr_sampler_ycbcr_conversion) 2435 { 2436 return Err(crate::RequirementNotMet { 2437 required_for: "`Format::B10X6G10X6R10X6G10X6_422_UNORM_4PACK16`", 2438 requires_one_of: crate::RequiresOneOf { 2439 api_version: Some(crate::Version::V1_1), 2440 device_extensions: &["khr_sampler_ycbcr_conversion"], 2441 ..Default::default() 2442 }, 2443 }); 2444 } 2445 } 2446 Self::G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 => { 2447 if !(device.api_version() >= crate::Version::V1_1 2448 || device.enabled_extensions().khr_sampler_ycbcr_conversion) 2449 { 2450 return Err(crate::RequirementNotMet { 2451 required_for: "`Format::G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16`", 2452 requires_one_of: crate::RequiresOneOf { 2453 api_version: Some(crate::Version::V1_1), 2454 device_extensions: &["khr_sampler_ycbcr_conversion"], 2455 ..Default::default() 2456 }, 2457 }); 2458 } 2459 } 2460 Self::G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 => { 2461 if !(device.api_version() >= crate::Version::V1_1 2462 || device.enabled_extensions().khr_sampler_ycbcr_conversion) 2463 { 2464 return Err(crate::RequirementNotMet { 2465 required_for: "`Format::G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16`", 2466 requires_one_of: crate::RequiresOneOf { 2467 api_version: Some(crate::Version::V1_1), 2468 device_extensions: &["khr_sampler_ycbcr_conversion"], 2469 ..Default::default() 2470 }, 2471 }); 2472 } 2473 } 2474 Self::G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 => { 2475 if !(device.api_version() >= crate::Version::V1_1 2476 || device.enabled_extensions().khr_sampler_ycbcr_conversion) 2477 { 2478 return Err(crate::RequirementNotMet { 2479 required_for: "`Format::G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16`", 2480 requires_one_of: crate::RequiresOneOf { 2481 api_version: Some(crate::Version::V1_1), 2482 device_extensions: &["khr_sampler_ycbcr_conversion"], 2483 ..Default::default() 2484 }, 2485 }); 2486 } 2487 } 2488 Self::G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 => { 2489 if !(device.api_version() >= crate::Version::V1_1 2490 || device.enabled_extensions().khr_sampler_ycbcr_conversion) 2491 { 2492 return Err(crate::RequirementNotMet { 2493 required_for: "`Format::G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16`", 2494 requires_one_of: crate::RequiresOneOf { 2495 api_version: Some(crate::Version::V1_1), 2496 device_extensions: &["khr_sampler_ycbcr_conversion"], 2497 ..Default::default() 2498 }, 2499 }); 2500 } 2501 } 2502 Self::G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 => { 2503 if !(device.api_version() >= crate::Version::V1_1 2504 || device.enabled_extensions().khr_sampler_ycbcr_conversion) 2505 { 2506 return Err(crate::RequirementNotMet { 2507 required_for: "`Format::G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16`", 2508 requires_one_of: crate::RequiresOneOf { 2509 api_version: Some(crate::Version::V1_1), 2510 device_extensions: &["khr_sampler_ycbcr_conversion"], 2511 ..Default::default() 2512 }, 2513 }); 2514 } 2515 } 2516 Self::R12X4_UNORM_PACK16 => { 2517 if !(device.api_version() >= crate::Version::V1_1 2518 || device.enabled_extensions().khr_sampler_ycbcr_conversion) 2519 { 2520 return Err(crate::RequirementNotMet { 2521 required_for: "`Format::R12X4_UNORM_PACK16`", 2522 requires_one_of: crate::RequiresOneOf { 2523 api_version: Some(crate::Version::V1_1), 2524 device_extensions: &["khr_sampler_ycbcr_conversion"], 2525 ..Default::default() 2526 }, 2527 }); 2528 } 2529 } 2530 Self::R12X4G12X4_UNORM_2PACK16 => { 2531 if !(device.api_version() >= crate::Version::V1_1 2532 || device.enabled_extensions().khr_sampler_ycbcr_conversion) 2533 { 2534 return Err(crate::RequirementNotMet { 2535 required_for: "`Format::R12X4G12X4_UNORM_2PACK16`", 2536 requires_one_of: crate::RequiresOneOf { 2537 api_version: Some(crate::Version::V1_1), 2538 device_extensions: &["khr_sampler_ycbcr_conversion"], 2539 ..Default::default() 2540 }, 2541 }); 2542 } 2543 } 2544 Self::R12X4G12X4B12X4A12X4_UNORM_4PACK16 => { 2545 if !(device.api_version() >= crate::Version::V1_1 2546 || device.enabled_extensions().khr_sampler_ycbcr_conversion) 2547 { 2548 return Err(crate::RequirementNotMet { 2549 required_for: "`Format::R12X4G12X4B12X4A12X4_UNORM_4PACK16`", 2550 requires_one_of: crate::RequiresOneOf { 2551 api_version: Some(crate::Version::V1_1), 2552 device_extensions: &["khr_sampler_ycbcr_conversion"], 2553 ..Default::default() 2554 }, 2555 }); 2556 } 2557 } 2558 Self::G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 => { 2559 if !(device.api_version() >= crate::Version::V1_1 2560 || device.enabled_extensions().khr_sampler_ycbcr_conversion) 2561 { 2562 return Err(crate::RequirementNotMet { 2563 required_for: "`Format::G12X4B12X4G12X4R12X4_422_UNORM_4PACK16`", 2564 requires_one_of: crate::RequiresOneOf { 2565 api_version: Some(crate::Version::V1_1), 2566 device_extensions: &["khr_sampler_ycbcr_conversion"], 2567 ..Default::default() 2568 }, 2569 }); 2570 } 2571 } 2572 Self::B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 => { 2573 if !(device.api_version() >= crate::Version::V1_1 2574 || device.enabled_extensions().khr_sampler_ycbcr_conversion) 2575 { 2576 return Err(crate::RequirementNotMet { 2577 required_for: "`Format::B12X4G12X4R12X4G12X4_422_UNORM_4PACK16`", 2578 requires_one_of: crate::RequiresOneOf { 2579 api_version: Some(crate::Version::V1_1), 2580 device_extensions: &["khr_sampler_ycbcr_conversion"], 2581 ..Default::default() 2582 }, 2583 }); 2584 } 2585 } 2586 Self::G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 => { 2587 if !(device.api_version() >= crate::Version::V1_1 2588 || device.enabled_extensions().khr_sampler_ycbcr_conversion) 2589 { 2590 return Err(crate::RequirementNotMet { 2591 required_for: "`Format::G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16`", 2592 requires_one_of: crate::RequiresOneOf { 2593 api_version: Some(crate::Version::V1_1), 2594 device_extensions: &["khr_sampler_ycbcr_conversion"], 2595 ..Default::default() 2596 }, 2597 }); 2598 } 2599 } 2600 Self::G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 => { 2601 if !(device.api_version() >= crate::Version::V1_1 2602 || device.enabled_extensions().khr_sampler_ycbcr_conversion) 2603 { 2604 return Err(crate::RequirementNotMet { 2605 required_for: "`Format::G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16`", 2606 requires_one_of: crate::RequiresOneOf { 2607 api_version: Some(crate::Version::V1_1), 2608 device_extensions: &["khr_sampler_ycbcr_conversion"], 2609 ..Default::default() 2610 }, 2611 }); 2612 } 2613 } 2614 Self::G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 => { 2615 if !(device.api_version() >= crate::Version::V1_1 2616 || device.enabled_extensions().khr_sampler_ycbcr_conversion) 2617 { 2618 return Err(crate::RequirementNotMet { 2619 required_for: "`Format::G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16`", 2620 requires_one_of: crate::RequiresOneOf { 2621 api_version: Some(crate::Version::V1_1), 2622 device_extensions: &["khr_sampler_ycbcr_conversion"], 2623 ..Default::default() 2624 }, 2625 }); 2626 } 2627 } 2628 Self::G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 => { 2629 if !(device.api_version() >= crate::Version::V1_1 2630 || device.enabled_extensions().khr_sampler_ycbcr_conversion) 2631 { 2632 return Err(crate::RequirementNotMet { 2633 required_for: "`Format::G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16`", 2634 requires_one_of: crate::RequiresOneOf { 2635 api_version: Some(crate::Version::V1_1), 2636 device_extensions: &["khr_sampler_ycbcr_conversion"], 2637 ..Default::default() 2638 }, 2639 }); 2640 } 2641 } 2642 Self::G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 => { 2643 if !(device.api_version() >= crate::Version::V1_1 2644 || device.enabled_extensions().khr_sampler_ycbcr_conversion) 2645 { 2646 return Err(crate::RequirementNotMet { 2647 required_for: "`Format::G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16`", 2648 requires_one_of: crate::RequiresOneOf { 2649 api_version: Some(crate::Version::V1_1), 2650 device_extensions: &["khr_sampler_ycbcr_conversion"], 2651 ..Default::default() 2652 }, 2653 }); 2654 } 2655 } 2656 Self::G16B16G16R16_422_UNORM => { 2657 if !(device.api_version() >= crate::Version::V1_1 2658 || device.enabled_extensions().khr_sampler_ycbcr_conversion) 2659 { 2660 return Err(crate::RequirementNotMet { 2661 required_for: "`Format::G16B16G16R16_422_UNORM`", 2662 requires_one_of: crate::RequiresOneOf { 2663 api_version: Some(crate::Version::V1_1), 2664 device_extensions: &["khr_sampler_ycbcr_conversion"], 2665 ..Default::default() 2666 }, 2667 }); 2668 } 2669 } 2670 Self::B16G16R16G16_422_UNORM => { 2671 if !(device.api_version() >= crate::Version::V1_1 2672 || device.enabled_extensions().khr_sampler_ycbcr_conversion) 2673 { 2674 return Err(crate::RequirementNotMet { 2675 required_for: "`Format::B16G16R16G16_422_UNORM`", 2676 requires_one_of: crate::RequiresOneOf { 2677 api_version: Some(crate::Version::V1_1), 2678 device_extensions: &["khr_sampler_ycbcr_conversion"], 2679 ..Default::default() 2680 }, 2681 }); 2682 } 2683 } 2684 Self::G16_B16_R16_3PLANE_420_UNORM => { 2685 if !(device.api_version() >= crate::Version::V1_1 2686 || device.enabled_extensions().khr_sampler_ycbcr_conversion) 2687 { 2688 return Err(crate::RequirementNotMet { 2689 required_for: "`Format::G16_B16_R16_3PLANE_420_UNORM`", 2690 requires_one_of: crate::RequiresOneOf { 2691 api_version: Some(crate::Version::V1_1), 2692 device_extensions: &["khr_sampler_ycbcr_conversion"], 2693 ..Default::default() 2694 }, 2695 }); 2696 } 2697 } 2698 Self::G16_B16R16_2PLANE_420_UNORM => { 2699 if !(device.api_version() >= crate::Version::V1_1 2700 || device.enabled_extensions().khr_sampler_ycbcr_conversion) 2701 { 2702 return Err(crate::RequirementNotMet { 2703 required_for: "`Format::G16_B16R16_2PLANE_420_UNORM`", 2704 requires_one_of: crate::RequiresOneOf { 2705 api_version: Some(crate::Version::V1_1), 2706 device_extensions: &["khr_sampler_ycbcr_conversion"], 2707 ..Default::default() 2708 }, 2709 }); 2710 } 2711 } 2712 Self::G16_B16_R16_3PLANE_422_UNORM => { 2713 if !(device.api_version() >= crate::Version::V1_1 2714 || device.enabled_extensions().khr_sampler_ycbcr_conversion) 2715 { 2716 return Err(crate::RequirementNotMet { 2717 required_for: "`Format::G16_B16_R16_3PLANE_422_UNORM`", 2718 requires_one_of: crate::RequiresOneOf { 2719 api_version: Some(crate::Version::V1_1), 2720 device_extensions: &["khr_sampler_ycbcr_conversion"], 2721 ..Default::default() 2722 }, 2723 }); 2724 } 2725 } 2726 Self::G16_B16R16_2PLANE_422_UNORM => { 2727 if !(device.api_version() >= crate::Version::V1_1 2728 || device.enabled_extensions().khr_sampler_ycbcr_conversion) 2729 { 2730 return Err(crate::RequirementNotMet { 2731 required_for: "`Format::G16_B16R16_2PLANE_422_UNORM`", 2732 requires_one_of: crate::RequiresOneOf { 2733 api_version: Some(crate::Version::V1_1), 2734 device_extensions: &["khr_sampler_ycbcr_conversion"], 2735 ..Default::default() 2736 }, 2737 }); 2738 } 2739 } 2740 Self::G16_B16_R16_3PLANE_444_UNORM => { 2741 if !(device.api_version() >= crate::Version::V1_1 2742 || device.enabled_extensions().khr_sampler_ycbcr_conversion) 2743 { 2744 return Err(crate::RequirementNotMet { 2745 required_for: "`Format::G16_B16_R16_3PLANE_444_UNORM`", 2746 requires_one_of: crate::RequiresOneOf { 2747 api_version: Some(crate::Version::V1_1), 2748 device_extensions: &["khr_sampler_ycbcr_conversion"], 2749 ..Default::default() 2750 }, 2751 }); 2752 } 2753 } 2754 Self::PVRTC1_2BPP_UNORM_BLOCK => { 2755 if !(device.enabled_extensions().img_format_pvrtc) { 2756 return Err(crate::RequirementNotMet { 2757 required_for: "`Format::PVRTC1_2BPP_UNORM_BLOCK`", 2758 requires_one_of: crate::RequiresOneOf { 2759 device_extensions: &["img_format_pvrtc"], 2760 ..Default::default() 2761 }, 2762 }); 2763 } 2764 } 2765 Self::PVRTC1_4BPP_UNORM_BLOCK => { 2766 if !(device.enabled_extensions().img_format_pvrtc) { 2767 return Err(crate::RequirementNotMet { 2768 required_for: "`Format::PVRTC1_4BPP_UNORM_BLOCK`", 2769 requires_one_of: crate::RequiresOneOf { 2770 device_extensions: &["img_format_pvrtc"], 2771 ..Default::default() 2772 }, 2773 }); 2774 } 2775 } 2776 Self::PVRTC2_2BPP_UNORM_BLOCK => { 2777 if !(device.enabled_extensions().img_format_pvrtc) { 2778 return Err(crate::RequirementNotMet { 2779 required_for: "`Format::PVRTC2_2BPP_UNORM_BLOCK`", 2780 requires_one_of: crate::RequiresOneOf { 2781 device_extensions: &["img_format_pvrtc"], 2782 ..Default::default() 2783 }, 2784 }); 2785 } 2786 } 2787 Self::PVRTC2_4BPP_UNORM_BLOCK => { 2788 if !(device.enabled_extensions().img_format_pvrtc) { 2789 return Err(crate::RequirementNotMet { 2790 required_for: "`Format::PVRTC2_4BPP_UNORM_BLOCK`", 2791 requires_one_of: crate::RequiresOneOf { 2792 device_extensions: &["img_format_pvrtc"], 2793 ..Default::default() 2794 }, 2795 }); 2796 } 2797 } 2798 Self::PVRTC1_2BPP_SRGB_BLOCK => { 2799 if !(device.enabled_extensions().img_format_pvrtc) { 2800 return Err(crate::RequirementNotMet { 2801 required_for: "`Format::PVRTC1_2BPP_SRGB_BLOCK`", 2802 requires_one_of: crate::RequiresOneOf { 2803 device_extensions: &["img_format_pvrtc"], 2804 ..Default::default() 2805 }, 2806 }); 2807 } 2808 } 2809 Self::PVRTC1_4BPP_SRGB_BLOCK => { 2810 if !(device.enabled_extensions().img_format_pvrtc) { 2811 return Err(crate::RequirementNotMet { 2812 required_for: "`Format::PVRTC1_4BPP_SRGB_BLOCK`", 2813 requires_one_of: crate::RequiresOneOf { 2814 device_extensions: &["img_format_pvrtc"], 2815 ..Default::default() 2816 }, 2817 }); 2818 } 2819 } 2820 Self::PVRTC2_2BPP_SRGB_BLOCK => { 2821 if !(device.enabled_extensions().img_format_pvrtc) { 2822 return Err(crate::RequirementNotMet { 2823 required_for: "`Format::PVRTC2_2BPP_SRGB_BLOCK`", 2824 requires_one_of: crate::RequiresOneOf { 2825 device_extensions: &["img_format_pvrtc"], 2826 ..Default::default() 2827 }, 2828 }); 2829 } 2830 } 2831 Self::PVRTC2_4BPP_SRGB_BLOCK => { 2832 if !(device.enabled_extensions().img_format_pvrtc) { 2833 return Err(crate::RequirementNotMet { 2834 required_for: "`Format::PVRTC2_4BPP_SRGB_BLOCK`", 2835 requires_one_of: crate::RequiresOneOf { 2836 device_extensions: &["img_format_pvrtc"], 2837 ..Default::default() 2838 }, 2839 }); 2840 } 2841 } 2842 Self::ASTC_4x4_SFLOAT_BLOCK => { 2843 if !(device.api_version() >= crate::Version::V1_3 2844 || device.enabled_extensions().ext_texture_compression_astc_hdr) 2845 { 2846 return Err(crate::RequirementNotMet { 2847 required_for: "`Format::ASTC_4x4_SFLOAT_BLOCK`", 2848 requires_one_of: crate::RequiresOneOf { 2849 api_version: Some(crate::Version::V1_3), 2850 device_extensions: &["ext_texture_compression_astc_hdr"], 2851 ..Default::default() 2852 }, 2853 }); 2854 } 2855 } 2856 Self::ASTC_5x4_SFLOAT_BLOCK => { 2857 if !(device.api_version() >= crate::Version::V1_3 2858 || device.enabled_extensions().ext_texture_compression_astc_hdr) 2859 { 2860 return Err(crate::RequirementNotMet { 2861 required_for: "`Format::ASTC_5x4_SFLOAT_BLOCK`", 2862 requires_one_of: crate::RequiresOneOf { 2863 api_version: Some(crate::Version::V1_3), 2864 device_extensions: &["ext_texture_compression_astc_hdr"], 2865 ..Default::default() 2866 }, 2867 }); 2868 } 2869 } 2870 Self::ASTC_5x5_SFLOAT_BLOCK => { 2871 if !(device.api_version() >= crate::Version::V1_3 2872 || device.enabled_extensions().ext_texture_compression_astc_hdr) 2873 { 2874 return Err(crate::RequirementNotMet { 2875 required_for: "`Format::ASTC_5x5_SFLOAT_BLOCK`", 2876 requires_one_of: crate::RequiresOneOf { 2877 api_version: Some(crate::Version::V1_3), 2878 device_extensions: &["ext_texture_compression_astc_hdr"], 2879 ..Default::default() 2880 }, 2881 }); 2882 } 2883 } 2884 Self::ASTC_6x5_SFLOAT_BLOCK => { 2885 if !(device.api_version() >= crate::Version::V1_3 2886 || device.enabled_extensions().ext_texture_compression_astc_hdr) 2887 { 2888 return Err(crate::RequirementNotMet { 2889 required_for: "`Format::ASTC_6x5_SFLOAT_BLOCK`", 2890 requires_one_of: crate::RequiresOneOf { 2891 api_version: Some(crate::Version::V1_3), 2892 device_extensions: &["ext_texture_compression_astc_hdr"], 2893 ..Default::default() 2894 }, 2895 }); 2896 } 2897 } 2898 Self::ASTC_6x6_SFLOAT_BLOCK => { 2899 if !(device.api_version() >= crate::Version::V1_3 2900 || device.enabled_extensions().ext_texture_compression_astc_hdr) 2901 { 2902 return Err(crate::RequirementNotMet { 2903 required_for: "`Format::ASTC_6x6_SFLOAT_BLOCK`", 2904 requires_one_of: crate::RequiresOneOf { 2905 api_version: Some(crate::Version::V1_3), 2906 device_extensions: &["ext_texture_compression_astc_hdr"], 2907 ..Default::default() 2908 }, 2909 }); 2910 } 2911 } 2912 Self::ASTC_8x5_SFLOAT_BLOCK => { 2913 if !(device.api_version() >= crate::Version::V1_3 2914 || device.enabled_extensions().ext_texture_compression_astc_hdr) 2915 { 2916 return Err(crate::RequirementNotMet { 2917 required_for: "`Format::ASTC_8x5_SFLOAT_BLOCK`", 2918 requires_one_of: crate::RequiresOneOf { 2919 api_version: Some(crate::Version::V1_3), 2920 device_extensions: &["ext_texture_compression_astc_hdr"], 2921 ..Default::default() 2922 }, 2923 }); 2924 } 2925 } 2926 Self::ASTC_8x6_SFLOAT_BLOCK => { 2927 if !(device.api_version() >= crate::Version::V1_3 2928 || device.enabled_extensions().ext_texture_compression_astc_hdr) 2929 { 2930 return Err(crate::RequirementNotMet { 2931 required_for: "`Format::ASTC_8x6_SFLOAT_BLOCK`", 2932 requires_one_of: crate::RequiresOneOf { 2933 api_version: Some(crate::Version::V1_3), 2934 device_extensions: &["ext_texture_compression_astc_hdr"], 2935 ..Default::default() 2936 }, 2937 }); 2938 } 2939 } 2940 Self::ASTC_8x8_SFLOAT_BLOCK => { 2941 if !(device.api_version() >= crate::Version::V1_3 2942 || device.enabled_extensions().ext_texture_compression_astc_hdr) 2943 { 2944 return Err(crate::RequirementNotMet { 2945 required_for: "`Format::ASTC_8x8_SFLOAT_BLOCK`", 2946 requires_one_of: crate::RequiresOneOf { 2947 api_version: Some(crate::Version::V1_3), 2948 device_extensions: &["ext_texture_compression_astc_hdr"], 2949 ..Default::default() 2950 }, 2951 }); 2952 } 2953 } 2954 Self::ASTC_10x5_SFLOAT_BLOCK => { 2955 if !(device.api_version() >= crate::Version::V1_3 2956 || device.enabled_extensions().ext_texture_compression_astc_hdr) 2957 { 2958 return Err(crate::RequirementNotMet { 2959 required_for: "`Format::ASTC_10x5_SFLOAT_BLOCK`", 2960 requires_one_of: crate::RequiresOneOf { 2961 api_version: Some(crate::Version::V1_3), 2962 device_extensions: &["ext_texture_compression_astc_hdr"], 2963 ..Default::default() 2964 }, 2965 }); 2966 } 2967 } 2968 Self::ASTC_10x6_SFLOAT_BLOCK => { 2969 if !(device.api_version() >= crate::Version::V1_3 2970 || device.enabled_extensions().ext_texture_compression_astc_hdr) 2971 { 2972 return Err(crate::RequirementNotMet { 2973 required_for: "`Format::ASTC_10x6_SFLOAT_BLOCK`", 2974 requires_one_of: crate::RequiresOneOf { 2975 api_version: Some(crate::Version::V1_3), 2976 device_extensions: &["ext_texture_compression_astc_hdr"], 2977 ..Default::default() 2978 }, 2979 }); 2980 } 2981 } 2982 Self::ASTC_10x8_SFLOAT_BLOCK => { 2983 if !(device.api_version() >= crate::Version::V1_3 2984 || device.enabled_extensions().ext_texture_compression_astc_hdr) 2985 { 2986 return Err(crate::RequirementNotMet { 2987 required_for: "`Format::ASTC_10x8_SFLOAT_BLOCK`", 2988 requires_one_of: crate::RequiresOneOf { 2989 api_version: Some(crate::Version::V1_3), 2990 device_extensions: &["ext_texture_compression_astc_hdr"], 2991 ..Default::default() 2992 }, 2993 }); 2994 } 2995 } 2996 Self::ASTC_10x10_SFLOAT_BLOCK => { 2997 if !(device.api_version() >= crate::Version::V1_3 2998 || device.enabled_extensions().ext_texture_compression_astc_hdr) 2999 { 3000 return Err(crate::RequirementNotMet { 3001 required_for: "`Format::ASTC_10x10_SFLOAT_BLOCK`", 3002 requires_one_of: crate::RequiresOneOf { 3003 api_version: Some(crate::Version::V1_3), 3004 device_extensions: &["ext_texture_compression_astc_hdr"], 3005 ..Default::default() 3006 }, 3007 }); 3008 } 3009 } 3010 Self::ASTC_12x10_SFLOAT_BLOCK => { 3011 if !(device.api_version() >= crate::Version::V1_3 3012 || device.enabled_extensions().ext_texture_compression_astc_hdr) 3013 { 3014 return Err(crate::RequirementNotMet { 3015 required_for: "`Format::ASTC_12x10_SFLOAT_BLOCK`", 3016 requires_one_of: crate::RequiresOneOf { 3017 api_version: Some(crate::Version::V1_3), 3018 device_extensions: &["ext_texture_compression_astc_hdr"], 3019 ..Default::default() 3020 }, 3021 }); 3022 } 3023 } 3024 Self::ASTC_12x12_SFLOAT_BLOCK => { 3025 if !(device.api_version() >= crate::Version::V1_3 3026 || device.enabled_extensions().ext_texture_compression_astc_hdr) 3027 { 3028 return Err(crate::RequirementNotMet { 3029 required_for: "`Format::ASTC_12x12_SFLOAT_BLOCK`", 3030 requires_one_of: crate::RequiresOneOf { 3031 api_version: Some(crate::Version::V1_3), 3032 device_extensions: &["ext_texture_compression_astc_hdr"], 3033 ..Default::default() 3034 }, 3035 }); 3036 } 3037 } 3038 Self::G8_B8R8_2PLANE_444_UNORM => { 3039 if !(device.api_version() >= crate::Version::V1_3 3040 || device.enabled_extensions().ext_ycbcr_2plane_444_formats) 3041 { 3042 return Err(crate::RequirementNotMet { 3043 required_for: "`Format::G8_B8R8_2PLANE_444_UNORM`", 3044 requires_one_of: crate::RequiresOneOf { 3045 api_version: Some(crate::Version::V1_3), 3046 device_extensions: &["ext_ycbcr_2plane_444_formats"], 3047 ..Default::default() 3048 }, 3049 }); 3050 } 3051 } 3052 Self::G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 => { 3053 if !(device.api_version() >= crate::Version::V1_3 3054 || device.enabled_extensions().ext_ycbcr_2plane_444_formats) 3055 { 3056 return Err(crate::RequirementNotMet { 3057 required_for: "`Format::G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16`", 3058 requires_one_of: crate::RequiresOneOf { 3059 api_version: Some(crate::Version::V1_3), 3060 device_extensions: &["ext_ycbcr_2plane_444_formats"], 3061 ..Default::default() 3062 }, 3063 }); 3064 } 3065 } 3066 Self::G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 => { 3067 if !(device.api_version() >= crate::Version::V1_3 3068 || device.enabled_extensions().ext_ycbcr_2plane_444_formats) 3069 { 3070 return Err(crate::RequirementNotMet { 3071 required_for: "`Format::G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16`", 3072 requires_one_of: crate::RequiresOneOf { 3073 api_version: Some(crate::Version::V1_3), 3074 device_extensions: &["ext_ycbcr_2plane_444_formats"], 3075 ..Default::default() 3076 }, 3077 }); 3078 } 3079 } 3080 Self::G16_B16R16_2PLANE_444_UNORM => { 3081 if !(device.api_version() >= crate::Version::V1_3 3082 || device.enabled_extensions().ext_ycbcr_2plane_444_formats) 3083 { 3084 return Err(crate::RequirementNotMet { 3085 required_for: "`Format::G16_B16R16_2PLANE_444_UNORM`", 3086 requires_one_of: crate::RequiresOneOf { 3087 api_version: Some(crate::Version::V1_3), 3088 device_extensions: &["ext_ycbcr_2plane_444_formats"], 3089 ..Default::default() 3090 }, 3091 }); 3092 } 3093 } 3094 Self::A4R4G4B4_UNORM_PACK16 => { 3095 if !(device.api_version() >= crate::Version::V1_3 3096 || device.enabled_extensions().ext_4444_formats) 3097 { 3098 return Err(crate::RequirementNotMet { 3099 required_for: "`Format::A4R4G4B4_UNORM_PACK16`", 3100 requires_one_of: crate::RequiresOneOf { 3101 api_version: Some(crate::Version::V1_3), 3102 device_extensions: &["ext_4444_formats"], 3103 ..Default::default() 3104 }, 3105 }); 3106 } 3107 } 3108 Self::A4B4G4R4_UNORM_PACK16 => { 3109 if !(device.api_version() >= crate::Version::V1_3 3110 || device.enabled_extensions().ext_4444_formats) 3111 { 3112 return Err(crate::RequirementNotMet { 3113 required_for: "`Format::A4B4G4R4_UNORM_PACK16`", 3114 requires_one_of: crate::RequiresOneOf { 3115 api_version: Some(crate::Version::V1_3), 3116 device_extensions: &["ext_4444_formats"], 3117 ..Default::default() 3118 }, 3119 }); 3120 } 3121 } 3122 Self::R16G16_S10_5_NV => { 3123 if !(device.enabled_extensions().nv_optical_flow) { 3124 return Err(crate::RequirementNotMet { 3125 required_for: "`Format::R16G16_S10_5_NV`", 3126 requires_one_of: crate::RequiresOneOf { 3127 device_extensions: &["nv_optical_flow"], 3128 ..Default::default() 3129 }, 3130 }); 3131 } 3132 } 3133 } 3134 Ok(()) 3135 } 3136 #[allow(dead_code)] validate_physical_device( self, #[allow(unused_variables)] physical_device: &crate::device::physical::PhysicalDevice, ) -> Result<(), crate::RequirementNotMet>3137 pub(crate) fn validate_physical_device( 3138 self, 3139 #[allow(unused_variables)] physical_device: &crate::device::physical::PhysicalDevice, 3140 ) -> Result<(), crate::RequirementNotMet> { 3141 match self { 3142 Self::R4G4_UNORM_PACK8 => {} 3143 Self::R4G4B4A4_UNORM_PACK16 => {} 3144 Self::B4G4R4A4_UNORM_PACK16 => {} 3145 Self::R5G6B5_UNORM_PACK16 => {} 3146 Self::B5G6R5_UNORM_PACK16 => {} 3147 Self::R5G5B5A1_UNORM_PACK16 => {} 3148 Self::B5G5R5A1_UNORM_PACK16 => {} 3149 Self::A1R5G5B5_UNORM_PACK16 => {} 3150 Self::R8_UNORM => {} 3151 Self::R8_SNORM => {} 3152 Self::R8_USCALED => {} 3153 Self::R8_SSCALED => {} 3154 Self::R8_UINT => {} 3155 Self::R8_SINT => {} 3156 Self::R8_SRGB => {} 3157 Self::R8G8_UNORM => {} 3158 Self::R8G8_SNORM => {} 3159 Self::R8G8_USCALED => {} 3160 Self::R8G8_SSCALED => {} 3161 Self::R8G8_UINT => {} 3162 Self::R8G8_SINT => {} 3163 Self::R8G8_SRGB => {} 3164 Self::R8G8B8_UNORM => {} 3165 Self::R8G8B8_SNORM => {} 3166 Self::R8G8B8_USCALED => {} 3167 Self::R8G8B8_SSCALED => {} 3168 Self::R8G8B8_UINT => {} 3169 Self::R8G8B8_SINT => {} 3170 Self::R8G8B8_SRGB => {} 3171 Self::B8G8R8_UNORM => {} 3172 Self::B8G8R8_SNORM => {} 3173 Self::B8G8R8_USCALED => {} 3174 Self::B8G8R8_SSCALED => {} 3175 Self::B8G8R8_UINT => {} 3176 Self::B8G8R8_SINT => {} 3177 Self::B8G8R8_SRGB => {} 3178 Self::R8G8B8A8_UNORM => {} 3179 Self::R8G8B8A8_SNORM => {} 3180 Self::R8G8B8A8_USCALED => {} 3181 Self::R8G8B8A8_SSCALED => {} 3182 Self::R8G8B8A8_UINT => {} 3183 Self::R8G8B8A8_SINT => {} 3184 Self::R8G8B8A8_SRGB => {} 3185 Self::B8G8R8A8_UNORM => {} 3186 Self::B8G8R8A8_SNORM => {} 3187 Self::B8G8R8A8_USCALED => {} 3188 Self::B8G8R8A8_SSCALED => {} 3189 Self::B8G8R8A8_UINT => {} 3190 Self::B8G8R8A8_SINT => {} 3191 Self::B8G8R8A8_SRGB => {} 3192 Self::A8B8G8R8_UNORM_PACK32 => {} 3193 Self::A8B8G8R8_SNORM_PACK32 => {} 3194 Self::A8B8G8R8_USCALED_PACK32 => {} 3195 Self::A8B8G8R8_SSCALED_PACK32 => {} 3196 Self::A8B8G8R8_UINT_PACK32 => {} 3197 Self::A8B8G8R8_SINT_PACK32 => {} 3198 Self::A8B8G8R8_SRGB_PACK32 => {} 3199 Self::A2R10G10B10_UNORM_PACK32 => {} 3200 Self::A2R10G10B10_SNORM_PACK32 => {} 3201 Self::A2R10G10B10_USCALED_PACK32 => {} 3202 Self::A2R10G10B10_SSCALED_PACK32 => {} 3203 Self::A2R10G10B10_UINT_PACK32 => {} 3204 Self::A2R10G10B10_SINT_PACK32 => {} 3205 Self::A2B10G10R10_UNORM_PACK32 => {} 3206 Self::A2B10G10R10_SNORM_PACK32 => {} 3207 Self::A2B10G10R10_USCALED_PACK32 => {} 3208 Self::A2B10G10R10_SSCALED_PACK32 => {} 3209 Self::A2B10G10R10_UINT_PACK32 => {} 3210 Self::A2B10G10R10_SINT_PACK32 => {} 3211 Self::R16_UNORM => {} 3212 Self::R16_SNORM => {} 3213 Self::R16_USCALED => {} 3214 Self::R16_SSCALED => {} 3215 Self::R16_UINT => {} 3216 Self::R16_SINT => {} 3217 Self::R16_SFLOAT => {} 3218 Self::R16G16_UNORM => {} 3219 Self::R16G16_SNORM => {} 3220 Self::R16G16_USCALED => {} 3221 Self::R16G16_SSCALED => {} 3222 Self::R16G16_UINT => {} 3223 Self::R16G16_SINT => {} 3224 Self::R16G16_SFLOAT => {} 3225 Self::R16G16B16_UNORM => {} 3226 Self::R16G16B16_SNORM => {} 3227 Self::R16G16B16_USCALED => {} 3228 Self::R16G16B16_SSCALED => {} 3229 Self::R16G16B16_UINT => {} 3230 Self::R16G16B16_SINT => {} 3231 Self::R16G16B16_SFLOAT => {} 3232 Self::R16G16B16A16_UNORM => {} 3233 Self::R16G16B16A16_SNORM => {} 3234 Self::R16G16B16A16_USCALED => {} 3235 Self::R16G16B16A16_SSCALED => {} 3236 Self::R16G16B16A16_UINT => {} 3237 Self::R16G16B16A16_SINT => {} 3238 Self::R16G16B16A16_SFLOAT => {} 3239 Self::R32_UINT => {} 3240 Self::R32_SINT => {} 3241 Self::R32_SFLOAT => {} 3242 Self::R32G32_UINT => {} 3243 Self::R32G32_SINT => {} 3244 Self::R32G32_SFLOAT => {} 3245 Self::R32G32B32_UINT => {} 3246 Self::R32G32B32_SINT => {} 3247 Self::R32G32B32_SFLOAT => {} 3248 Self::R32G32B32A32_UINT => {} 3249 Self::R32G32B32A32_SINT => {} 3250 Self::R32G32B32A32_SFLOAT => {} 3251 Self::R64_UINT => {} 3252 Self::R64_SINT => {} 3253 Self::R64_SFLOAT => {} 3254 Self::R64G64_UINT => {} 3255 Self::R64G64_SINT => {} 3256 Self::R64G64_SFLOAT => {} 3257 Self::R64G64B64_UINT => {} 3258 Self::R64G64B64_SINT => {} 3259 Self::R64G64B64_SFLOAT => {} 3260 Self::R64G64B64A64_UINT => {} 3261 Self::R64G64B64A64_SINT => {} 3262 Self::R64G64B64A64_SFLOAT => {} 3263 Self::B10G11R11_UFLOAT_PACK32 => {} 3264 Self::E5B9G9R9_UFLOAT_PACK32 => {} 3265 Self::D16_UNORM => {} 3266 Self::X8_D24_UNORM_PACK32 => {} 3267 Self::D32_SFLOAT => {} 3268 Self::S8_UINT => {} 3269 Self::D16_UNORM_S8_UINT => {} 3270 Self::D24_UNORM_S8_UINT => {} 3271 Self::D32_SFLOAT_S8_UINT => {} 3272 Self::BC1_RGB_UNORM_BLOCK => {} 3273 Self::BC1_RGB_SRGB_BLOCK => {} 3274 Self::BC1_RGBA_UNORM_BLOCK => {} 3275 Self::BC1_RGBA_SRGB_BLOCK => {} 3276 Self::BC2_UNORM_BLOCK => {} 3277 Self::BC2_SRGB_BLOCK => {} 3278 Self::BC3_UNORM_BLOCK => {} 3279 Self::BC3_SRGB_BLOCK => {} 3280 Self::BC4_UNORM_BLOCK => {} 3281 Self::BC4_SNORM_BLOCK => {} 3282 Self::BC5_UNORM_BLOCK => {} 3283 Self::BC5_SNORM_BLOCK => {} 3284 Self::BC6H_UFLOAT_BLOCK => {} 3285 Self::BC6H_SFLOAT_BLOCK => {} 3286 Self::BC7_UNORM_BLOCK => {} 3287 Self::BC7_SRGB_BLOCK => {} 3288 Self::ETC2_R8G8B8_UNORM_BLOCK => {} 3289 Self::ETC2_R8G8B8_SRGB_BLOCK => {} 3290 Self::ETC2_R8G8B8A1_UNORM_BLOCK => {} 3291 Self::ETC2_R8G8B8A1_SRGB_BLOCK => {} 3292 Self::ETC2_R8G8B8A8_UNORM_BLOCK => {} 3293 Self::ETC2_R8G8B8A8_SRGB_BLOCK => {} 3294 Self::EAC_R11_UNORM_BLOCK => {} 3295 Self::EAC_R11_SNORM_BLOCK => {} 3296 Self::EAC_R11G11_UNORM_BLOCK => {} 3297 Self::EAC_R11G11_SNORM_BLOCK => {} 3298 Self::ASTC_4x4_UNORM_BLOCK => {} 3299 Self::ASTC_4x4_SRGB_BLOCK => {} 3300 Self::ASTC_5x4_UNORM_BLOCK => {} 3301 Self::ASTC_5x4_SRGB_BLOCK => {} 3302 Self::ASTC_5x5_UNORM_BLOCK => {} 3303 Self::ASTC_5x5_SRGB_BLOCK => {} 3304 Self::ASTC_6x5_UNORM_BLOCK => {} 3305 Self::ASTC_6x5_SRGB_BLOCK => {} 3306 Self::ASTC_6x6_UNORM_BLOCK => {} 3307 Self::ASTC_6x6_SRGB_BLOCK => {} 3308 Self::ASTC_8x5_UNORM_BLOCK => {} 3309 Self::ASTC_8x5_SRGB_BLOCK => {} 3310 Self::ASTC_8x6_UNORM_BLOCK => {} 3311 Self::ASTC_8x6_SRGB_BLOCK => {} 3312 Self::ASTC_8x8_UNORM_BLOCK => {} 3313 Self::ASTC_8x8_SRGB_BLOCK => {} 3314 Self::ASTC_10x5_UNORM_BLOCK => {} 3315 Self::ASTC_10x5_SRGB_BLOCK => {} 3316 Self::ASTC_10x6_UNORM_BLOCK => {} 3317 Self::ASTC_10x6_SRGB_BLOCK => {} 3318 Self::ASTC_10x8_UNORM_BLOCK => {} 3319 Self::ASTC_10x8_SRGB_BLOCK => {} 3320 Self::ASTC_10x10_UNORM_BLOCK => {} 3321 Self::ASTC_10x10_SRGB_BLOCK => {} 3322 Self::ASTC_12x10_UNORM_BLOCK => {} 3323 Self::ASTC_12x10_SRGB_BLOCK => {} 3324 Self::ASTC_12x12_UNORM_BLOCK => {} 3325 Self::ASTC_12x12_SRGB_BLOCK => {} 3326 Self::G8B8G8R8_422_UNORM => { 3327 if !(physical_device.api_version() >= crate::Version::V1_1 3328 || physical_device 3329 .supported_extensions() 3330 .khr_sampler_ycbcr_conversion) 3331 { 3332 return Err(crate::RequirementNotMet { 3333 required_for: "`Format::G8B8G8R8_422_UNORM`", 3334 requires_one_of: crate::RequiresOneOf { 3335 api_version: Some(crate::Version::V1_1), 3336 device_extensions: &["khr_sampler_ycbcr_conversion"], 3337 ..Default::default() 3338 }, 3339 }); 3340 } 3341 } 3342 Self::B8G8R8G8_422_UNORM => { 3343 if !(physical_device.api_version() >= crate::Version::V1_1 3344 || physical_device 3345 .supported_extensions() 3346 .khr_sampler_ycbcr_conversion) 3347 { 3348 return Err(crate::RequirementNotMet { 3349 required_for: "`Format::B8G8R8G8_422_UNORM`", 3350 requires_one_of: crate::RequiresOneOf { 3351 api_version: Some(crate::Version::V1_1), 3352 device_extensions: &["khr_sampler_ycbcr_conversion"], 3353 ..Default::default() 3354 }, 3355 }); 3356 } 3357 } 3358 Self::G8_B8_R8_3PLANE_420_UNORM => { 3359 if !(physical_device.api_version() >= crate::Version::V1_1 3360 || physical_device 3361 .supported_extensions() 3362 .khr_sampler_ycbcr_conversion) 3363 { 3364 return Err(crate::RequirementNotMet { 3365 required_for: "`Format::G8_B8_R8_3PLANE_420_UNORM`", 3366 requires_one_of: crate::RequiresOneOf { 3367 api_version: Some(crate::Version::V1_1), 3368 device_extensions: &["khr_sampler_ycbcr_conversion"], 3369 ..Default::default() 3370 }, 3371 }); 3372 } 3373 } 3374 Self::G8_B8R8_2PLANE_420_UNORM => { 3375 if !(physical_device.api_version() >= crate::Version::V1_1 3376 || physical_device 3377 .supported_extensions() 3378 .khr_sampler_ycbcr_conversion) 3379 { 3380 return Err(crate::RequirementNotMet { 3381 required_for: "`Format::G8_B8R8_2PLANE_420_UNORM`", 3382 requires_one_of: crate::RequiresOneOf { 3383 api_version: Some(crate::Version::V1_1), 3384 device_extensions: &["khr_sampler_ycbcr_conversion"], 3385 ..Default::default() 3386 }, 3387 }); 3388 } 3389 } 3390 Self::G8_B8_R8_3PLANE_422_UNORM => { 3391 if !(physical_device.api_version() >= crate::Version::V1_1 3392 || physical_device 3393 .supported_extensions() 3394 .khr_sampler_ycbcr_conversion) 3395 { 3396 return Err(crate::RequirementNotMet { 3397 required_for: "`Format::G8_B8_R8_3PLANE_422_UNORM`", 3398 requires_one_of: crate::RequiresOneOf { 3399 api_version: Some(crate::Version::V1_1), 3400 device_extensions: &["khr_sampler_ycbcr_conversion"], 3401 ..Default::default() 3402 }, 3403 }); 3404 } 3405 } 3406 Self::G8_B8R8_2PLANE_422_UNORM => { 3407 if !(physical_device.api_version() >= crate::Version::V1_1 3408 || physical_device 3409 .supported_extensions() 3410 .khr_sampler_ycbcr_conversion) 3411 { 3412 return Err(crate::RequirementNotMet { 3413 required_for: "`Format::G8_B8R8_2PLANE_422_UNORM`", 3414 requires_one_of: crate::RequiresOneOf { 3415 api_version: Some(crate::Version::V1_1), 3416 device_extensions: &["khr_sampler_ycbcr_conversion"], 3417 ..Default::default() 3418 }, 3419 }); 3420 } 3421 } 3422 Self::G8_B8_R8_3PLANE_444_UNORM => { 3423 if !(physical_device.api_version() >= crate::Version::V1_1 3424 || physical_device 3425 .supported_extensions() 3426 .khr_sampler_ycbcr_conversion) 3427 { 3428 return Err(crate::RequirementNotMet { 3429 required_for: "`Format::G8_B8_R8_3PLANE_444_UNORM`", 3430 requires_one_of: crate::RequiresOneOf { 3431 api_version: Some(crate::Version::V1_1), 3432 device_extensions: &["khr_sampler_ycbcr_conversion"], 3433 ..Default::default() 3434 }, 3435 }); 3436 } 3437 } 3438 Self::R10X6_UNORM_PACK16 => { 3439 if !(physical_device.api_version() >= crate::Version::V1_1 3440 || physical_device 3441 .supported_extensions() 3442 .khr_sampler_ycbcr_conversion) 3443 { 3444 return Err(crate::RequirementNotMet { 3445 required_for: "`Format::R10X6_UNORM_PACK16`", 3446 requires_one_of: crate::RequiresOneOf { 3447 api_version: Some(crate::Version::V1_1), 3448 device_extensions: &["khr_sampler_ycbcr_conversion"], 3449 ..Default::default() 3450 }, 3451 }); 3452 } 3453 } 3454 Self::R10X6G10X6_UNORM_2PACK16 => { 3455 if !(physical_device.api_version() >= crate::Version::V1_1 3456 || physical_device 3457 .supported_extensions() 3458 .khr_sampler_ycbcr_conversion) 3459 { 3460 return Err(crate::RequirementNotMet { 3461 required_for: "`Format::R10X6G10X6_UNORM_2PACK16`", 3462 requires_one_of: crate::RequiresOneOf { 3463 api_version: Some(crate::Version::V1_1), 3464 device_extensions: &["khr_sampler_ycbcr_conversion"], 3465 ..Default::default() 3466 }, 3467 }); 3468 } 3469 } 3470 Self::R10X6G10X6B10X6A10X6_UNORM_4PACK16 => { 3471 if !(physical_device.api_version() >= crate::Version::V1_1 3472 || physical_device 3473 .supported_extensions() 3474 .khr_sampler_ycbcr_conversion) 3475 { 3476 return Err(crate::RequirementNotMet { 3477 required_for: "`Format::R10X6G10X6B10X6A10X6_UNORM_4PACK16`", 3478 requires_one_of: crate::RequiresOneOf { 3479 api_version: Some(crate::Version::V1_1), 3480 device_extensions: &["khr_sampler_ycbcr_conversion"], 3481 ..Default::default() 3482 }, 3483 }); 3484 } 3485 } 3486 Self::G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 => { 3487 if !(physical_device.api_version() >= crate::Version::V1_1 3488 || physical_device 3489 .supported_extensions() 3490 .khr_sampler_ycbcr_conversion) 3491 { 3492 return Err(crate::RequirementNotMet { 3493 required_for: "`Format::G10X6B10X6G10X6R10X6_422_UNORM_4PACK16`", 3494 requires_one_of: crate::RequiresOneOf { 3495 api_version: Some(crate::Version::V1_1), 3496 device_extensions: &["khr_sampler_ycbcr_conversion"], 3497 ..Default::default() 3498 }, 3499 }); 3500 } 3501 } 3502 Self::B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 => { 3503 if !(physical_device.api_version() >= crate::Version::V1_1 3504 || physical_device 3505 .supported_extensions() 3506 .khr_sampler_ycbcr_conversion) 3507 { 3508 return Err(crate::RequirementNotMet { 3509 required_for: "`Format::B10X6G10X6R10X6G10X6_422_UNORM_4PACK16`", 3510 requires_one_of: crate::RequiresOneOf { 3511 api_version: Some(crate::Version::V1_1), 3512 device_extensions: &["khr_sampler_ycbcr_conversion"], 3513 ..Default::default() 3514 }, 3515 }); 3516 } 3517 } 3518 Self::G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 => { 3519 if !(physical_device.api_version() >= crate::Version::V1_1 3520 || physical_device 3521 .supported_extensions() 3522 .khr_sampler_ycbcr_conversion) 3523 { 3524 return Err(crate::RequirementNotMet { 3525 required_for: "`Format::G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16`", 3526 requires_one_of: crate::RequiresOneOf { 3527 api_version: Some(crate::Version::V1_1), 3528 device_extensions: &["khr_sampler_ycbcr_conversion"], 3529 ..Default::default() 3530 }, 3531 }); 3532 } 3533 } 3534 Self::G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 => { 3535 if !(physical_device.api_version() >= crate::Version::V1_1 3536 || physical_device 3537 .supported_extensions() 3538 .khr_sampler_ycbcr_conversion) 3539 { 3540 return Err(crate::RequirementNotMet { 3541 required_for: "`Format::G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16`", 3542 requires_one_of: crate::RequiresOneOf { 3543 api_version: Some(crate::Version::V1_1), 3544 device_extensions: &["khr_sampler_ycbcr_conversion"], 3545 ..Default::default() 3546 }, 3547 }); 3548 } 3549 } 3550 Self::G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 => { 3551 if !(physical_device.api_version() >= crate::Version::V1_1 3552 || physical_device 3553 .supported_extensions() 3554 .khr_sampler_ycbcr_conversion) 3555 { 3556 return Err(crate::RequirementNotMet { 3557 required_for: "`Format::G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16`", 3558 requires_one_of: crate::RequiresOneOf { 3559 api_version: Some(crate::Version::V1_1), 3560 device_extensions: &["khr_sampler_ycbcr_conversion"], 3561 ..Default::default() 3562 }, 3563 }); 3564 } 3565 } 3566 Self::G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 => { 3567 if !(physical_device.api_version() >= crate::Version::V1_1 3568 || physical_device 3569 .supported_extensions() 3570 .khr_sampler_ycbcr_conversion) 3571 { 3572 return Err(crate::RequirementNotMet { 3573 required_for: "`Format::G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16`", 3574 requires_one_of: crate::RequiresOneOf { 3575 api_version: Some(crate::Version::V1_1), 3576 device_extensions: &["khr_sampler_ycbcr_conversion"], 3577 ..Default::default() 3578 }, 3579 }); 3580 } 3581 } 3582 Self::G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 => { 3583 if !(physical_device.api_version() >= crate::Version::V1_1 3584 || physical_device 3585 .supported_extensions() 3586 .khr_sampler_ycbcr_conversion) 3587 { 3588 return Err(crate::RequirementNotMet { 3589 required_for: "`Format::G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16`", 3590 requires_one_of: crate::RequiresOneOf { 3591 api_version: Some(crate::Version::V1_1), 3592 device_extensions: &["khr_sampler_ycbcr_conversion"], 3593 ..Default::default() 3594 }, 3595 }); 3596 } 3597 } 3598 Self::R12X4_UNORM_PACK16 => { 3599 if !(physical_device.api_version() >= crate::Version::V1_1 3600 || physical_device 3601 .supported_extensions() 3602 .khr_sampler_ycbcr_conversion) 3603 { 3604 return Err(crate::RequirementNotMet { 3605 required_for: "`Format::R12X4_UNORM_PACK16`", 3606 requires_one_of: crate::RequiresOneOf { 3607 api_version: Some(crate::Version::V1_1), 3608 device_extensions: &["khr_sampler_ycbcr_conversion"], 3609 ..Default::default() 3610 }, 3611 }); 3612 } 3613 } 3614 Self::R12X4G12X4_UNORM_2PACK16 => { 3615 if !(physical_device.api_version() >= crate::Version::V1_1 3616 || physical_device 3617 .supported_extensions() 3618 .khr_sampler_ycbcr_conversion) 3619 { 3620 return Err(crate::RequirementNotMet { 3621 required_for: "`Format::R12X4G12X4_UNORM_2PACK16`", 3622 requires_one_of: crate::RequiresOneOf { 3623 api_version: Some(crate::Version::V1_1), 3624 device_extensions: &["khr_sampler_ycbcr_conversion"], 3625 ..Default::default() 3626 }, 3627 }); 3628 } 3629 } 3630 Self::R12X4G12X4B12X4A12X4_UNORM_4PACK16 => { 3631 if !(physical_device.api_version() >= crate::Version::V1_1 3632 || physical_device 3633 .supported_extensions() 3634 .khr_sampler_ycbcr_conversion) 3635 { 3636 return Err(crate::RequirementNotMet { 3637 required_for: "`Format::R12X4G12X4B12X4A12X4_UNORM_4PACK16`", 3638 requires_one_of: crate::RequiresOneOf { 3639 api_version: Some(crate::Version::V1_1), 3640 device_extensions: &["khr_sampler_ycbcr_conversion"], 3641 ..Default::default() 3642 }, 3643 }); 3644 } 3645 } 3646 Self::G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 => { 3647 if !(physical_device.api_version() >= crate::Version::V1_1 3648 || physical_device 3649 .supported_extensions() 3650 .khr_sampler_ycbcr_conversion) 3651 { 3652 return Err(crate::RequirementNotMet { 3653 required_for: "`Format::G12X4B12X4G12X4R12X4_422_UNORM_4PACK16`", 3654 requires_one_of: crate::RequiresOneOf { 3655 api_version: Some(crate::Version::V1_1), 3656 device_extensions: &["khr_sampler_ycbcr_conversion"], 3657 ..Default::default() 3658 }, 3659 }); 3660 } 3661 } 3662 Self::B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 => { 3663 if !(physical_device.api_version() >= crate::Version::V1_1 3664 || physical_device 3665 .supported_extensions() 3666 .khr_sampler_ycbcr_conversion) 3667 { 3668 return Err(crate::RequirementNotMet { 3669 required_for: "`Format::B12X4G12X4R12X4G12X4_422_UNORM_4PACK16`", 3670 requires_one_of: crate::RequiresOneOf { 3671 api_version: Some(crate::Version::V1_1), 3672 device_extensions: &["khr_sampler_ycbcr_conversion"], 3673 ..Default::default() 3674 }, 3675 }); 3676 } 3677 } 3678 Self::G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 => { 3679 if !(physical_device.api_version() >= crate::Version::V1_1 3680 || physical_device 3681 .supported_extensions() 3682 .khr_sampler_ycbcr_conversion) 3683 { 3684 return Err(crate::RequirementNotMet { 3685 required_for: "`Format::G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16`", 3686 requires_one_of: crate::RequiresOneOf { 3687 api_version: Some(crate::Version::V1_1), 3688 device_extensions: &["khr_sampler_ycbcr_conversion"], 3689 ..Default::default() 3690 }, 3691 }); 3692 } 3693 } 3694 Self::G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 => { 3695 if !(physical_device.api_version() >= crate::Version::V1_1 3696 || physical_device 3697 .supported_extensions() 3698 .khr_sampler_ycbcr_conversion) 3699 { 3700 return Err(crate::RequirementNotMet { 3701 required_for: "`Format::G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16`", 3702 requires_one_of: crate::RequiresOneOf { 3703 api_version: Some(crate::Version::V1_1), 3704 device_extensions: &["khr_sampler_ycbcr_conversion"], 3705 ..Default::default() 3706 }, 3707 }); 3708 } 3709 } 3710 Self::G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 => { 3711 if !(physical_device.api_version() >= crate::Version::V1_1 3712 || physical_device 3713 .supported_extensions() 3714 .khr_sampler_ycbcr_conversion) 3715 { 3716 return Err(crate::RequirementNotMet { 3717 required_for: "`Format::G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16`", 3718 requires_one_of: crate::RequiresOneOf { 3719 api_version: Some(crate::Version::V1_1), 3720 device_extensions: &["khr_sampler_ycbcr_conversion"], 3721 ..Default::default() 3722 }, 3723 }); 3724 } 3725 } 3726 Self::G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 => { 3727 if !(physical_device.api_version() >= crate::Version::V1_1 3728 || physical_device 3729 .supported_extensions() 3730 .khr_sampler_ycbcr_conversion) 3731 { 3732 return Err(crate::RequirementNotMet { 3733 required_for: "`Format::G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16`", 3734 requires_one_of: crate::RequiresOneOf { 3735 api_version: Some(crate::Version::V1_1), 3736 device_extensions: &["khr_sampler_ycbcr_conversion"], 3737 ..Default::default() 3738 }, 3739 }); 3740 } 3741 } 3742 Self::G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 => { 3743 if !(physical_device.api_version() >= crate::Version::V1_1 3744 || physical_device 3745 .supported_extensions() 3746 .khr_sampler_ycbcr_conversion) 3747 { 3748 return Err(crate::RequirementNotMet { 3749 required_for: "`Format::G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16`", 3750 requires_one_of: crate::RequiresOneOf { 3751 api_version: Some(crate::Version::V1_1), 3752 device_extensions: &["khr_sampler_ycbcr_conversion"], 3753 ..Default::default() 3754 }, 3755 }); 3756 } 3757 } 3758 Self::G16B16G16R16_422_UNORM => { 3759 if !(physical_device.api_version() >= crate::Version::V1_1 3760 || physical_device 3761 .supported_extensions() 3762 .khr_sampler_ycbcr_conversion) 3763 { 3764 return Err(crate::RequirementNotMet { 3765 required_for: "`Format::G16B16G16R16_422_UNORM`", 3766 requires_one_of: crate::RequiresOneOf { 3767 api_version: Some(crate::Version::V1_1), 3768 device_extensions: &["khr_sampler_ycbcr_conversion"], 3769 ..Default::default() 3770 }, 3771 }); 3772 } 3773 } 3774 Self::B16G16R16G16_422_UNORM => { 3775 if !(physical_device.api_version() >= crate::Version::V1_1 3776 || physical_device 3777 .supported_extensions() 3778 .khr_sampler_ycbcr_conversion) 3779 { 3780 return Err(crate::RequirementNotMet { 3781 required_for: "`Format::B16G16R16G16_422_UNORM`", 3782 requires_one_of: crate::RequiresOneOf { 3783 api_version: Some(crate::Version::V1_1), 3784 device_extensions: &["khr_sampler_ycbcr_conversion"], 3785 ..Default::default() 3786 }, 3787 }); 3788 } 3789 } 3790 Self::G16_B16_R16_3PLANE_420_UNORM => { 3791 if !(physical_device.api_version() >= crate::Version::V1_1 3792 || physical_device 3793 .supported_extensions() 3794 .khr_sampler_ycbcr_conversion) 3795 { 3796 return Err(crate::RequirementNotMet { 3797 required_for: "`Format::G16_B16_R16_3PLANE_420_UNORM`", 3798 requires_one_of: crate::RequiresOneOf { 3799 api_version: Some(crate::Version::V1_1), 3800 device_extensions: &["khr_sampler_ycbcr_conversion"], 3801 ..Default::default() 3802 }, 3803 }); 3804 } 3805 } 3806 Self::G16_B16R16_2PLANE_420_UNORM => { 3807 if !(physical_device.api_version() >= crate::Version::V1_1 3808 || physical_device 3809 .supported_extensions() 3810 .khr_sampler_ycbcr_conversion) 3811 { 3812 return Err(crate::RequirementNotMet { 3813 required_for: "`Format::G16_B16R16_2PLANE_420_UNORM`", 3814 requires_one_of: crate::RequiresOneOf { 3815 api_version: Some(crate::Version::V1_1), 3816 device_extensions: &["khr_sampler_ycbcr_conversion"], 3817 ..Default::default() 3818 }, 3819 }); 3820 } 3821 } 3822 Self::G16_B16_R16_3PLANE_422_UNORM => { 3823 if !(physical_device.api_version() >= crate::Version::V1_1 3824 || physical_device 3825 .supported_extensions() 3826 .khr_sampler_ycbcr_conversion) 3827 { 3828 return Err(crate::RequirementNotMet { 3829 required_for: "`Format::G16_B16_R16_3PLANE_422_UNORM`", 3830 requires_one_of: crate::RequiresOneOf { 3831 api_version: Some(crate::Version::V1_1), 3832 device_extensions: &["khr_sampler_ycbcr_conversion"], 3833 ..Default::default() 3834 }, 3835 }); 3836 } 3837 } 3838 Self::G16_B16R16_2PLANE_422_UNORM => { 3839 if !(physical_device.api_version() >= crate::Version::V1_1 3840 || physical_device 3841 .supported_extensions() 3842 .khr_sampler_ycbcr_conversion) 3843 { 3844 return Err(crate::RequirementNotMet { 3845 required_for: "`Format::G16_B16R16_2PLANE_422_UNORM`", 3846 requires_one_of: crate::RequiresOneOf { 3847 api_version: Some(crate::Version::V1_1), 3848 device_extensions: &["khr_sampler_ycbcr_conversion"], 3849 ..Default::default() 3850 }, 3851 }); 3852 } 3853 } 3854 Self::G16_B16_R16_3PLANE_444_UNORM => { 3855 if !(physical_device.api_version() >= crate::Version::V1_1 3856 || physical_device 3857 .supported_extensions() 3858 .khr_sampler_ycbcr_conversion) 3859 { 3860 return Err(crate::RequirementNotMet { 3861 required_for: "`Format::G16_B16_R16_3PLANE_444_UNORM`", 3862 requires_one_of: crate::RequiresOneOf { 3863 api_version: Some(crate::Version::V1_1), 3864 device_extensions: &["khr_sampler_ycbcr_conversion"], 3865 ..Default::default() 3866 }, 3867 }); 3868 } 3869 } 3870 Self::PVRTC1_2BPP_UNORM_BLOCK => { 3871 if !(physical_device.supported_extensions().img_format_pvrtc) { 3872 return Err(crate::RequirementNotMet { 3873 required_for: "`Format::PVRTC1_2BPP_UNORM_BLOCK`", 3874 requires_one_of: crate::RequiresOneOf { 3875 device_extensions: &["img_format_pvrtc"], 3876 ..Default::default() 3877 }, 3878 }); 3879 } 3880 } 3881 Self::PVRTC1_4BPP_UNORM_BLOCK => { 3882 if !(physical_device.supported_extensions().img_format_pvrtc) { 3883 return Err(crate::RequirementNotMet { 3884 required_for: "`Format::PVRTC1_4BPP_UNORM_BLOCK`", 3885 requires_one_of: crate::RequiresOneOf { 3886 device_extensions: &["img_format_pvrtc"], 3887 ..Default::default() 3888 }, 3889 }); 3890 } 3891 } 3892 Self::PVRTC2_2BPP_UNORM_BLOCK => { 3893 if !(physical_device.supported_extensions().img_format_pvrtc) { 3894 return Err(crate::RequirementNotMet { 3895 required_for: "`Format::PVRTC2_2BPP_UNORM_BLOCK`", 3896 requires_one_of: crate::RequiresOneOf { 3897 device_extensions: &["img_format_pvrtc"], 3898 ..Default::default() 3899 }, 3900 }); 3901 } 3902 } 3903 Self::PVRTC2_4BPP_UNORM_BLOCK => { 3904 if !(physical_device.supported_extensions().img_format_pvrtc) { 3905 return Err(crate::RequirementNotMet { 3906 required_for: "`Format::PVRTC2_4BPP_UNORM_BLOCK`", 3907 requires_one_of: crate::RequiresOneOf { 3908 device_extensions: &["img_format_pvrtc"], 3909 ..Default::default() 3910 }, 3911 }); 3912 } 3913 } 3914 Self::PVRTC1_2BPP_SRGB_BLOCK => { 3915 if !(physical_device.supported_extensions().img_format_pvrtc) { 3916 return Err(crate::RequirementNotMet { 3917 required_for: "`Format::PVRTC1_2BPP_SRGB_BLOCK`", 3918 requires_one_of: crate::RequiresOneOf { 3919 device_extensions: &["img_format_pvrtc"], 3920 ..Default::default() 3921 }, 3922 }); 3923 } 3924 } 3925 Self::PVRTC1_4BPP_SRGB_BLOCK => { 3926 if !(physical_device.supported_extensions().img_format_pvrtc) { 3927 return Err(crate::RequirementNotMet { 3928 required_for: "`Format::PVRTC1_4BPP_SRGB_BLOCK`", 3929 requires_one_of: crate::RequiresOneOf { 3930 device_extensions: &["img_format_pvrtc"], 3931 ..Default::default() 3932 }, 3933 }); 3934 } 3935 } 3936 Self::PVRTC2_2BPP_SRGB_BLOCK => { 3937 if !(physical_device.supported_extensions().img_format_pvrtc) { 3938 return Err(crate::RequirementNotMet { 3939 required_for: "`Format::PVRTC2_2BPP_SRGB_BLOCK`", 3940 requires_one_of: crate::RequiresOneOf { 3941 device_extensions: &["img_format_pvrtc"], 3942 ..Default::default() 3943 }, 3944 }); 3945 } 3946 } 3947 Self::PVRTC2_4BPP_SRGB_BLOCK => { 3948 if !(physical_device.supported_extensions().img_format_pvrtc) { 3949 return Err(crate::RequirementNotMet { 3950 required_for: "`Format::PVRTC2_4BPP_SRGB_BLOCK`", 3951 requires_one_of: crate::RequiresOneOf { 3952 device_extensions: &["img_format_pvrtc"], 3953 ..Default::default() 3954 }, 3955 }); 3956 } 3957 } 3958 Self::ASTC_4x4_SFLOAT_BLOCK => { 3959 if !(physical_device.api_version() >= crate::Version::V1_3 3960 || physical_device 3961 .supported_extensions() 3962 .ext_texture_compression_astc_hdr) 3963 { 3964 return Err(crate::RequirementNotMet { 3965 required_for: "`Format::ASTC_4x4_SFLOAT_BLOCK`", 3966 requires_one_of: crate::RequiresOneOf { 3967 api_version: Some(crate::Version::V1_3), 3968 device_extensions: &["ext_texture_compression_astc_hdr"], 3969 ..Default::default() 3970 }, 3971 }); 3972 } 3973 } 3974 Self::ASTC_5x4_SFLOAT_BLOCK => { 3975 if !(physical_device.api_version() >= crate::Version::V1_3 3976 || physical_device 3977 .supported_extensions() 3978 .ext_texture_compression_astc_hdr) 3979 { 3980 return Err(crate::RequirementNotMet { 3981 required_for: "`Format::ASTC_5x4_SFLOAT_BLOCK`", 3982 requires_one_of: crate::RequiresOneOf { 3983 api_version: Some(crate::Version::V1_3), 3984 device_extensions: &["ext_texture_compression_astc_hdr"], 3985 ..Default::default() 3986 }, 3987 }); 3988 } 3989 } 3990 Self::ASTC_5x5_SFLOAT_BLOCK => { 3991 if !(physical_device.api_version() >= crate::Version::V1_3 3992 || physical_device 3993 .supported_extensions() 3994 .ext_texture_compression_astc_hdr) 3995 { 3996 return Err(crate::RequirementNotMet { 3997 required_for: "`Format::ASTC_5x5_SFLOAT_BLOCK`", 3998 requires_one_of: crate::RequiresOneOf { 3999 api_version: Some(crate::Version::V1_3), 4000 device_extensions: &["ext_texture_compression_astc_hdr"], 4001 ..Default::default() 4002 }, 4003 }); 4004 } 4005 } 4006 Self::ASTC_6x5_SFLOAT_BLOCK => { 4007 if !(physical_device.api_version() >= crate::Version::V1_3 4008 || physical_device 4009 .supported_extensions() 4010 .ext_texture_compression_astc_hdr) 4011 { 4012 return Err(crate::RequirementNotMet { 4013 required_for: "`Format::ASTC_6x5_SFLOAT_BLOCK`", 4014 requires_one_of: crate::RequiresOneOf { 4015 api_version: Some(crate::Version::V1_3), 4016 device_extensions: &["ext_texture_compression_astc_hdr"], 4017 ..Default::default() 4018 }, 4019 }); 4020 } 4021 } 4022 Self::ASTC_6x6_SFLOAT_BLOCK => { 4023 if !(physical_device.api_version() >= crate::Version::V1_3 4024 || physical_device 4025 .supported_extensions() 4026 .ext_texture_compression_astc_hdr) 4027 { 4028 return Err(crate::RequirementNotMet { 4029 required_for: "`Format::ASTC_6x6_SFLOAT_BLOCK`", 4030 requires_one_of: crate::RequiresOneOf { 4031 api_version: Some(crate::Version::V1_3), 4032 device_extensions: &["ext_texture_compression_astc_hdr"], 4033 ..Default::default() 4034 }, 4035 }); 4036 } 4037 } 4038 Self::ASTC_8x5_SFLOAT_BLOCK => { 4039 if !(physical_device.api_version() >= crate::Version::V1_3 4040 || physical_device 4041 .supported_extensions() 4042 .ext_texture_compression_astc_hdr) 4043 { 4044 return Err(crate::RequirementNotMet { 4045 required_for: "`Format::ASTC_8x5_SFLOAT_BLOCK`", 4046 requires_one_of: crate::RequiresOneOf { 4047 api_version: Some(crate::Version::V1_3), 4048 device_extensions: &["ext_texture_compression_astc_hdr"], 4049 ..Default::default() 4050 }, 4051 }); 4052 } 4053 } 4054 Self::ASTC_8x6_SFLOAT_BLOCK => { 4055 if !(physical_device.api_version() >= crate::Version::V1_3 4056 || physical_device 4057 .supported_extensions() 4058 .ext_texture_compression_astc_hdr) 4059 { 4060 return Err(crate::RequirementNotMet { 4061 required_for: "`Format::ASTC_8x6_SFLOAT_BLOCK`", 4062 requires_one_of: crate::RequiresOneOf { 4063 api_version: Some(crate::Version::V1_3), 4064 device_extensions: &["ext_texture_compression_astc_hdr"], 4065 ..Default::default() 4066 }, 4067 }); 4068 } 4069 } 4070 Self::ASTC_8x8_SFLOAT_BLOCK => { 4071 if !(physical_device.api_version() >= crate::Version::V1_3 4072 || physical_device 4073 .supported_extensions() 4074 .ext_texture_compression_astc_hdr) 4075 { 4076 return Err(crate::RequirementNotMet { 4077 required_for: "`Format::ASTC_8x8_SFLOAT_BLOCK`", 4078 requires_one_of: crate::RequiresOneOf { 4079 api_version: Some(crate::Version::V1_3), 4080 device_extensions: &["ext_texture_compression_astc_hdr"], 4081 ..Default::default() 4082 }, 4083 }); 4084 } 4085 } 4086 Self::ASTC_10x5_SFLOAT_BLOCK => { 4087 if !(physical_device.api_version() >= crate::Version::V1_3 4088 || physical_device 4089 .supported_extensions() 4090 .ext_texture_compression_astc_hdr) 4091 { 4092 return Err(crate::RequirementNotMet { 4093 required_for: "`Format::ASTC_10x5_SFLOAT_BLOCK`", 4094 requires_one_of: crate::RequiresOneOf { 4095 api_version: Some(crate::Version::V1_3), 4096 device_extensions: &["ext_texture_compression_astc_hdr"], 4097 ..Default::default() 4098 }, 4099 }); 4100 } 4101 } 4102 Self::ASTC_10x6_SFLOAT_BLOCK => { 4103 if !(physical_device.api_version() >= crate::Version::V1_3 4104 || physical_device 4105 .supported_extensions() 4106 .ext_texture_compression_astc_hdr) 4107 { 4108 return Err(crate::RequirementNotMet { 4109 required_for: "`Format::ASTC_10x6_SFLOAT_BLOCK`", 4110 requires_one_of: crate::RequiresOneOf { 4111 api_version: Some(crate::Version::V1_3), 4112 device_extensions: &["ext_texture_compression_astc_hdr"], 4113 ..Default::default() 4114 }, 4115 }); 4116 } 4117 } 4118 Self::ASTC_10x8_SFLOAT_BLOCK => { 4119 if !(physical_device.api_version() >= crate::Version::V1_3 4120 || physical_device 4121 .supported_extensions() 4122 .ext_texture_compression_astc_hdr) 4123 { 4124 return Err(crate::RequirementNotMet { 4125 required_for: "`Format::ASTC_10x8_SFLOAT_BLOCK`", 4126 requires_one_of: crate::RequiresOneOf { 4127 api_version: Some(crate::Version::V1_3), 4128 device_extensions: &["ext_texture_compression_astc_hdr"], 4129 ..Default::default() 4130 }, 4131 }); 4132 } 4133 } 4134 Self::ASTC_10x10_SFLOAT_BLOCK => { 4135 if !(physical_device.api_version() >= crate::Version::V1_3 4136 || physical_device 4137 .supported_extensions() 4138 .ext_texture_compression_astc_hdr) 4139 { 4140 return Err(crate::RequirementNotMet { 4141 required_for: "`Format::ASTC_10x10_SFLOAT_BLOCK`", 4142 requires_one_of: crate::RequiresOneOf { 4143 api_version: Some(crate::Version::V1_3), 4144 device_extensions: &["ext_texture_compression_astc_hdr"], 4145 ..Default::default() 4146 }, 4147 }); 4148 } 4149 } 4150 Self::ASTC_12x10_SFLOAT_BLOCK => { 4151 if !(physical_device.api_version() >= crate::Version::V1_3 4152 || physical_device 4153 .supported_extensions() 4154 .ext_texture_compression_astc_hdr) 4155 { 4156 return Err(crate::RequirementNotMet { 4157 required_for: "`Format::ASTC_12x10_SFLOAT_BLOCK`", 4158 requires_one_of: crate::RequiresOneOf { 4159 api_version: Some(crate::Version::V1_3), 4160 device_extensions: &["ext_texture_compression_astc_hdr"], 4161 ..Default::default() 4162 }, 4163 }); 4164 } 4165 } 4166 Self::ASTC_12x12_SFLOAT_BLOCK => { 4167 if !(physical_device.api_version() >= crate::Version::V1_3 4168 || physical_device 4169 .supported_extensions() 4170 .ext_texture_compression_astc_hdr) 4171 { 4172 return Err(crate::RequirementNotMet { 4173 required_for: "`Format::ASTC_12x12_SFLOAT_BLOCK`", 4174 requires_one_of: crate::RequiresOneOf { 4175 api_version: Some(crate::Version::V1_3), 4176 device_extensions: &["ext_texture_compression_astc_hdr"], 4177 ..Default::default() 4178 }, 4179 }); 4180 } 4181 } 4182 Self::G8_B8R8_2PLANE_444_UNORM => { 4183 if !(physical_device.api_version() >= crate::Version::V1_3 4184 || physical_device 4185 .supported_extensions() 4186 .ext_ycbcr_2plane_444_formats) 4187 { 4188 return Err(crate::RequirementNotMet { 4189 required_for: "`Format::G8_B8R8_2PLANE_444_UNORM`", 4190 requires_one_of: crate::RequiresOneOf { 4191 api_version: Some(crate::Version::V1_3), 4192 device_extensions: &["ext_ycbcr_2plane_444_formats"], 4193 ..Default::default() 4194 }, 4195 }); 4196 } 4197 } 4198 Self::G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 => { 4199 if !(physical_device.api_version() >= crate::Version::V1_3 4200 || physical_device 4201 .supported_extensions() 4202 .ext_ycbcr_2plane_444_formats) 4203 { 4204 return Err(crate::RequirementNotMet { 4205 required_for: "`Format::G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16`", 4206 requires_one_of: crate::RequiresOneOf { 4207 api_version: Some(crate::Version::V1_3), 4208 device_extensions: &["ext_ycbcr_2plane_444_formats"], 4209 ..Default::default() 4210 }, 4211 }); 4212 } 4213 } 4214 Self::G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 => { 4215 if !(physical_device.api_version() >= crate::Version::V1_3 4216 || physical_device 4217 .supported_extensions() 4218 .ext_ycbcr_2plane_444_formats) 4219 { 4220 return Err(crate::RequirementNotMet { 4221 required_for: "`Format::G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16`", 4222 requires_one_of: crate::RequiresOneOf { 4223 api_version: Some(crate::Version::V1_3), 4224 device_extensions: &["ext_ycbcr_2plane_444_formats"], 4225 ..Default::default() 4226 }, 4227 }); 4228 } 4229 } 4230 Self::G16_B16R16_2PLANE_444_UNORM => { 4231 if !(physical_device.api_version() >= crate::Version::V1_3 4232 || physical_device 4233 .supported_extensions() 4234 .ext_ycbcr_2plane_444_formats) 4235 { 4236 return Err(crate::RequirementNotMet { 4237 required_for: "`Format::G16_B16R16_2PLANE_444_UNORM`", 4238 requires_one_of: crate::RequiresOneOf { 4239 api_version: Some(crate::Version::V1_3), 4240 device_extensions: &["ext_ycbcr_2plane_444_formats"], 4241 ..Default::default() 4242 }, 4243 }); 4244 } 4245 } 4246 Self::A4R4G4B4_UNORM_PACK16 => { 4247 if !(physical_device.api_version() >= crate::Version::V1_3 4248 || physical_device.supported_extensions().ext_4444_formats) 4249 { 4250 return Err(crate::RequirementNotMet { 4251 required_for: "`Format::A4R4G4B4_UNORM_PACK16`", 4252 requires_one_of: crate::RequiresOneOf { 4253 api_version: Some(crate::Version::V1_3), 4254 device_extensions: &["ext_4444_formats"], 4255 ..Default::default() 4256 }, 4257 }); 4258 } 4259 } 4260 Self::A4B4G4R4_UNORM_PACK16 => { 4261 if !(physical_device.api_version() >= crate::Version::V1_3 4262 || physical_device.supported_extensions().ext_4444_formats) 4263 { 4264 return Err(crate::RequirementNotMet { 4265 required_for: "`Format::A4B4G4R4_UNORM_PACK16`", 4266 requires_one_of: crate::RequiresOneOf { 4267 api_version: Some(crate::Version::V1_3), 4268 device_extensions: &["ext_4444_formats"], 4269 ..Default::default() 4270 }, 4271 }); 4272 } 4273 } 4274 Self::R16G16_S10_5_NV => { 4275 if !(physical_device.supported_extensions().nv_optical_flow) { 4276 return Err(crate::RequirementNotMet { 4277 required_for: "`Format::R16G16_S10_5_NV`", 4278 requires_one_of: crate::RequiresOneOf { 4279 device_extensions: &["nv_optical_flow"], 4280 ..Default::default() 4281 }, 4282 }); 4283 } 4284 } 4285 } 4286 Ok(()) 4287 } 4288 } 4289 impl TryFrom<ash::vk::Format> for Format { 4290 type Error = (); try_from(val: ash::vk::Format) -> Result<Format, ()>4291 fn try_from(val: ash::vk::Format) -> Result<Format, ()> { 4292 match val { 4293 ash::vk::Format::R4G4_UNORM_PACK8 => Ok(Self::R4G4_UNORM_PACK8), 4294 ash::vk::Format::R4G4B4A4_UNORM_PACK16 => Ok(Self::R4G4B4A4_UNORM_PACK16), 4295 ash::vk::Format::B4G4R4A4_UNORM_PACK16 => Ok(Self::B4G4R4A4_UNORM_PACK16), 4296 ash::vk::Format::R5G6B5_UNORM_PACK16 => Ok(Self::R5G6B5_UNORM_PACK16), 4297 ash::vk::Format::B5G6R5_UNORM_PACK16 => Ok(Self::B5G6R5_UNORM_PACK16), 4298 ash::vk::Format::R5G5B5A1_UNORM_PACK16 => Ok(Self::R5G5B5A1_UNORM_PACK16), 4299 ash::vk::Format::B5G5R5A1_UNORM_PACK16 => Ok(Self::B5G5R5A1_UNORM_PACK16), 4300 ash::vk::Format::A1R5G5B5_UNORM_PACK16 => Ok(Self::A1R5G5B5_UNORM_PACK16), 4301 ash::vk::Format::R8_UNORM => Ok(Self::R8_UNORM), 4302 ash::vk::Format::R8_SNORM => Ok(Self::R8_SNORM), 4303 ash::vk::Format::R8_USCALED => Ok(Self::R8_USCALED), 4304 ash::vk::Format::R8_SSCALED => Ok(Self::R8_SSCALED), 4305 ash::vk::Format::R8_UINT => Ok(Self::R8_UINT), 4306 ash::vk::Format::R8_SINT => Ok(Self::R8_SINT), 4307 ash::vk::Format::R8_SRGB => Ok(Self::R8_SRGB), 4308 ash::vk::Format::R8G8_UNORM => Ok(Self::R8G8_UNORM), 4309 ash::vk::Format::R8G8_SNORM => Ok(Self::R8G8_SNORM), 4310 ash::vk::Format::R8G8_USCALED => Ok(Self::R8G8_USCALED), 4311 ash::vk::Format::R8G8_SSCALED => Ok(Self::R8G8_SSCALED), 4312 ash::vk::Format::R8G8_UINT => Ok(Self::R8G8_UINT), 4313 ash::vk::Format::R8G8_SINT => Ok(Self::R8G8_SINT), 4314 ash::vk::Format::R8G8_SRGB => Ok(Self::R8G8_SRGB), 4315 ash::vk::Format::R8G8B8_UNORM => Ok(Self::R8G8B8_UNORM), 4316 ash::vk::Format::R8G8B8_SNORM => Ok(Self::R8G8B8_SNORM), 4317 ash::vk::Format::R8G8B8_USCALED => Ok(Self::R8G8B8_USCALED), 4318 ash::vk::Format::R8G8B8_SSCALED => Ok(Self::R8G8B8_SSCALED), 4319 ash::vk::Format::R8G8B8_UINT => Ok(Self::R8G8B8_UINT), 4320 ash::vk::Format::R8G8B8_SINT => Ok(Self::R8G8B8_SINT), 4321 ash::vk::Format::R8G8B8_SRGB => Ok(Self::R8G8B8_SRGB), 4322 ash::vk::Format::B8G8R8_UNORM => Ok(Self::B8G8R8_UNORM), 4323 ash::vk::Format::B8G8R8_SNORM => Ok(Self::B8G8R8_SNORM), 4324 ash::vk::Format::B8G8R8_USCALED => Ok(Self::B8G8R8_USCALED), 4325 ash::vk::Format::B8G8R8_SSCALED => Ok(Self::B8G8R8_SSCALED), 4326 ash::vk::Format::B8G8R8_UINT => Ok(Self::B8G8R8_UINT), 4327 ash::vk::Format::B8G8R8_SINT => Ok(Self::B8G8R8_SINT), 4328 ash::vk::Format::B8G8R8_SRGB => Ok(Self::B8G8R8_SRGB), 4329 ash::vk::Format::R8G8B8A8_UNORM => Ok(Self::R8G8B8A8_UNORM), 4330 ash::vk::Format::R8G8B8A8_SNORM => Ok(Self::R8G8B8A8_SNORM), 4331 ash::vk::Format::R8G8B8A8_USCALED => Ok(Self::R8G8B8A8_USCALED), 4332 ash::vk::Format::R8G8B8A8_SSCALED => Ok(Self::R8G8B8A8_SSCALED), 4333 ash::vk::Format::R8G8B8A8_UINT => Ok(Self::R8G8B8A8_UINT), 4334 ash::vk::Format::R8G8B8A8_SINT => Ok(Self::R8G8B8A8_SINT), 4335 ash::vk::Format::R8G8B8A8_SRGB => Ok(Self::R8G8B8A8_SRGB), 4336 ash::vk::Format::B8G8R8A8_UNORM => Ok(Self::B8G8R8A8_UNORM), 4337 ash::vk::Format::B8G8R8A8_SNORM => Ok(Self::B8G8R8A8_SNORM), 4338 ash::vk::Format::B8G8R8A8_USCALED => Ok(Self::B8G8R8A8_USCALED), 4339 ash::vk::Format::B8G8R8A8_SSCALED => Ok(Self::B8G8R8A8_SSCALED), 4340 ash::vk::Format::B8G8R8A8_UINT => Ok(Self::B8G8R8A8_UINT), 4341 ash::vk::Format::B8G8R8A8_SINT => Ok(Self::B8G8R8A8_SINT), 4342 ash::vk::Format::B8G8R8A8_SRGB => Ok(Self::B8G8R8A8_SRGB), 4343 ash::vk::Format::A8B8G8R8_UNORM_PACK32 => Ok(Self::A8B8G8R8_UNORM_PACK32), 4344 ash::vk::Format::A8B8G8R8_SNORM_PACK32 => Ok(Self::A8B8G8R8_SNORM_PACK32), 4345 ash::vk::Format::A8B8G8R8_USCALED_PACK32 => Ok(Self::A8B8G8R8_USCALED_PACK32), 4346 ash::vk::Format::A8B8G8R8_SSCALED_PACK32 => Ok(Self::A8B8G8R8_SSCALED_PACK32), 4347 ash::vk::Format::A8B8G8R8_UINT_PACK32 => Ok(Self::A8B8G8R8_UINT_PACK32), 4348 ash::vk::Format::A8B8G8R8_SINT_PACK32 => Ok(Self::A8B8G8R8_SINT_PACK32), 4349 ash::vk::Format::A8B8G8R8_SRGB_PACK32 => Ok(Self::A8B8G8R8_SRGB_PACK32), 4350 ash::vk::Format::A2R10G10B10_UNORM_PACK32 => Ok(Self::A2R10G10B10_UNORM_PACK32), 4351 ash::vk::Format::A2R10G10B10_SNORM_PACK32 => Ok(Self::A2R10G10B10_SNORM_PACK32), 4352 ash::vk::Format::A2R10G10B10_USCALED_PACK32 => Ok(Self::A2R10G10B10_USCALED_PACK32), 4353 ash::vk::Format::A2R10G10B10_SSCALED_PACK32 => Ok(Self::A2R10G10B10_SSCALED_PACK32), 4354 ash::vk::Format::A2R10G10B10_UINT_PACK32 => Ok(Self::A2R10G10B10_UINT_PACK32), 4355 ash::vk::Format::A2R10G10B10_SINT_PACK32 => Ok(Self::A2R10G10B10_SINT_PACK32), 4356 ash::vk::Format::A2B10G10R10_UNORM_PACK32 => Ok(Self::A2B10G10R10_UNORM_PACK32), 4357 ash::vk::Format::A2B10G10R10_SNORM_PACK32 => Ok(Self::A2B10G10R10_SNORM_PACK32), 4358 ash::vk::Format::A2B10G10R10_USCALED_PACK32 => Ok(Self::A2B10G10R10_USCALED_PACK32), 4359 ash::vk::Format::A2B10G10R10_SSCALED_PACK32 => Ok(Self::A2B10G10R10_SSCALED_PACK32), 4360 ash::vk::Format::A2B10G10R10_UINT_PACK32 => Ok(Self::A2B10G10R10_UINT_PACK32), 4361 ash::vk::Format::A2B10G10R10_SINT_PACK32 => Ok(Self::A2B10G10R10_SINT_PACK32), 4362 ash::vk::Format::R16_UNORM => Ok(Self::R16_UNORM), 4363 ash::vk::Format::R16_SNORM => Ok(Self::R16_SNORM), 4364 ash::vk::Format::R16_USCALED => Ok(Self::R16_USCALED), 4365 ash::vk::Format::R16_SSCALED => Ok(Self::R16_SSCALED), 4366 ash::vk::Format::R16_UINT => Ok(Self::R16_UINT), 4367 ash::vk::Format::R16_SINT => Ok(Self::R16_SINT), 4368 ash::vk::Format::R16_SFLOAT => Ok(Self::R16_SFLOAT), 4369 ash::vk::Format::R16G16_UNORM => Ok(Self::R16G16_UNORM), 4370 ash::vk::Format::R16G16_SNORM => Ok(Self::R16G16_SNORM), 4371 ash::vk::Format::R16G16_USCALED => Ok(Self::R16G16_USCALED), 4372 ash::vk::Format::R16G16_SSCALED => Ok(Self::R16G16_SSCALED), 4373 ash::vk::Format::R16G16_UINT => Ok(Self::R16G16_UINT), 4374 ash::vk::Format::R16G16_SINT => Ok(Self::R16G16_SINT), 4375 ash::vk::Format::R16G16_SFLOAT => Ok(Self::R16G16_SFLOAT), 4376 ash::vk::Format::R16G16B16_UNORM => Ok(Self::R16G16B16_UNORM), 4377 ash::vk::Format::R16G16B16_SNORM => Ok(Self::R16G16B16_SNORM), 4378 ash::vk::Format::R16G16B16_USCALED => Ok(Self::R16G16B16_USCALED), 4379 ash::vk::Format::R16G16B16_SSCALED => Ok(Self::R16G16B16_SSCALED), 4380 ash::vk::Format::R16G16B16_UINT => Ok(Self::R16G16B16_UINT), 4381 ash::vk::Format::R16G16B16_SINT => Ok(Self::R16G16B16_SINT), 4382 ash::vk::Format::R16G16B16_SFLOAT => Ok(Self::R16G16B16_SFLOAT), 4383 ash::vk::Format::R16G16B16A16_UNORM => Ok(Self::R16G16B16A16_UNORM), 4384 ash::vk::Format::R16G16B16A16_SNORM => Ok(Self::R16G16B16A16_SNORM), 4385 ash::vk::Format::R16G16B16A16_USCALED => Ok(Self::R16G16B16A16_USCALED), 4386 ash::vk::Format::R16G16B16A16_SSCALED => Ok(Self::R16G16B16A16_SSCALED), 4387 ash::vk::Format::R16G16B16A16_UINT => Ok(Self::R16G16B16A16_UINT), 4388 ash::vk::Format::R16G16B16A16_SINT => Ok(Self::R16G16B16A16_SINT), 4389 ash::vk::Format::R16G16B16A16_SFLOAT => Ok(Self::R16G16B16A16_SFLOAT), 4390 ash::vk::Format::R32_UINT => Ok(Self::R32_UINT), 4391 ash::vk::Format::R32_SINT => Ok(Self::R32_SINT), 4392 ash::vk::Format::R32_SFLOAT => Ok(Self::R32_SFLOAT), 4393 ash::vk::Format::R32G32_UINT => Ok(Self::R32G32_UINT), 4394 ash::vk::Format::R32G32_SINT => Ok(Self::R32G32_SINT), 4395 ash::vk::Format::R32G32_SFLOAT => Ok(Self::R32G32_SFLOAT), 4396 ash::vk::Format::R32G32B32_UINT => Ok(Self::R32G32B32_UINT), 4397 ash::vk::Format::R32G32B32_SINT => Ok(Self::R32G32B32_SINT), 4398 ash::vk::Format::R32G32B32_SFLOAT => Ok(Self::R32G32B32_SFLOAT), 4399 ash::vk::Format::R32G32B32A32_UINT => Ok(Self::R32G32B32A32_UINT), 4400 ash::vk::Format::R32G32B32A32_SINT => Ok(Self::R32G32B32A32_SINT), 4401 ash::vk::Format::R32G32B32A32_SFLOAT => Ok(Self::R32G32B32A32_SFLOAT), 4402 ash::vk::Format::R64_UINT => Ok(Self::R64_UINT), 4403 ash::vk::Format::R64_SINT => Ok(Self::R64_SINT), 4404 ash::vk::Format::R64_SFLOAT => Ok(Self::R64_SFLOAT), 4405 ash::vk::Format::R64G64_UINT => Ok(Self::R64G64_UINT), 4406 ash::vk::Format::R64G64_SINT => Ok(Self::R64G64_SINT), 4407 ash::vk::Format::R64G64_SFLOAT => Ok(Self::R64G64_SFLOAT), 4408 ash::vk::Format::R64G64B64_UINT => Ok(Self::R64G64B64_UINT), 4409 ash::vk::Format::R64G64B64_SINT => Ok(Self::R64G64B64_SINT), 4410 ash::vk::Format::R64G64B64_SFLOAT => Ok(Self::R64G64B64_SFLOAT), 4411 ash::vk::Format::R64G64B64A64_UINT => Ok(Self::R64G64B64A64_UINT), 4412 ash::vk::Format::R64G64B64A64_SINT => Ok(Self::R64G64B64A64_SINT), 4413 ash::vk::Format::R64G64B64A64_SFLOAT => Ok(Self::R64G64B64A64_SFLOAT), 4414 ash::vk::Format::B10G11R11_UFLOAT_PACK32 => Ok(Self::B10G11R11_UFLOAT_PACK32), 4415 ash::vk::Format::E5B9G9R9_UFLOAT_PACK32 => Ok(Self::E5B9G9R9_UFLOAT_PACK32), 4416 ash::vk::Format::D16_UNORM => Ok(Self::D16_UNORM), 4417 ash::vk::Format::X8_D24_UNORM_PACK32 => Ok(Self::X8_D24_UNORM_PACK32), 4418 ash::vk::Format::D32_SFLOAT => Ok(Self::D32_SFLOAT), 4419 ash::vk::Format::S8_UINT => Ok(Self::S8_UINT), 4420 ash::vk::Format::D16_UNORM_S8_UINT => Ok(Self::D16_UNORM_S8_UINT), 4421 ash::vk::Format::D24_UNORM_S8_UINT => Ok(Self::D24_UNORM_S8_UINT), 4422 ash::vk::Format::D32_SFLOAT_S8_UINT => Ok(Self::D32_SFLOAT_S8_UINT), 4423 ash::vk::Format::BC1_RGB_UNORM_BLOCK => Ok(Self::BC1_RGB_UNORM_BLOCK), 4424 ash::vk::Format::BC1_RGB_SRGB_BLOCK => Ok(Self::BC1_RGB_SRGB_BLOCK), 4425 ash::vk::Format::BC1_RGBA_UNORM_BLOCK => Ok(Self::BC1_RGBA_UNORM_BLOCK), 4426 ash::vk::Format::BC1_RGBA_SRGB_BLOCK => Ok(Self::BC1_RGBA_SRGB_BLOCK), 4427 ash::vk::Format::BC2_UNORM_BLOCK => Ok(Self::BC2_UNORM_BLOCK), 4428 ash::vk::Format::BC2_SRGB_BLOCK => Ok(Self::BC2_SRGB_BLOCK), 4429 ash::vk::Format::BC3_UNORM_BLOCK => Ok(Self::BC3_UNORM_BLOCK), 4430 ash::vk::Format::BC3_SRGB_BLOCK => Ok(Self::BC3_SRGB_BLOCK), 4431 ash::vk::Format::BC4_UNORM_BLOCK => Ok(Self::BC4_UNORM_BLOCK), 4432 ash::vk::Format::BC4_SNORM_BLOCK => Ok(Self::BC4_SNORM_BLOCK), 4433 ash::vk::Format::BC5_UNORM_BLOCK => Ok(Self::BC5_UNORM_BLOCK), 4434 ash::vk::Format::BC5_SNORM_BLOCK => Ok(Self::BC5_SNORM_BLOCK), 4435 ash::vk::Format::BC6H_UFLOAT_BLOCK => Ok(Self::BC6H_UFLOAT_BLOCK), 4436 ash::vk::Format::BC6H_SFLOAT_BLOCK => Ok(Self::BC6H_SFLOAT_BLOCK), 4437 ash::vk::Format::BC7_UNORM_BLOCK => Ok(Self::BC7_UNORM_BLOCK), 4438 ash::vk::Format::BC7_SRGB_BLOCK => Ok(Self::BC7_SRGB_BLOCK), 4439 ash::vk::Format::ETC2_R8G8B8_UNORM_BLOCK => Ok(Self::ETC2_R8G8B8_UNORM_BLOCK), 4440 ash::vk::Format::ETC2_R8G8B8_SRGB_BLOCK => Ok(Self::ETC2_R8G8B8_SRGB_BLOCK), 4441 ash::vk::Format::ETC2_R8G8B8A1_UNORM_BLOCK => Ok(Self::ETC2_R8G8B8A1_UNORM_BLOCK), 4442 ash::vk::Format::ETC2_R8G8B8A1_SRGB_BLOCK => Ok(Self::ETC2_R8G8B8A1_SRGB_BLOCK), 4443 ash::vk::Format::ETC2_R8G8B8A8_UNORM_BLOCK => Ok(Self::ETC2_R8G8B8A8_UNORM_BLOCK), 4444 ash::vk::Format::ETC2_R8G8B8A8_SRGB_BLOCK => Ok(Self::ETC2_R8G8B8A8_SRGB_BLOCK), 4445 ash::vk::Format::EAC_R11_UNORM_BLOCK => Ok(Self::EAC_R11_UNORM_BLOCK), 4446 ash::vk::Format::EAC_R11_SNORM_BLOCK => Ok(Self::EAC_R11_SNORM_BLOCK), 4447 ash::vk::Format::EAC_R11G11_UNORM_BLOCK => Ok(Self::EAC_R11G11_UNORM_BLOCK), 4448 ash::vk::Format::EAC_R11G11_SNORM_BLOCK => Ok(Self::EAC_R11G11_SNORM_BLOCK), 4449 ash::vk::Format::ASTC_4X4_UNORM_BLOCK => Ok(Self::ASTC_4x4_UNORM_BLOCK), 4450 ash::vk::Format::ASTC_4X4_SRGB_BLOCK => Ok(Self::ASTC_4x4_SRGB_BLOCK), 4451 ash::vk::Format::ASTC_5X4_UNORM_BLOCK => Ok(Self::ASTC_5x4_UNORM_BLOCK), 4452 ash::vk::Format::ASTC_5X4_SRGB_BLOCK => Ok(Self::ASTC_5x4_SRGB_BLOCK), 4453 ash::vk::Format::ASTC_5X5_UNORM_BLOCK => Ok(Self::ASTC_5x5_UNORM_BLOCK), 4454 ash::vk::Format::ASTC_5X5_SRGB_BLOCK => Ok(Self::ASTC_5x5_SRGB_BLOCK), 4455 ash::vk::Format::ASTC_6X5_UNORM_BLOCK => Ok(Self::ASTC_6x5_UNORM_BLOCK), 4456 ash::vk::Format::ASTC_6X5_SRGB_BLOCK => Ok(Self::ASTC_6x5_SRGB_BLOCK), 4457 ash::vk::Format::ASTC_6X6_UNORM_BLOCK => Ok(Self::ASTC_6x6_UNORM_BLOCK), 4458 ash::vk::Format::ASTC_6X6_SRGB_BLOCK => Ok(Self::ASTC_6x6_SRGB_BLOCK), 4459 ash::vk::Format::ASTC_8X5_UNORM_BLOCK => Ok(Self::ASTC_8x5_UNORM_BLOCK), 4460 ash::vk::Format::ASTC_8X5_SRGB_BLOCK => Ok(Self::ASTC_8x5_SRGB_BLOCK), 4461 ash::vk::Format::ASTC_8X6_UNORM_BLOCK => Ok(Self::ASTC_8x6_UNORM_BLOCK), 4462 ash::vk::Format::ASTC_8X6_SRGB_BLOCK => Ok(Self::ASTC_8x6_SRGB_BLOCK), 4463 ash::vk::Format::ASTC_8X8_UNORM_BLOCK => Ok(Self::ASTC_8x8_UNORM_BLOCK), 4464 ash::vk::Format::ASTC_8X8_SRGB_BLOCK => Ok(Self::ASTC_8x8_SRGB_BLOCK), 4465 ash::vk::Format::ASTC_10X5_UNORM_BLOCK => Ok(Self::ASTC_10x5_UNORM_BLOCK), 4466 ash::vk::Format::ASTC_10X5_SRGB_BLOCK => Ok(Self::ASTC_10x5_SRGB_BLOCK), 4467 ash::vk::Format::ASTC_10X6_UNORM_BLOCK => Ok(Self::ASTC_10x6_UNORM_BLOCK), 4468 ash::vk::Format::ASTC_10X6_SRGB_BLOCK => Ok(Self::ASTC_10x6_SRGB_BLOCK), 4469 ash::vk::Format::ASTC_10X8_UNORM_BLOCK => Ok(Self::ASTC_10x8_UNORM_BLOCK), 4470 ash::vk::Format::ASTC_10X8_SRGB_BLOCK => Ok(Self::ASTC_10x8_SRGB_BLOCK), 4471 ash::vk::Format::ASTC_10X10_UNORM_BLOCK => Ok(Self::ASTC_10x10_UNORM_BLOCK), 4472 ash::vk::Format::ASTC_10X10_SRGB_BLOCK => Ok(Self::ASTC_10x10_SRGB_BLOCK), 4473 ash::vk::Format::ASTC_12X10_UNORM_BLOCK => Ok(Self::ASTC_12x10_UNORM_BLOCK), 4474 ash::vk::Format::ASTC_12X10_SRGB_BLOCK => Ok(Self::ASTC_12x10_SRGB_BLOCK), 4475 ash::vk::Format::ASTC_12X12_UNORM_BLOCK => Ok(Self::ASTC_12x12_UNORM_BLOCK), 4476 ash::vk::Format::ASTC_12X12_SRGB_BLOCK => Ok(Self::ASTC_12x12_SRGB_BLOCK), 4477 ash::vk::Format::G8B8G8R8_422_UNORM => Ok(Self::G8B8G8R8_422_UNORM), 4478 ash::vk::Format::B8G8R8G8_422_UNORM => Ok(Self::B8G8R8G8_422_UNORM), 4479 ash::vk::Format::G8_B8_R8_3PLANE_420_UNORM => Ok(Self::G8_B8_R8_3PLANE_420_UNORM), 4480 ash::vk::Format::G8_B8R8_2PLANE_420_UNORM => Ok(Self::G8_B8R8_2PLANE_420_UNORM), 4481 ash::vk::Format::G8_B8_R8_3PLANE_422_UNORM => Ok(Self::G8_B8_R8_3PLANE_422_UNORM), 4482 ash::vk::Format::G8_B8R8_2PLANE_422_UNORM => Ok(Self::G8_B8R8_2PLANE_422_UNORM), 4483 ash::vk::Format::G8_B8_R8_3PLANE_444_UNORM => Ok(Self::G8_B8_R8_3PLANE_444_UNORM), 4484 ash::vk::Format::R10X6_UNORM_PACK16 => Ok(Self::R10X6_UNORM_PACK16), 4485 ash::vk::Format::R10X6G10X6_UNORM_2PACK16 => Ok(Self::R10X6G10X6_UNORM_2PACK16), 4486 ash::vk::Format::R10X6G10X6B10X6A10X6_UNORM_4PACK16 => { 4487 Ok(Self::R10X6G10X6B10X6A10X6_UNORM_4PACK16) 4488 } 4489 ash::vk::Format::G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 => { 4490 Ok(Self::G10X6B10X6G10X6R10X6_422_UNORM_4PACK16) 4491 } 4492 ash::vk::Format::B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 => { 4493 Ok(Self::B10X6G10X6R10X6G10X6_422_UNORM_4PACK16) 4494 } 4495 ash::vk::Format::G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 => { 4496 Ok(Self::G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16) 4497 } 4498 ash::vk::Format::G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 => { 4499 Ok(Self::G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16) 4500 } 4501 ash::vk::Format::G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 => { 4502 Ok(Self::G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16) 4503 } 4504 ash::vk::Format::G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 => { 4505 Ok(Self::G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16) 4506 } 4507 ash::vk::Format::G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 => { 4508 Ok(Self::G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16) 4509 } 4510 ash::vk::Format::R12X4_UNORM_PACK16 => Ok(Self::R12X4_UNORM_PACK16), 4511 ash::vk::Format::R12X4G12X4_UNORM_2PACK16 => Ok(Self::R12X4G12X4_UNORM_2PACK16), 4512 ash::vk::Format::R12X4G12X4B12X4A12X4_UNORM_4PACK16 => { 4513 Ok(Self::R12X4G12X4B12X4A12X4_UNORM_4PACK16) 4514 } 4515 ash::vk::Format::G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 => { 4516 Ok(Self::G12X4B12X4G12X4R12X4_422_UNORM_4PACK16) 4517 } 4518 ash::vk::Format::B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 => { 4519 Ok(Self::B12X4G12X4R12X4G12X4_422_UNORM_4PACK16) 4520 } 4521 ash::vk::Format::G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 => { 4522 Ok(Self::G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16) 4523 } 4524 ash::vk::Format::G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 => { 4525 Ok(Self::G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16) 4526 } 4527 ash::vk::Format::G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 => { 4528 Ok(Self::G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16) 4529 } 4530 ash::vk::Format::G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 => { 4531 Ok(Self::G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16) 4532 } 4533 ash::vk::Format::G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 => { 4534 Ok(Self::G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16) 4535 } 4536 ash::vk::Format::G16B16G16R16_422_UNORM => Ok(Self::G16B16G16R16_422_UNORM), 4537 ash::vk::Format::B16G16R16G16_422_UNORM => Ok(Self::B16G16R16G16_422_UNORM), 4538 ash::vk::Format::G16_B16_R16_3PLANE_420_UNORM => Ok(Self::G16_B16_R16_3PLANE_420_UNORM), 4539 ash::vk::Format::G16_B16R16_2PLANE_420_UNORM => Ok(Self::G16_B16R16_2PLANE_420_UNORM), 4540 ash::vk::Format::G16_B16_R16_3PLANE_422_UNORM => Ok(Self::G16_B16_R16_3PLANE_422_UNORM), 4541 ash::vk::Format::G16_B16R16_2PLANE_422_UNORM => Ok(Self::G16_B16R16_2PLANE_422_UNORM), 4542 ash::vk::Format::G16_B16_R16_3PLANE_444_UNORM => Ok(Self::G16_B16_R16_3PLANE_444_UNORM), 4543 ash::vk::Format::PVRTC1_2BPP_UNORM_BLOCK_IMG => Ok(Self::PVRTC1_2BPP_UNORM_BLOCK), 4544 ash::vk::Format::PVRTC1_4BPP_UNORM_BLOCK_IMG => Ok(Self::PVRTC1_4BPP_UNORM_BLOCK), 4545 ash::vk::Format::PVRTC2_2BPP_UNORM_BLOCK_IMG => Ok(Self::PVRTC2_2BPP_UNORM_BLOCK), 4546 ash::vk::Format::PVRTC2_4BPP_UNORM_BLOCK_IMG => Ok(Self::PVRTC2_4BPP_UNORM_BLOCK), 4547 ash::vk::Format::PVRTC1_2BPP_SRGB_BLOCK_IMG => Ok(Self::PVRTC1_2BPP_SRGB_BLOCK), 4548 ash::vk::Format::PVRTC1_4BPP_SRGB_BLOCK_IMG => Ok(Self::PVRTC1_4BPP_SRGB_BLOCK), 4549 ash::vk::Format::PVRTC2_2BPP_SRGB_BLOCK_IMG => Ok(Self::PVRTC2_2BPP_SRGB_BLOCK), 4550 ash::vk::Format::PVRTC2_4BPP_SRGB_BLOCK_IMG => Ok(Self::PVRTC2_4BPP_SRGB_BLOCK), 4551 ash::vk::Format::ASTC_4X4_SFLOAT_BLOCK => Ok(Self::ASTC_4x4_SFLOAT_BLOCK), 4552 ash::vk::Format::ASTC_5X4_SFLOAT_BLOCK => Ok(Self::ASTC_5x4_SFLOAT_BLOCK), 4553 ash::vk::Format::ASTC_5X5_SFLOAT_BLOCK => Ok(Self::ASTC_5x5_SFLOAT_BLOCK), 4554 ash::vk::Format::ASTC_6X5_SFLOAT_BLOCK => Ok(Self::ASTC_6x5_SFLOAT_BLOCK), 4555 ash::vk::Format::ASTC_6X6_SFLOAT_BLOCK => Ok(Self::ASTC_6x6_SFLOAT_BLOCK), 4556 ash::vk::Format::ASTC_8X5_SFLOAT_BLOCK => Ok(Self::ASTC_8x5_SFLOAT_BLOCK), 4557 ash::vk::Format::ASTC_8X6_SFLOAT_BLOCK => Ok(Self::ASTC_8x6_SFLOAT_BLOCK), 4558 ash::vk::Format::ASTC_8X8_SFLOAT_BLOCK => Ok(Self::ASTC_8x8_SFLOAT_BLOCK), 4559 ash::vk::Format::ASTC_10X5_SFLOAT_BLOCK => Ok(Self::ASTC_10x5_SFLOAT_BLOCK), 4560 ash::vk::Format::ASTC_10X6_SFLOAT_BLOCK => Ok(Self::ASTC_10x6_SFLOAT_BLOCK), 4561 ash::vk::Format::ASTC_10X8_SFLOAT_BLOCK => Ok(Self::ASTC_10x8_SFLOAT_BLOCK), 4562 ash::vk::Format::ASTC_10X10_SFLOAT_BLOCK => Ok(Self::ASTC_10x10_SFLOAT_BLOCK), 4563 ash::vk::Format::ASTC_12X10_SFLOAT_BLOCK => Ok(Self::ASTC_12x10_SFLOAT_BLOCK), 4564 ash::vk::Format::ASTC_12X12_SFLOAT_BLOCK => Ok(Self::ASTC_12x12_SFLOAT_BLOCK), 4565 ash::vk::Format::G8_B8R8_2PLANE_444_UNORM => Ok(Self::G8_B8R8_2PLANE_444_UNORM), 4566 ash::vk::Format::G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 => { 4567 Ok(Self::G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16) 4568 } 4569 ash::vk::Format::G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 => { 4570 Ok(Self::G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16) 4571 } 4572 ash::vk::Format::G16_B16R16_2PLANE_444_UNORM => Ok(Self::G16_B16R16_2PLANE_444_UNORM), 4573 ash::vk::Format::A4R4G4B4_UNORM_PACK16 => Ok(Self::A4R4G4B4_UNORM_PACK16), 4574 ash::vk::Format::A4B4G4R4_UNORM_PACK16 => Ok(Self::A4B4G4R4_UNORM_PACK16), 4575 ash::vk::Format::R16G16_S10_5_NV => Ok(Self::R16G16_S10_5_NV), 4576 _ => Err(()), 4577 } 4578 } 4579 } 4580 #[doc = r" Converts a format enum identifier to a standard Rust type that is suitable for"] 4581 #[doc = r" representing the format in a buffer or image."] 4582 #[doc = r""] 4583 #[doc = r" This macro returns one possible suitable representation, but there are usually other"] 4584 #[doc = r" possibilities for a given format. A compile error occurs for formats that have no"] 4585 #[doc = r" well-defined size (the `size` method returns `None`)."] 4586 #[doc = r""] 4587 #[doc = r" - For regular unpacked formats with one component, this returns a single floating point,"] 4588 #[doc = r" signed or unsigned integer with the appropriate number of bits. For formats with"] 4589 #[doc = r" multiple components, an array is returned."] 4590 #[doc = r" - For packed formats, this returns an unsigned integer with the size of the packed"] 4591 #[doc = r" element. For multi-packed formats (such as `2PACK16`), an array is returned."] 4592 #[doc = r" - For compressed formats, this returns `[u8; N]` where N is the size of a block."] 4593 #[doc = r""] 4594 #[doc = r" Note: for 16-bit floating point values, you need to import the [`half::f16`] type."] 4595 #[doc = r""] 4596 #[doc = r" # Examples"] 4597 #[doc = r""] 4598 #[doc = r" For arrays:"] 4599 #[doc = r""] 4600 #[doc = r" ```"] 4601 #[doc = r" # use vulkano::type_for_format;"] 4602 #[doc = r" let pixel: type_for_format!(R32G32B32A32_SFLOAT);"] 4603 #[doc = r" pixel = [1.0f32, 0.0, 0.0, 1.0];"] 4604 #[doc = r" ```"] 4605 #[doc = r""] 4606 #[doc = r" For [`cgmath`]:"] 4607 #[doc = r""] 4608 #[doc = r" ```"] 4609 #[doc = r" # use vulkano::type_for_format;"] 4610 #[doc = r" let pixel: type_for_format!(cgmath, R32G32B32A32_SFLOAT);"] 4611 #[doc = r" pixel = cgmath::Vector4::new(1.0f32, 0.0, 0.0, 1.0);"] 4612 #[doc = r" ```"] 4613 #[doc = r""] 4614 #[doc = r" For [`nalgebra`]:"] 4615 #[doc = r""] 4616 #[doc = r" ```"] 4617 #[doc = r" # use vulkano::type_for_format;"] 4618 #[doc = r" let pixel: type_for_format!(nalgebra, R32G32B32A32_SFLOAT);"] 4619 #[doc = r" pixel = nalgebra::vector![1.0f32, 0.0, 0.0, 1.0];"] 4620 #[doc = r" ```"] 4621 #[doc = r""] 4622 #[doc = r" [`cgmath`]: https://crates.io/crates/cgmath"] 4623 #[doc = r" [`nalgebra`]: https://crates.io/crates/nalgebra"] 4624 #[macro_export] 4625 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 > } ; } 4626