1{ 2 "description": [ 3 "Copyright 2019 The ANGLE Project Authors. All rights reserved.", 4 "Use of this source code is governed by a BSD-style license that can be", 5 "found in the LICENSE file.", 6 "", 7 "mtl_format_map.json: Format mapping between OpenGL and Metal.", 8 "", 9 "Also see gen_mtl_format_table.py for the code generation step." 10 ], 11 "image": { 12 "description": [ 13 "- The image's map is a dictionary where the key of each entry is the", 14 "ANGLE format ID, and the value is the Metal format enum. Note some formats", 15 "are missing from the map, these formats are either unsupported or emulated", 16 "on Metal.", 17 "map_mac is Mac specific mapping, similarly map_ios is iOS specific mapping.", 18 "", 19 "- override is emulation of unsupported formats on Metal by converting them to", 20 "supported formats. For example, converting R8G8B8 to R8G8B8A8", 21 "override_mac & override_ios are platform specific emulations.", 22 "", 23 "- d24s8_fallbacks_mac is Mac specific emulation when native Metal device doesn't", 24 "support D24_UNORM_S8_UINT format.", 25 "", 26 "- caps is a table containing native Metal format's specific capabilities such as", 27 "supporting filtering, blending and so on. Unlike the above tables, this table's keys", 28 "are Metal native format enums. This table's source is", 29 "https://developer.apple.com/metal/Metal-Feature-Set-Tables.pdf", 30 "Platform specific tables are caps_mac & caps_ios." 31 ], 32 "map": { 33 "NONE": "MTLPixelFormatInvalid", 34 "A8_UNORM": "MTLPixelFormatA8Unorm", 35 "R8_UNORM": "MTLPixelFormatR8Unorm", 36 "R8_SNORM": "MTLPixelFormatR8Snorm", 37 "R8_UINT": "MTLPixelFormatR8Uint", 38 "R8_SINT": "MTLPixelFormatR8Sint", 39 "R8G8_UNORM": "MTLPixelFormatRG8Unorm", 40 "R8G8_SNORM": "MTLPixelFormatRG8Snorm", 41 "R8G8_UINT": "MTLPixelFormatRG8Uint", 42 "R8G8_SINT": "MTLPixelFormatRG8Sint", 43 "R8G8B8A8_UINT": "MTLPixelFormatRGBA8Uint", 44 "R8G8B8A8_SINT": "MTLPixelFormatRGBA8Sint", 45 "R8G8B8A8_UNORM": "MTLPixelFormatRGBA8Unorm", 46 "R8G8B8A8_SNORM": "MTLPixelFormatRGBA8Snorm", 47 "R8G8B8A8_UNORM_SRGB": "MTLPixelFormatRGBA8Unorm_sRGB", 48 "B8G8R8A8_UNORM": "MTLPixelFormatBGRA8Unorm", 49 "B8G8R8A8_UNORM_SRGB": "MTLPixelFormatBGRA8Unorm_sRGB", 50 "R16_UNORM": "MTLPixelFormatR16Unorm", 51 "R16_SNORM": "MTLPixelFormatR16Snorm", 52 "R16_UINT": "MTLPixelFormatR16Uint", 53 "R16_SINT": "MTLPixelFormatR16Sint", 54 "R16_FLOAT": "MTLPixelFormatR16Float", 55 "R16G16_UNORM": "MTLPixelFormatRG16Unorm", 56 "R16G16_SNORM": "MTLPixelFormatRG16Snorm", 57 "R16G16_UINT": "MTLPixelFormatRG16Uint", 58 "R16G16_SINT": "MTLPixelFormatRG16Sint", 59 "R16G16_FLOAT": "MTLPixelFormatRG16Float", 60 "R16G16B16A16_UNORM": "MTLPixelFormatRGBA16Unorm", 61 "R16G16B16A16_SNORM": "MTLPixelFormatRGBA16Snorm", 62 "R16G16B16A16_UINT": "MTLPixelFormatRGBA16Uint", 63 "R16G16B16A16_SINT": "MTLPixelFormatRGBA16Sint", 64 "R16G16B16A16_FLOAT": "MTLPixelFormatRGBA16Float", 65 "R32_UINT": "MTLPixelFormatR32Uint", 66 "R32_SINT": "MTLPixelFormatR32Sint", 67 "R32_FLOAT": "MTLPixelFormatR32Float", 68 "R32G32_UINT": "MTLPixelFormatRG32Uint", 69 "R32G32_SINT": "MTLPixelFormatRG32Sint", 70 "R32G32_FLOAT": "MTLPixelFormatRG32Float", 71 "R32G32B32A32_UINT": "MTLPixelFormatRGBA32Uint", 72 "R32G32B32A32_SINT": "MTLPixelFormatRGBA32Sint", 73 "R32G32B32A32_FLOAT": "MTLPixelFormatRGBA32Float", 74 "D32_FLOAT": "MTLPixelFormatDepth32Float", 75 "S8_UINT": "MTLPixelFormatStencil8", 76 "D32_FLOAT_S8X24_UINT": "MTLPixelFormatDepth32Float_Stencil8", 77 "B10G10R10A2_UNORM": "MTLPixelFormatBGR10A2Unorm", 78 "R10G10B10A2_UINT": "MTLPixelFormatRGB10A2Uint", 79 "R10G10B10A2_UNORM": "MTLPixelFormatRGB10A2Unorm", 80 "R11G11B10_FLOAT": "MTLPixelFormatRG11B10Float", 81 "R9G9B9E5_SHAREDEXP": "MTLPixelFormatRGB9E5Float" 82 }, 83 "map_ios": { 84 "R8_UNORM_SRGB": "MTLPixelFormatR8Unorm_sRGB", 85 "R8G8_UNORM_SRGB": "MTLPixelFormatRG8Unorm_sRGB", 86 "R5G6B5_UNORM": "MTLPixelFormatB5G6R5Unorm", 87 "R5G5B5A1_UNORM": "MTLPixelFormatA1BGR5Unorm", 88 "R4G4B4A4_UNORM": "MTLPixelFormatABGR4Unorm", 89 "D16_UNORM": "MTLPixelFormatDepth16Unorm", 90 "PVRTC1_RGB_4BPP_UNORM_BLOCK": "MTLPixelFormatPVRTC_RGB_4BPP", 91 "PVRTC1_RGB_2BPP_UNORM_BLOCK": "MTLPixelFormatPVRTC_RGB_2BPP", 92 "PVRTC1_RGBA_4BPP_UNORM_BLOCK": "MTLPixelFormatPVRTC_RGBA_4BPP", 93 "PVRTC1_RGBA_2BPP_UNORM_BLOCK": "MTLPixelFormatPVRTC_RGBA_2BPP", 94 "PVRTC1_RGB_2BPP_UNORM_SRGB_BLOCK": "MTLPixelFormatPVRTC_RGB_2BPP_sRGB", 95 "PVRTC1_RGB_4BPP_UNORM_SRGB_BLOCK": "MTLPixelFormatPVRTC_RGB_4BPP_sRGB", 96 "PVRTC1_RGBA_2BPP_UNORM_SRGB_BLOCK": "MTLPixelFormatPVRTC_RGBA_2BPP_sRGB", 97 "PVRTC1_RGBA_4BPP_UNORM_SRGB_BLOCK": "MTLPixelFormatPVRTC_RGBA_4BPP_sRGB", 98 "ETC1_R8G8B8_UNORM_BLOCK": "MTLPixelFormatETC2_RGB8", 99 "ETC2_R8G8B8_UNORM_BLOCK": "MTLPixelFormatETC2_RGB8", 100 "ETC2_R8G8B8_SRGB_BLOCK": "MTLPixelFormatETC2_RGB8_sRGB", 101 "ETC2_R8G8B8A1_UNORM_BLOCK": "MTLPixelFormatETC2_RGB8A1", 102 "ETC2_R8G8B8A1_SRGB_BLOCK": "MTLPixelFormatETC2_RGB8A1_sRGB", 103 "ETC2_R8G8B8A8_UNORM_BLOCK": "MTLPixelFormatEAC_RGBA8", 104 "ETC2_R8G8B8A8_SRGB_BLOCK": "MTLPixelFormatEAC_RGBA8_sRGB", 105 "EAC_R11_UNORM_BLOCK": "MTLPixelFormatEAC_R11Unorm", 106 "EAC_R11_SNORM_BLOCK": "MTLPixelFormatEAC_R11Snorm", 107 "EAC_R11G11_UNORM_BLOCK": "MTLPixelFormatEAC_RG11Unorm", 108 "EAC_R11G11_SNORM_BLOCK": "MTLPixelFormatEAC_RG11Snorm", 109 "ASTC_4x4_SRGB_BLOCK": "MTLPixelFormatASTC_4x4_sRGB", 110 "ASTC_5x4_SRGB_BLOCK": "MTLPixelFormatASTC_5x4_sRGB", 111 "ASTC_5x5_SRGB_BLOCK": "MTLPixelFormatASTC_5x5_sRGB", 112 "ASTC_6x5_SRGB_BLOCK": "MTLPixelFormatASTC_6x5_sRGB", 113 "ASTC_6x6_SRGB_BLOCK": "MTLPixelFormatASTC_6x6_sRGB", 114 "ASTC_8x5_SRGB_BLOCK": "MTLPixelFormatASTC_8x5_sRGB", 115 "ASTC_8x6_SRGB_BLOCK": "MTLPixelFormatASTC_8x6_sRGB", 116 "ASTC_8x8_SRGB_BLOCK": "MTLPixelFormatASTC_8x8_sRGB", 117 "ASTC_10x5_SRGB_BLOCK": "MTLPixelFormatASTC_10x5_sRGB", 118 "ASTC_10x6_SRGB_BLOCK": "MTLPixelFormatASTC_10x6_sRGB", 119 "ASTC_10x8_SRGB_BLOCK": "MTLPixelFormatASTC_10x8_sRGB", 120 "ASTC_10x10_SRGB_BLOCK": "MTLPixelFormatASTC_10x10_sRGB", 121 "ASTC_12x10_SRGB_BLOCK": "MTLPixelFormatASTC_12x10_sRGB", 122 "ASTC_12x12_SRGB_BLOCK": "MTLPixelFormatASTC_12x12_sRGB" 123 }, 124 "map_sim": { 125 "ETC1_R8G8B8_UNORM_BLOCK": "MTLPixelFormatETC2_RGB8", 126 "ETC2_R8G8B8_UNORM_BLOCK": "MTLPixelFormatETC2_RGB8", 127 "ETC2_R8G8B8_SRGB_BLOCK": "MTLPixelFormatETC2_RGB8_sRGB", 128 "ETC2_R8G8B8A1_UNORM_BLOCK": "MTLPixelFormatETC2_RGB8A1", 129 "ETC2_R8G8B8A1_SRGB_BLOCK": "MTLPixelFormatETC2_RGB8A1_sRGB", 130 "ETC2_R8G8B8A8_UNORM_BLOCK": "MTLPixelFormatEAC_RGBA8", 131 "ETC2_R8G8B8A8_SRGB_BLOCK": "MTLPixelFormatEAC_RGBA8_sRGB", 132 "EAC_R11_UNORM_BLOCK": "MTLPixelFormatEAC_R11Unorm", 133 "EAC_R11_SNORM_BLOCK": "MTLPixelFormatEAC_R11Snorm", 134 "EAC_R11G11_UNORM_BLOCK": "MTLPixelFormatEAC_RG11Unorm", 135 "EAC_R11G11_SNORM_BLOCK": "MTLPixelFormatEAC_RG11Snorm", 136 "ASTC_4x4_SRGB_BLOCK": "MTLPixelFormatASTC_4x4_sRGB", 137 "ASTC_5x4_SRGB_BLOCK": "MTLPixelFormatASTC_5x4_sRGB", 138 "ASTC_5x5_SRGB_BLOCK": "MTLPixelFormatASTC_5x5_sRGB", 139 "ASTC_6x5_SRGB_BLOCK": "MTLPixelFormatASTC_6x5_sRGB", 140 "ASTC_6x6_SRGB_BLOCK": "MTLPixelFormatASTC_6x6_sRGB", 141 "ASTC_8x5_SRGB_BLOCK": "MTLPixelFormatASTC_8x5_sRGB", 142 "ASTC_8x6_SRGB_BLOCK": "MTLPixelFormatASTC_8x6_sRGB", 143 "ASTC_8x8_SRGB_BLOCK": "MTLPixelFormatASTC_8x8_sRGB", 144 "ASTC_10x5_SRGB_BLOCK": "MTLPixelFormatASTC_10x5_sRGB", 145 "ASTC_10x6_SRGB_BLOCK": "MTLPixelFormatASTC_10x6_sRGB", 146 "ASTC_10x8_SRGB_BLOCK": "MTLPixelFormatASTC_10x8_sRGB", 147 "ASTC_10x10_SRGB_BLOCK": "MTLPixelFormatASTC_10x10_sRGB", 148 "ASTC_12x10_SRGB_BLOCK": "MTLPixelFormatASTC_12x10_sRGB", 149 "ASTC_12x12_SRGB_BLOCK": "MTLPixelFormatASTC_12x12_sRGB" 150 }, 151 "map_astc_tpl": { 152 "ASTC_4x4_UNORM_BLOCK": "MTLPixelFormatASTC_4x4_", 153 "ASTC_5x4_UNORM_BLOCK": "MTLPixelFormatASTC_5x4_", 154 "ASTC_5x5_UNORM_BLOCK": "MTLPixelFormatASTC_5x5_", 155 "ASTC_6x5_UNORM_BLOCK": "MTLPixelFormatASTC_6x5_", 156 "ASTC_6x6_UNORM_BLOCK": "MTLPixelFormatASTC_6x6_", 157 "ASTC_8x5_UNORM_BLOCK": "MTLPixelFormatASTC_8x5_", 158 "ASTC_8x6_UNORM_BLOCK": "MTLPixelFormatASTC_8x6_", 159 "ASTC_8x8_UNORM_BLOCK": "MTLPixelFormatASTC_8x8_", 160 "ASTC_10x5_UNORM_BLOCK": "MTLPixelFormatASTC_10x5_", 161 "ASTC_10x6_UNORM_BLOCK": "MTLPixelFormatASTC_10x6_", 162 "ASTC_10x8_UNORM_BLOCK": "MTLPixelFormatASTC_10x8_", 163 "ASTC_10x10_UNORM_BLOCK": "MTLPixelFormatASTC_10x10_", 164 "ASTC_12x10_UNORM_BLOCK": "MTLPixelFormatASTC_12x10_", 165 "ASTC_12x12_UNORM_BLOCK": "MTLPixelFormatASTC_12x12_" 166 }, 167 "map_mac": { 168 "D16_UNORM": "MTLPixelFormatDepth16Unorm", 169 "D24_UNORM_S8_UINT": "MTLPixelFormatDepth24Unorm_Stencil8", 170 "BC1_RGBA_UNORM_BLOCK": "MTLPixelFormatBC1_RGBA", 171 "BC1_RGBA_UNORM_SRGB_BLOCK": "MTLPixelFormatBC1_RGBA_sRGB", 172 "BC2_RGBA_UNORM_BLOCK": "MTLPixelFormatBC2_RGBA", 173 "BC2_RGBA_UNORM_SRGB_BLOCK": "MTLPixelFormatBC2_RGBA_sRGB", 174 "BC3_RGBA_UNORM_BLOCK": "MTLPixelFormatBC3_RGBA", 175 "BC3_RGBA_UNORM_SRGB_BLOCK": "MTLPixelFormatBC3_RGBA_sRGB", 176 "BC4_RED_UNORM_BLOCK": "MTLPixelFormatBC4_RUnorm", 177 "BC4_RED_SNORM_BLOCK": "MTLPixelFormatBC4_RSnorm", 178 "BC5_RG_UNORM_BLOCK": "MTLPixelFormatBC5_RGUnorm", 179 "BC5_RG_SNORM_BLOCK": "MTLPixelFormatBC5_RGSnorm", 180 "BC6H_RGB_UFLOAT_BLOCK": "MTLPixelFormatBC6H_RGBUfloat", 181 "BC6H_RGB_SFLOAT_BLOCK": "MTLPixelFormatBC6H_RGBFloat", 182 "BC7_RGBA_UNORM_BLOCK": "MTLPixelFormatBC7_RGBAUnorm", 183 "BC7_RGBA_UNORM_SRGB_BLOCK": "MTLPixelFormatBC7_RGBAUnorm_sRGB" 184 }, 185 "override": { 186 "L8_UNORM": "R8G8B8A8_UNORM", 187 "L8A8_UNORM": "R8G8B8A8_UNORM", 188 "R8G8B8_UNORM": "R8G8B8A8_UNORM", 189 "R8G8B8X8_UNORM": "R8G8B8A8_UNORM", 190 "R8G8B8_SNORM": "R8G8B8A8_SNORM", 191 "R8G8B8_UINT": "R8G8B8A8_UINT", 192 "R8G8B8_SINT": "R8G8B8A8_SINT", 193 "R8G8B8_UNORM_SRGB": "R8G8B8A8_UNORM_SRGB", 194 "R32G32B32_FLOAT": "R32G32B32A32_FLOAT", 195 "R32G32B32_UINT": "R32G32B32A32_UINT", 196 "R32G32B32_SINT": "R32G32B32A32_SINT", 197 "R16G16B16_FLOAT": "R16G16B16A16_FLOAT", 198 "R16G16B16_UINT": "R16G16B16A16_UINT", 199 "R16G16B16_SINT": "R16G16B16A16_SINT", 200 "R16G16B16_UNORM": "R16G16B16A16_UNORM", 201 "R16G16B16_SNORM": "R16G16B16A16_SNORM", 202 "A16_FLOAT": "R16G16B16A16_FLOAT", 203 "L16_FLOAT": "R16G16B16A16_FLOAT", 204 "L16A16_FLOAT": "R16G16B16A16_FLOAT", 205 "A32_FLOAT": "R32G32B32A32_FLOAT", 206 "L32_FLOAT": "R32G32B32A32_FLOAT", 207 "L32A32_FLOAT": "R32G32B32A32_FLOAT", 208 "D24_UNORM_X8_UINT": "D32_FLOAT", 209 "D32_UNORM": "D32_FLOAT" 210 }, 211 "override_mac": { 212 }, 213 "override_ios": { 214 "D24_UNORM_S8_UINT": "D32_FLOAT_S8X24_UINT" 215 }, 216 "override_sim": { 217 "R5G6B5_UNORM": "R8G8B8A8_UNORM", 218 "R5G5B5A1_UNORM": "R8G8B8A8_UNORM", 219 "D24_UNORM_S8_UINT": "D32_FLOAT_S8X24_UINT", 220 "R4G4B4A4_UNORM": "R8G8B8A8_UNORM", 221 "D16_UNORM": "D32_FLOAT" 222 }, 223 "override_mac_bc1": { 224 "BC1_RGB_UNORM_BLOCK": { 225 "default": "BC1_RGBA_UNORM_BLOCK", 226 "swizzle": ["RGB1", "BC1_RGBA_UNORM_BLOCK"] 227 }, 228 "BC1_RGB_UNORM_SRGB_BLOCK": { 229 "default": "BC1_RGBA_UNORM_SRGB_BLOCK", 230 "swizzle": ["RGB1", "BC1_RGBA_UNORM_SRGB_BLOCK"] 231 } 232 }, 233 "override_mac_es3": { 234 "R5G6B5_UNORM": "R8G8B8A8_UNORM", 235 "R5G5B5A1_UNORM": "R8G8B8A8_UNORM", 236 "R4G4B4A4_UNORM": "R8G8B8A8_UNORM", 237 "ETC1_R8G8B8_UNORM_BLOCK": "R8G8B8A8_UNORM", 238 "ETC2_R8G8B8_UNORM_BLOCK": "R8G8B8A8_UNORM", 239 "ETC2_R8G8B8_SRGB_BLOCK": "R8G8B8A8_UNORM_SRGB", 240 "ETC2_R8G8B8A1_UNORM_BLOCK": "R8G8B8A8_UNORM", 241 "ETC2_R8G8B8A1_SRGB_BLOCK": "R8G8B8A8_UNORM_SRGB", 242 "ETC2_R8G8B8A8_UNORM_BLOCK": "R8G8B8A8_UNORM", 243 "ETC2_R8G8B8A8_SRGB_BLOCK": "R8G8B8A8_UNORM_SRGB", 244 "EAC_R11_UNORM_BLOCK": "R16_UNORM", 245 "EAC_R11_SNORM_BLOCK": "R16_SNORM", 246 "EAC_R11G11_UNORM_BLOCK": "R16G16_UNORM", 247 "EAC_R11G11_SNORM_BLOCK": "R16G16_SNORM" 248 }, 249 "depth_fallbacks_mac": { 250 "D24_UNORM_S8_UINT": { 251 "format": "D32_FLOAT_S8X24_UINT", 252 "condition": "metalDevice.depth24Stencil8PixelFormatSupported && !display->getFeatures().forceD24S8AsUnsupported.enabled" 253 }, 254 "D16_UNORM": { 255 "format": "D32_FLOAT", 256 "condition": "display->supportsAppleGPUFamily(1)" 257 } 258 }, 259 "caps": { 260 "MTLPixelFormatA8Unorm":{ 261 "filterable": "true", 262 "writable": "false", 263 "blendable": "false", 264 "multisample": "false", 265 "resolve": "false", 266 "colorRenderable": "false" 267 }, 268 "MTLPixelFormatR8Unorm":{ 269 "filterable": "true", 270 "writable": "true", 271 "blendable": "true", 272 "multisample": "true", 273 "resolve": "true", 274 "colorRenderable": "true" 275 }, 276 "MTLPixelFormatR8Snorm":{ 277 "filterable": "true", 278 "writable": "true", 279 "blendable": "true", 280 "multisample": "true", 281 "resolve": "display->supportsEitherGPUFamily(2, 1)", 282 "colorRenderable": "true" 283 }, 284 "MTLPixelFormatR16Unorm":{ 285 "filterable": "true", 286 "writable": "true", 287 "blendable": "true", 288 "multisample": "true", 289 "resolve": "display->supportsMacGPUFamily(1)", 290 "colorRenderable": "true" 291 }, 292 "MTLPixelFormatR16Snorm":{ 293 "filterable": "true", 294 "writable": "true", 295 "blendable": "true", 296 "multisample": "true", 297 "resolve": "display->supportsMacGPUFamily(1)", 298 "colorRenderable": "true" 299 }, 300 "MTLPixelFormatRG8Unorm":{ 301 "filterable": "true", 302 "writable": "true", 303 "blendable": "true", 304 "multisample": "true", 305 "resolve": "true", 306 "colorRenderable": "true" 307 }, 308 "MTLPixelFormatRG8Snorm":{ 309 "filterable": "true", 310 "writable": "true", 311 "blendable": "true", 312 "multisample": "true", 313 "resolve": "display->supportsEitherGPUFamily(2, 1)", 314 "colorRenderable": "true" 315 }, 316 "MTLPixelFormatRG16Unorm":{ 317 "filterable": "true", 318 "writable": "true", 319 "blendable": "true", 320 "multisample": "true", 321 "resolve": "display->supportsMacGPUFamily(1)", 322 "colorRenderable": "true" 323 }, 324 "MTLPixelFormatRG16Snorm":{ 325 "filterable": "true", 326 "writable": "true", 327 "blendable": "true", 328 "multisample": "true", 329 "resolve": "display->supportsMacGPUFamily(1)", 330 "colorRenderable": "true" 331 }, 332 "MTLPixelFormatRGBA16Unorm":{ 333 "filterable": "true", 334 "writable": "true", 335 "blendable": "true", 336 "multisample": "true", 337 "resolve": "display->supportsMacGPUFamily(1)", 338 "colorRenderable": "true" 339 }, 340 "MTLPixelFormatRGBA16Snorm":{ 341 "filterable": "true", 342 "writable": "true", 343 "blendable": "true", 344 "multisample": "true", 345 "resolve": "display->supportsMacGPUFamily(1)", 346 "colorRenderable": "true" 347 }, 348 "MTLPixelFormatRGBA16Float":{ 349 "filterable": "true", 350 "writable": "true", 351 "blendable": "true", 352 "multisample": "true", 353 "resolve": "true", 354 "colorRenderable": "true" 355 }, 356 "MTLPixelFormatRGBA8Unorm":{ 357 "filterable": "true", 358 "writable": "true", 359 "blendable": "true", 360 "multisample": "true", 361 "resolve": "true", 362 "colorRenderable": "true" 363 }, 364 "MTLPixelFormatRGBA8Unorm_sRGB":{ 365 "filterable": "true", 366 "writable": "display->supportsAppleGPUFamily(2) && !display->isSimulator()", 367 "blendable": "true", 368 "multisample": "true", 369 "resolve": "true", 370 "colorRenderable": "true" 371 }, 372 "MTLPixelFormatRGBA8Snorm":{ 373 "filterable": "true", 374 "writable": "true", 375 "blendable": "true", 376 "multisample": "true", 377 "resolve": "display->supportsEitherGPUFamily(2, 1)", 378 "colorRenderable": "true" 379 }, 380 "MTLPixelFormatBGRA8Unorm":{ 381 "filterable": "true", 382 "writable": "true", 383 "blendable": "true", 384 "multisample": "true", 385 "resolve": "true", 386 "colorRenderable": "true" 387 }, 388 "MTLPixelFormatBGRA8Unorm_sRGB":{ 389 "filterable": "true", 390 "writable": "display->supportsAppleGPUFamily(2) && !display->isSimulator()", 391 "blendable": "true", 392 "multisample": "true", 393 "resolve": "true", 394 "colorRenderable": "true" 395 }, 396 "MTLPixelFormatR16Float":{ 397 "filterable": "true", 398 "writable": "true", 399 "blendable": "true", 400 "multisample": "true", 401 "resolve": "true", 402 "colorRenderable": "true" 403 }, 404 "MTLPixelFormatRG16Float":{ 405 "filterable": "true", 406 "writable": "true", 407 "blendable": "true", 408 "multisample": "true", 409 "resolve": "true", 410 "colorRenderable": "true" 411 }, 412 "MTLPixelFormatR32Float":{ 413 "filterable": "display->supportsMacGPUFamily(1)", 414 "writable": "true", 415 "blendable": "true", 416 "multisample": "true", 417 "resolve": "display->supportsMacGPUFamily(1)", 418 "colorRenderable": "true" 419 }, 420 "MTLPixelFormatBGR10A2Unorm":{ 421 "filterable": "true", 422 "writable": "display->supportsEitherGPUFamily(3, 1)", 423 "blendable": "true", 424 "multisample": "true", 425 "resolve": "true", 426 "colorRenderable": "true" 427 }, 428 "MTLPixelFormatRGB10A2Unorm":{ 429 "filterable": "true", 430 "writable": "display->supportsEitherGPUFamily(3, 1)", 431 "blendable": "true", 432 "multisample": "true", 433 "resolve": "true", 434 "colorRenderable": "true" 435 }, 436 "MTLPixelFormatRGB10A2Uint":{ 437 "filterable": "false", 438 "writable": "display->supportsEitherGPUFamily(3, 1)", 439 "blendable": "false", 440 "multisample": "true", 441 "resolve": "false", 442 "colorRenderable": "true" 443 }, 444 "MTLPixelFormatRG11B10Float":{ 445 "filterable": "true", 446 "writable": "display->supportsEitherGPUFamily(3, 1)", 447 "blendable": "true", 448 "multisample": "true", 449 "resolve": "true", 450 "colorRenderable": "true" 451 }, 452 "MTLPixelFormatRGB9E5Float":{ 453 "filterable": "true", 454 "writable": "display->supportsAppleGPUFamily(3)", 455 "blendable": "display->supportsAppleGPUFamily(1)", 456 "multisample": "display->supportsAppleGPUFamily(1)", 457 "resolve": "display->supportsAppleGPUFamily(1)", 458 "colorRenderable": "display->supportsAppleGPUFamily(1) && !display->isSimulator()" 459 }, 460 "MTLPixelFormatR8Uint":{ 461 "filterable": "false", 462 "writable": "true", 463 "blendable": "false", 464 "multisample": "true", 465 "resolve": "false", 466 "colorRenderable": "true" 467 }, 468 "MTLPixelFormatR8Sint":{ 469 "filterable": "false", 470 "writable": "true", 471 "blendable": "false", 472 "multisample": "true", 473 "resolve": "false", 474 "colorRenderable": "true" 475 }, 476 "MTLPixelFormatR16Uint":{ 477 "filterable": "false", 478 "writable": "true", 479 "blendable": "false", 480 "multisample": "true", 481 "resolve": "false", 482 "colorRenderable": "true" 483 }, 484 "MTLPixelFormatR16Sint":{ 485 "filterable": "false", 486 "writable": "true", 487 "blendable": "false", 488 "multisample": "true", 489 "resolve": "false", 490 "colorRenderable": "true" 491 }, 492 "MTLPixelFormatRG8Uint":{ 493 "filterable": "false", 494 "writable": "true", 495 "blendable": "false", 496 "multisample": "true", 497 "resolve": "false", 498 "colorRenderable": "true" 499 }, 500 "MTLPixelFormatRG8Sint":{ 501 "filterable": "false", 502 "writable": "true", 503 "blendable": "false", 504 "multisample": "true", 505 "resolve": "false", 506 "colorRenderable": "true" 507 }, 508 "MTLPixelFormatR32Uint":{ 509 "filterable": "false", 510 "writable": "true", 511 "blendable": "false", 512 "multisample": "display->supportsMacGPUFamily(1)", 513 "resolve": "false", 514 "colorRenderable": "true" 515 }, 516 "MTLPixelFormatR32Sint":{ 517 "filterable": "false", 518 "writable": "true", 519 "blendable": "false", 520 "multisample": "display->supportsMacGPUFamily(1)", 521 "resolve": "false", 522 "colorRenderable": "true" 523 }, 524 "MTLPixelFormatRG16Uint":{ 525 "filterable": "false", 526 "writable": "true", 527 "blendable": "false", 528 "multisample": "true", 529 "resolve": "false", 530 "colorRenderable": "true" 531 }, 532 "MTLPixelFormatRG16Sint":{ 533 "filterable": "false", 534 "writable": "true", 535 "blendable": "false", 536 "multisample": "true", 537 "resolve": "false", 538 "colorRenderable": "true" 539 }, 540 "MTLPixelFormatRGBA8Uint":{ 541 "filterable": "false", 542 "writable": "true", 543 "blendable": "false", 544 "multisample": "true", 545 "resolve": "false", 546 "colorRenderable": "true" 547 }, 548 "MTLPixelFormatRGBA8Sint":{ 549 "filterable": "false", 550 "writable": "true", 551 "blendable": "false", 552 "multisample": "true", 553 "resolve": "false", 554 "colorRenderable": "true" 555 }, 556 "MTLPixelFormatRG32Uint":{ 557 "filterable": "false", 558 "writable": "true", 559 "blendable": "false", 560 "multisample": "display->supportsEitherGPUFamily(7, 1)", 561 "resolve": "false", 562 "colorRenderable": "true" 563 }, 564 "MTLPixelFormatRG32Sint":{ 565 "filterable": "false", 566 "writable": "true", 567 "blendable": "false", 568 "multisample": "display->supportsEitherGPUFamily(7, 1)", 569 "resolve": "false", 570 "colorRenderable": "true" 571 }, 572 "MTLPixelFormatRGBA16Uint":{ 573 "filterable": "false", 574 "writable": "true", 575 "blendable": "false", 576 "multisample": "true", 577 "resolve": "false", 578 "colorRenderable": "true" 579 }, 580 "MTLPixelFormatRGBA16Sint":{ 581 "filterable": "false", 582 "writable": "true", 583 "blendable": "false", 584 "multisample": "true", 585 "resolve": "false", 586 "colorRenderable": "true" 587 }, 588 "MTLPixelFormatRGBA32Uint":{ 589 "filterable": "false", 590 "writable": "true", 591 "blendable": "false", 592 "multisample": "display->supportsMacGPUFamily(1)", 593 "resolve": "false", 594 "colorRenderable": "true" 595 }, 596 "MTLPixelFormatRGBA32Sint":{ 597 "filterable": "false", 598 "writable": "true", 599 "blendable": "false", 600 "multisample": "display->supportsMacGPUFamily(1)", 601 "resolve": "false", 602 "colorRenderable": "true" 603 }, 604 "MTLPixelFormatRG32Float":{ 605 "filterable": "display->supportsMacGPUFamily(1)", 606 "writable": "true", 607 "blendable": "true", 608 "multisample": "display->supportsEitherGPUFamily(7, 1)", 609 "resolve": "display->supportsMacGPUFamily(1)", 610 "colorRenderable": "true" 611 }, 612 "MTLPixelFormatRGBA32Float":{ 613 "filterable": "display->supportsMacGPUFamily(1)", 614 "writable": "true", 615 "blendable": "display->supportsMacGPUFamily(1)", 616 "multisample": "display->supportsEitherGPUFamily(7, 1)", 617 "resolve": "display->supportsMacGPUFamily(1)", 618 "colorRenderable": "true" 619 }, 620 "MTLPixelFormatDepth32Float":{ 621 "filterable": "display->supports32BitFloatFiltering()", 622 "writable": "false", 623 "blendable": "false", 624 "multisample": "true", 625 "resolve": "supportDepthAutoResolve", 626 "colorRenderable": "false", 627 "depthRenderable": "true" 628 }, 629 "MTLPixelFormatStencil8":{ 630 "filterable": "false", 631 "writable": "false", 632 "blendable": "false", 633 "multisample": "true", 634 "resolve": "false", 635 "colorRenderable": "false", 636 "depthRenderable": "true" 637 }, 638 "MTLPixelFormatDepth32Float_Stencil8":{ 639 "filterable": "display->supports32BitFloatFiltering()", 640 "writable": "false", 641 "blendable": "false", 642 "multisample": "true", 643 "resolve": "supportDepthStencilAutoResolve", 644 "colorRenderable": "false", 645 "depthRenderable": "true" 646 } 647 }, 648 "caps_mac": { 649 "MTLPixelFormatDepth16Unorm":{ 650 "filterable": "true", 651 "writable": "false", 652 "blendable": "false", 653 "multisample": "true", 654 "resolve": "supportDepthAutoResolve", 655 "colorRenderable": "false", 656 "depthRenderable": "true" 657 }, 658 "MTLPixelFormatDepth24Unorm_Stencil8":{ 659 "filterable": "display->supportsMacGPUFamily(1) && display->supportsDepth24Stencil8PixelFormat()", 660 "writable": "false", 661 "blendable": "false", 662 "multisample": "true", 663 "resolve": "supportDepthStencilAutoResolve", 664 "colorRenderable": "false", 665 "depthRenderable": "display->supportsMacGPUFamily(1) && display->supportsDepth24Stencil8PixelFormat()" 666 }, 667 "MTLPixelFormatBC1_RGBA":{ 668 "filterable": "true" 669 }, 670 "MTLPixelFormatBC1_RGBA_sRGB":{ 671 "filterable": "true" 672 }, 673 "MTLPixelFormatBC2_RGBA":{ 674 "filterable": "true" 675 }, 676 "MTLPixelFormatBC2_RGBA_sRGB":{ 677 "filterable": "true" 678 }, 679 "MTLPixelFormatBC3_RGBA":{ 680 "filterable": "true" 681 }, 682 "MTLPixelFormatBC3_RGBA_sRGB":{ 683 "filterable": "true" 684 }, 685 "MTLPixelFormatBC4_RUnorm":{ 686 "filterable": "true" 687 }, 688 "MTLPixelFormatBC4_RSnorm":{ 689 "filterable": "true" 690 }, 691 "MTLPixelFormatBC5_RGUnorm":{ 692 "filterable": "true" 693 }, 694 "MTLPixelFormatBC5_RGSnorm":{ 695 "filterable": "true" 696 }, 697 "MTLPixelFormatBC6H_RGBUfloat":{ 698 "filterable": "true" 699 }, 700 "MTLPixelFormatBC6H_RGBFloat":{ 701 "filterable": "true" 702 }, 703 "MTLPixelFormatBC7_RGBAUnorm":{ 704 "filterable": "true" 705 }, 706 "MTLPixelFormatBC7_RGBAUnorm_sRGB":{ 707 "filterable": "true" 708 } 709 }, 710 "caps_ios_platform": { 711 "MTLPixelFormatDepth16Unorm":{ 712 "filterable": "true", 713 "writable": "false", 714 "blendable": "false", 715 "multisample": "true", 716 "resolve": "supportDepthAutoResolve", 717 "colorRenderable": "false", 718 "depthRenderable": "true" 719 }, 720 "MTLPixelFormatR8Unorm_sRGB":{ 721 "filterable": "display->supportsAppleGPUFamily(1)", 722 "writable": "display->supportsAppleGPUFamily(2)", 723 "blendable": "display->supportsAppleGPUFamily(1)", 724 "multisample": "display->supportsAppleGPUFamily(1)", 725 "resolve": "display->supportsAppleGPUFamily(1)", 726 "colorRenderable": "display->supportsAppleGPUFamily(1)" 727 }, 728 "MTLPixelFormatRG8Unorm_sRGB":{ 729 "filterable": "display->supportsAppleGPUFamily(1)", 730 "writable": "display->supportsAppleGPUFamily(2)", 731 "blendable": "display->supportsAppleGPUFamily(1)", 732 "multisample": "display->supportsAppleGPUFamily(1)", 733 "resolve": "display->supportsAppleGPUFamily(1)", 734 "colorRenderable": "display->supportsAppleGPUFamily(1)" 735 }, 736 "MTLPixelFormatB5G6R5Unorm":{ 737 "filterable": "display->supportsAppleGPUFamily(1)", 738 "writable": "false", 739 "blendable": "display->supportsAppleGPUFamily(1)", 740 "multisample": "display->supportsAppleGPUFamily(1)", 741 "resolve": "display->supportsAppleGPUFamily(1)", 742 "colorRenderable": "display->supportsAppleGPUFamily(1)" 743 }, 744 "MTLPixelFormatABGR4Unorm":{ 745 "filterable": "display->supportsAppleGPUFamily(1)", 746 "writable": "false", 747 "blendable": "display->supportsAppleGPUFamily(1)", 748 "multisample": "display->supportsAppleGPUFamily(1)", 749 "resolve": "display->supportsAppleGPUFamily(1)", 750 "colorRenderable": "display->supportsAppleGPUFamily(1)" 751 }, 752 "MTLPixelFormatBGR5A1Unorm":{ 753 "filterable": "display->supportsAppleGPUFamily(1)", 754 "writable": "false", 755 "blendable": "display->supportsAppleGPUFamily(1)", 756 "multisample": "display->supportsAppleGPUFamily(1)", 757 "resolve": "display->supportsAppleGPUFamily(1)", 758 "colorRenderable": "display->supportsAppleGPUFamily(1)" 759 }, 760 "MTLPixelFormatA1BGR5Unorm":{ 761 "filterable": "display->supportsAppleGPUFamily(1)", 762 "writable": "false", 763 "blendable": "display->supportsAppleGPUFamily(1)", 764 "multisample": "display->supportsAppleGPUFamily(1)", 765 "resolve": "display->supportsAppleGPUFamily(1)", 766 "colorRenderable": "display->supportsAppleGPUFamily(1)" 767 }, 768 "MTLPixelFormatPVRTC_RGB_4BPP":{ 769 "filterable": "display->supportsAppleGPUFamily(1)" 770 }, 771 "MTLPixelFormatPVRTC_RGB_2BPP":{ 772 "filterable": "display->supportsAppleGPUFamily(1)" 773 }, 774 "MTLPixelFormatPVRTC_RGBA_4BPP":{ 775 "filterable": "display->supportsAppleGPUFamily(1)" 776 }, 777 "MTLPixelFormatPVRTC_RGBA_2BPP":{ 778 "filterable": "display->supportsAppleGPUFamily(1)" 779 }, 780 "MTLPixelFormatPVRTC_RGB_2BPP_sRGB":{ 781 "filterable": "display->supportsAppleGPUFamily(1)" 782 }, 783 "MTLPixelFormatPVRTC_RGB_4BPP_sRGB":{ 784 "filterable": "display->supportsAppleGPUFamily(1)" 785 }, 786 "MTLPixelFormatPVRTC_RGBA_2BPP_sRGB":{ 787 "filterable": "display->supportsAppleGPUFamily(1)" 788 }, 789 "MTLPixelFormatPVRTC_RGBA_4BPP_sRGB":{ 790 "filterable": "display->supportsAppleGPUFamily(1)" 791 }, 792 "MTLPixelFormatETC2_RGB8":{ 793 "filterable": "display->supportsAppleGPUFamily(1)" 794 }, 795 "MTLPixelFormatETC2_RGB8_sRGB":{ 796 "filterable": "display->supportsAppleGPUFamily(1)" 797 }, 798 "MTLPixelFormatETC2_RGB8A1":{ 799 "filterable": "display->supportsAppleGPUFamily(1)" 800 }, 801 "MTLPixelFormatETC2_RGB8A1_sRGB":{ 802 "filterable": "display->supportsAppleGPUFamily(1)" 803 }, 804 "MTLPixelFormatEAC_RGBA8":{ 805 "filterable": "display->supportsAppleGPUFamily(1)" 806 }, 807 "MTLPixelFormatEAC_RGBA8_sRGB":{ 808 "filterable": "display->supportsAppleGPUFamily(1)" 809 }, 810 "MTLPixelFormatEAC_R11Unorm":{ 811 "filterable": "display->supportsAppleGPUFamily(1)" 812 }, 813 "MTLPixelFormatEAC_R11Snorm":{ 814 "filterable": "display->supportsAppleGPUFamily(1)" 815 }, 816 "MTLPixelFormatEAC_RG11Unorm":{ 817 "filterable": "display->supportsAppleGPUFamily(1)" 818 }, 819 "MTLPixelFormatEAC_RG11Snorm":{ 820 "filterable": "display->supportsAppleGPUFamily(1)" 821 }, 822 "MTLPixelFormatASTC_4x4_LDR":{ 823 "filterable": "display->supportsAppleGPUFamily(2)" 824 }, 825 "MTLPixelFormatASTC_4x4_sRGB":{ 826 "filterable": "display->supportsAppleGPUFamily(2)" 827 }, 828 "MTLPixelFormatASTC_5x4_LDR":{ 829 "filterable": "display->supportsAppleGPUFamily(2)" 830 }, 831 "MTLPixelFormatASTC_5x4_sRGB":{ 832 "filterable": "display->supportsAppleGPUFamily(2)" 833 }, 834 "MTLPixelFormatASTC_5x5_LDR":{ 835 "filterable": "display->supportsAppleGPUFamily(2)" 836 }, 837 "MTLPixelFormatASTC_5x5_sRGB":{ 838 "filterable": "display->supportsAppleGPUFamily(2)" 839 }, 840 "MTLPixelFormatASTC_6x5_LDR":{ 841 "filterable": "display->supportsAppleGPUFamily(2)" 842 }, 843 "MTLPixelFormatASTC_6x5_sRGB":{ 844 "filterable": "display->supportsAppleGPUFamily(2)" 845 }, 846 "MTLPixelFormatASTC_6x6_LDR":{ 847 "filterable": "display->supportsAppleGPUFamily(2)" 848 }, 849 "MTLPixelFormatASTC_6x6_sRGB":{ 850 "filterable": "display->supportsAppleGPUFamily(2)" 851 }, 852 "MTLPixelFormatASTC_8x5_LDR":{ 853 "filterable": "display->supportsAppleGPUFamily(2)" 854 }, 855 "MTLPixelFormatASTC_8x5_sRGB":{ 856 "filterable": "display->supportsAppleGPUFamily(2)" 857 }, 858 "MTLPixelFormatASTC_8x6_LDR":{ 859 "filterable": "display->supportsAppleGPUFamily(2)" 860 }, 861 "MTLPixelFormatASTC_8x6_sRGB":{ 862 "filterable": "display->supportsAppleGPUFamily(2)" 863 }, 864 "MTLPixelFormatASTC_8x8_LDR":{ 865 "filterable": "display->supportsAppleGPUFamily(2)" 866 }, 867 "MTLPixelFormatASTC_8x8_sRGB":{ 868 "filterable": "display->supportsAppleGPUFamily(2)" 869 }, 870 "MTLPixelFormatASTC_10x5_LDR":{ 871 "filterable": "display->supportsAppleGPUFamily(2)" 872 }, 873 "MTLPixelFormatASTC_10x5_sRGB":{ 874 "filterable": "display->supportsAppleGPUFamily(2)" 875 }, 876 "MTLPixelFormatASTC_10x6_LDR":{ 877 "filterable": "display->supportsAppleGPUFamily(2)" 878 }, 879 "MTLPixelFormatASTC_10x6_sRGB":{ 880 "filterable": "display->supportsAppleGPUFamily(2)" 881 }, 882 "MTLPixelFormatASTC_10x8_LDR":{ 883 "filterable": "display->supportsAppleGPUFamily(2)" 884 }, 885 "MTLPixelFormatASTC_10x8_sRGB":{ 886 "filterable": "display->supportsAppleGPUFamily(2)" 887 }, 888 "MTLPixelFormatASTC_10x10_LDR":{ 889 "filterable": "display->supportsAppleGPUFamily(2)" 890 }, 891 "MTLPixelFormatASTC_10x10_sRGB":{ 892 "filterable": "display->supportsAppleGPUFamily(2)" 893 }, 894 "MTLPixelFormatASTC_12x10_LDR":{ 895 "filterable": "display->supportsAppleGPUFamily(2)" 896 }, 897 "MTLPixelFormatASTC_12x10_sRGB":{ 898 "filterable": "display->supportsAppleGPUFamily(2)" 899 }, 900 "MTLPixelFormatASTC_12x12_LDR":{ 901 "filterable": "display->supportsAppleGPUFamily(2)" 902 }, 903 "MTLPixelFormatASTC_12x12_sRGB":{ 904 "filterable": "display->supportsAppleGPUFamily(2)" 905 } 906 }, 907 "caps_ios_specific" : 908 { 909 "MTLPixelFormatASTC_4x4_HDR":{ 910 "filterable": "display->supportsAppleGPUFamily(6)" 911 }, 912 "MTLPixelFormatASTC_5x4_HDR":{ 913 "filterable": "display->supportsAppleGPUFamily(6)" 914 }, 915 "MTLPixelFormatASTC_5x5_HDR":{ 916 "filterable": "display->supportsAppleGPUFamily(6)" 917 }, 918 "MTLPixelFormatASTC_6x5_HDR":{ 919 "filterable": "display->supportsAppleGPUFamily(6)" 920 }, 921 "MTLPixelFormatASTC_6x6_HDR":{ 922 "filterable": "display->supportsAppleGPUFamily(6)" 923 }, 924 "MTLPixelFormatASTC_8x5_HDR":{ 925 "filterable": "display->supportsAppleGPUFamily(6)" 926 }, 927 "MTLPixelFormatASTC_8x6_HDR":{ 928 "filterable": "display->supportsAppleGPUFamily(6)" 929 }, 930 "MTLPixelFormatASTC_8x8_HDR":{ 931 "filterable": "display->supportsAppleGPUFamily(6)" 932 }, 933 "MTLPixelFormatASTC_10x5_HDR":{ 934 "filterable": "display->supportsAppleGPUFamily(6)" 935 }, 936 "MTLPixelFormatASTC_10x6_HDR":{ 937 "filterable": "display->supportsAppleGPUFamily(6)" 938 }, 939 "MTLPixelFormatASTC_10x8_HDR":{ 940 "filterable": "display->supportsAppleGPUFamily(6)" 941 }, 942 "MTLPixelFormatASTC_10x10_HDR":{ 943 "filterable": "display->supportsAppleGPUFamily(6)" 944 }, 945 "MTLPixelFormatASTC_12x10_HDR":{ 946 "filterable": "display->supportsAppleGPUFamily(6)" 947 }, 948 "MTLPixelFormatASTC_12x12_HDR":{ 949 "filterable": "display->supportsAppleGPUFamily(6)" 950 } 951 } 952 }, 953 "vertex": { 954 "description": [ 955 "- This section contains vertex format mapping between OpenGL and Metal similar to", 956 "image formats above", 957 "- override_tightly_packed is special emulation for those formats whose sizes", 958 "are not multiples of 4 bytes. They will be converted to appropriate 4 bytes aligned", 959 "formats.", 960 "This emulation is useful for the cases in which the stride of a vertex attribute", 961 "is required to be multiples of 4." 962 ], 963 "map": { 964 "NONE": "MTLVertexFormatInvalid", 965 "R8_UNORM": "MTLVertexFormatUCharNormalized", 966 "R8_SNORM": "MTLVertexFormatCharNormalized", 967 "R8_UINT": "MTLVertexFormatUChar", 968 "R8_SINT": "MTLVertexFormatChar", 969 "R8_USCALED": "MTLVertexFormatUChar", 970 "R8_SSCALED": "MTLVertexFormatChar", 971 "R8G8_UNORM": "MTLVertexFormatUChar2Normalized", 972 "R8G8_SNORM": "MTLVertexFormatChar2Normalized", 973 "R8G8_UINT": "MTLVertexFormatUChar2", 974 "R8G8_SINT": "MTLVertexFormatChar2", 975 "R8G8_USCALED": "MTLVertexFormatUChar2", 976 "R8G8_SSCALED": "MTLVertexFormatChar2", 977 "R8G8B8_UNORM": "MTLVertexFormatUChar3Normalized", 978 "R8G8B8_SNORM": "MTLVertexFormatChar3Normalized", 979 "R8G8B8_UINT": "MTLVertexFormatUChar3", 980 "R8G8B8_SINT": "MTLVertexFormatChar3", 981 "R8G8B8_USCALED": "MTLVertexFormatUChar3", 982 "R8G8B8_SSCALED": "MTLVertexFormatChar3", 983 "R8G8B8A8_UNORM": "MTLVertexFormatUChar4Normalized", 984 "R8G8B8A8_SNORM": "MTLVertexFormatChar4Normalized", 985 "R8G8B8A8_UINT": "MTLVertexFormatUChar4", 986 "R8G8B8A8_SINT": "MTLVertexFormatChar4", 987 "R8G8B8A8_USCALED": "MTLVertexFormatUChar4", 988 "R8G8B8A8_SSCALED": "MTLVertexFormatChar4", 989 990 "R16_UNORM": "MTLVertexFormatUShortNormalized", 991 "R16_SNORM": "MTLVertexFormatShortNormalized", 992 "R16_UINT": "MTLVertexFormatUShort", 993 "R16_SINT": "MTLVertexFormatShort", 994 "R16_USCALED": "MTLVertexFormatUShort", 995 "R16_SSCALED": "MTLVertexFormatShort", 996 "R16G16_UNORM": "MTLVertexFormatUShort2Normalized", 997 "R16G16_SNORM": "MTLVertexFormatShort2Normalized", 998 "R16G16_UINT": "MTLVertexFormatUShort2", 999 "R16G16_SINT": "MTLVertexFormatShort2", 1000 "R16G16_USCALED": "MTLVertexFormatUShort2", 1001 "R16G16_SSCALED": "MTLVertexFormatShort2", 1002 "R16G16B16_UNORM": "MTLVertexFormatUShort3Normalized", 1003 "R16G16B16_SNORM": "MTLVertexFormatShort3Normalized", 1004 "R16G16B16_UINT": "MTLVertexFormatUShort3", 1005 "R16G16B16_SINT": "MTLVertexFormatShort3", 1006 "R16G16B16_USCALED": "MTLVertexFormatUShort3", 1007 "R16G16B16_SSCALED": "MTLVertexFormatShort3", 1008 "R16G16B16A16_UNORM": "MTLVertexFormatUShort4Normalized", 1009 "R16G16B16A16_SNORM": "MTLVertexFormatShort4Normalized", 1010 "R16G16B16A16_UINT": "MTLVertexFormatUShort4", 1011 "R16G16B16A16_SINT": "MTLVertexFormatShort4", 1012 "R16G16B16A16_USCALED": "MTLVertexFormatUShort4", 1013 "R16G16B16A16_SSCALED": "MTLVertexFormatShort4", 1014 1015 "R32_UINT": "MTLVertexFormatUInt", 1016 "R32_SINT": "MTLVertexFormatInt", 1017 "R32G32_UINT": "MTLVertexFormatUInt2", 1018 "R32G32_SINT": "MTLVertexFormatInt2", 1019 "R32G32B32_UINT": "MTLVertexFormatUInt3", 1020 "R32G32B32_SINT": "MTLVertexFormatInt3", 1021 "R32G32B32A32_UINT": "MTLVertexFormatUInt4", 1022 "R32G32B32A32_SINT": "MTLVertexFormatInt4", 1023 1024 "R16_FLOAT": "MTLVertexFormatHalf", 1025 "R16G16_FLOAT": "MTLVertexFormatHalf2", 1026 "R16G16B16_FLOAT": "MTLVertexFormatHalf3", 1027 "R16G16B16A16_FLOAT": "MTLVertexFormatHalf4", 1028 1029 "R32_FLOAT": "MTLVertexFormatFloat", 1030 "R32G32_FLOAT": "MTLVertexFormatFloat2", 1031 "R32G32B32_FLOAT": "MTLVertexFormatFloat3", 1032 "R32G32B32A32_FLOAT": "MTLVertexFormatFloat4", 1033 1034 "R10G10B10A2_SNORM": "MTLVertexFormatInt1010102Normalized", 1035 "R10G10B10A2_UNORM": "MTLVertexFormatUInt1010102Normalized" 1036 }, 1037 "override": { 1038 "R32_FIXED": "R32_FLOAT", 1039 "R32_UNORM": "R32_FLOAT", 1040 "R32_SNORM": "R32_FLOAT", 1041 "R32_USCALED": "R32_FLOAT", 1042 "R32_SSCALED": "R32_FLOAT", 1043 "R32G32_FIXED": "R32G32_FLOAT", 1044 "R32G32_UNORM": "R32G32_FLOAT", 1045 "R32G32_SNORM": "R32G32_FLOAT", 1046 "R32G32_USCALED": "R32G32_FLOAT", 1047 "R32G32_SSCALED": "R32G32_FLOAT", 1048 "R32G32B32_FIXED": "R32G32B32_FLOAT", 1049 "R32G32B32_UNORM": "R32G32B32_FLOAT", 1050 "R32G32B32_SNORM": "R32G32B32_FLOAT", 1051 "R32G32B32_USCALED": "R32G32B32_FLOAT", 1052 "R32G32B32_SSCALED": "R32G32B32_FLOAT", 1053 "R32G32B32A32_FIXED": "R32G32B32A32_FLOAT", 1054 "R32G32B32A32_UNORM": "R32G32B32A32_FLOAT", 1055 "R32G32B32A32_SNORM": "R32G32B32A32_FLOAT", 1056 "R32G32B32A32_USCALED": "R32G32B32A32_FLOAT", 1057 "R32G32B32A32_SSCALED": "R32G32B32A32_FLOAT", 1058 "R10G10B10A2_SINT": "R32G32B32A32_FLOAT", 1059 "R10G10B10A2_SSCALED": "R32G32B32A32_FLOAT", 1060 "R10G10B10A2_UINT": "R32G32B32A32_FLOAT", 1061 "R10G10B10A2_USCALED": "R32G32B32A32_FLOAT" 1062 }, 1063 "override_tightly_packed": { 1064 "R16_FLOAT": "R16G16_FLOAT", 1065 "R16_UNORM": "R16G16_UNORM", 1066 "R16_SNORM": "R16G16_SNORM", 1067 "R16_UINT": "R16G16_UINT", 1068 "R16_SINT": "R16G16_SINT", 1069 "R16_USCALED": "R16G16_UINT", 1070 "R16_SSCALED": "R16G16_SINT", 1071 "R16G16B16_FLOAT": "R16G16B16A16_FLOAT", 1072 "R16G16B16_UNORM": "R16G16B16A16_UNORM", 1073 "R16G16B16_SNORM": "R16G16B16A16_SNORM", 1074 "R16G16B16_UINT": "R16G16B16A16_UINT", 1075 "R16G16B16_SINT": "R16G16B16A16_SINT", 1076 "R16G16B16_USCALED": "R16G16B16A16_UINT", 1077 "R16G16B16_SSCALED": "R16G16B16A16_SINT", 1078 "R8_UNORM": "R8G8B8A8_UNORM", 1079 "R8_SNORM": "R8G8B8A8_SNORM", 1080 "R8_UINT": "R8G8B8A8_UINT", 1081 "R8_SINT": "R8G8B8A8_SINT", 1082 "R8_USCALED": "R8G8B8A8_UINT", 1083 "R8_SSCALED": "R8G8B8A8_SINT", 1084 "R8G8_UNORM": "R8G8B8A8_UNORM", 1085 "R8G8_SNORM": "R8G8B8A8_SNORM", 1086 "R8G8_UINT": "R8G8B8A8_UINT", 1087 "R8G8_SINT": "R8G8B8A8_SINT", 1088 "R8G8_USCALED": "R8G8B8A8_UINT", 1089 "R8G8_SSCALED": "R8G8B8A8_SINT", 1090 "R8G8B8_UNORM": "R8G8B8A8_UNORM", 1091 "R8G8B8_SNORM": "R8G8B8A8_SNORM", 1092 "R8G8B8_UINT": "R8G8B8A8_UINT", 1093 "R8G8B8_SINT": "R8G8B8A8_SINT", 1094 "R8G8B8_USCALED": "R8G8B8A8_UINT", 1095 "R8G8B8_SSCALED": "R8G8B8A8_SINT" 1096 } 1097 } 1098} 1099