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 }, 171 "map_bc": { 172 "BC1_RGBA_UNORM_BLOCK": "MTLPixelFormatBC1_RGBA", 173 "BC1_RGBA_UNORM_SRGB_BLOCK": "MTLPixelFormatBC1_RGBA_sRGB", 174 "BC2_RGBA_UNORM_BLOCK": "MTLPixelFormatBC2_RGBA", 175 "BC2_RGBA_UNORM_SRGB_BLOCK": "MTLPixelFormatBC2_RGBA_sRGB", 176 "BC3_RGBA_UNORM_BLOCK": "MTLPixelFormatBC3_RGBA", 177 "BC3_RGBA_UNORM_SRGB_BLOCK": "MTLPixelFormatBC3_RGBA_sRGB", 178 "BC4_RED_UNORM_BLOCK": "MTLPixelFormatBC4_RUnorm", 179 "BC4_RED_SNORM_BLOCK": "MTLPixelFormatBC4_RSnorm", 180 "BC5_RG_UNORM_BLOCK": "MTLPixelFormatBC5_RGUnorm", 181 "BC5_RG_SNORM_BLOCK": "MTLPixelFormatBC5_RGSnorm", 182 "BC6H_RGB_UFLOAT_BLOCK": "MTLPixelFormatBC6H_RGBUfloat", 183 "BC6H_RGB_SFLOAT_BLOCK": "MTLPixelFormatBC6H_RGBFloat", 184 "BC7_RGBA_UNORM_BLOCK": "MTLPixelFormatBC7_RGBAUnorm", 185 "BC7_RGBA_UNORM_SRGB_BLOCK": "MTLPixelFormatBC7_RGBAUnorm_sRGB" 186 }, 187 "override": { 188 "L8_UNORM": "R8G8B8A8_UNORM", 189 "L8A8_UNORM": "R8G8B8A8_UNORM", 190 "L4A4_UNORM": "R8G8B8A8_UNORM", 191 "B8G8R8X8_UNORM": "B8G8R8A8_UNORM", 192 "B8G8R8X8_UNORM_SRGB": "B8G8R8A8_UNORM_SRGB", 193 "R8G8B8_UNORM": "R8G8B8A8_UNORM", 194 "R8G8B8X8_UNORM": "R8G8B8A8_UNORM", 195 "R8G8B8X8_UNORM_SRGB": "R8G8B8A8_UNORM_SRGB", 196 "R8G8B8_SNORM": "R8G8B8A8_SNORM", 197 "R8G8B8_UINT": "R8G8B8A8_UINT", 198 "R8G8B8_SINT": "R8G8B8A8_SINT", 199 "R8G8B8_UNORM_SRGB": "R8G8B8A8_UNORM_SRGB", 200 "R32G32B32_FLOAT": "R32G32B32A32_FLOAT", 201 "R32G32B32_UINT": "R32G32B32A32_UINT", 202 "R32G32B32_SINT": "R32G32B32A32_SINT", 203 "R16G16B16_FLOAT": "R16G16B16A16_FLOAT", 204 "R16G16B16_UINT": "R16G16B16A16_UINT", 205 "R16G16B16_SINT": "R16G16B16A16_SINT", 206 "R16G16B16_UNORM": "R16G16B16A16_UNORM", 207 "R16G16B16_SNORM": "R16G16B16A16_SNORM", 208 "A16_FLOAT": "R16G16B16A16_FLOAT", 209 "L16_FLOAT": "R16G16B16A16_FLOAT", 210 "L16A16_FLOAT": "R16G16B16A16_FLOAT", 211 "A32_FLOAT": "R32G32B32A32_FLOAT", 212 "L32_FLOAT": "R32G32B32A32_FLOAT", 213 "L32A32_FLOAT": "R32G32B32A32_FLOAT", 214 "D24_UNORM_X8_UINT": "D32_FLOAT", 215 "D32_UNORM": "D32_FLOAT" 216 }, 217 "override_mac": { 218 }, 219 "override_ios": { 220 "D24_UNORM_S8_UINT": "D32_FLOAT_S8X24_UINT" 221 }, 222 "override_sim": { 223 "R5G6B5_UNORM": "R8G8B8A8_UNORM", 224 "R5G5B5A1_UNORM": "R8G8B8A8_UNORM", 225 "D24_UNORM_S8_UINT": "D32_FLOAT_S8X24_UINT", 226 "R4G4B4A4_UNORM": "R8G8B8A8_UNORM", 227 "D16_UNORM": "D32_FLOAT" 228 }, 229 "override_bc1": { 230 "BC1_RGB_UNORM_BLOCK": { 231 "default": "BC1_RGBA_UNORM_BLOCK", 232 "swizzle": ["RGB1", "BC1_RGBA_UNORM_BLOCK"] 233 }, 234 "BC1_RGB_UNORM_SRGB_BLOCK": { 235 "default": "BC1_RGBA_UNORM_SRGB_BLOCK", 236 "swizzle": ["RGB1", "BC1_RGBA_UNORM_SRGB_BLOCK"] 237 } 238 }, 239 "override_mac_es3": { 240 "R5G6B5_UNORM": "R8G8B8A8_UNORM", 241 "R5G5B5A1_UNORM": "R8G8B8A8_UNORM", 242 "R4G4B4A4_UNORM": "R8G8B8A8_UNORM", 243 "ETC1_R8G8B8_UNORM_BLOCK": "R8G8B8A8_UNORM", 244 "ETC2_R8G8B8_UNORM_BLOCK": "R8G8B8A8_UNORM", 245 "ETC2_R8G8B8_SRGB_BLOCK": "R8G8B8A8_UNORM_SRGB", 246 "ETC2_R8G8B8A1_UNORM_BLOCK": "R8G8B8A8_UNORM", 247 "ETC2_R8G8B8A1_SRGB_BLOCK": "R8G8B8A8_UNORM_SRGB", 248 "ETC2_R8G8B8A8_UNORM_BLOCK": "R8G8B8A8_UNORM", 249 "ETC2_R8G8B8A8_SRGB_BLOCK": "R8G8B8A8_UNORM_SRGB", 250 "EAC_R11_UNORM_BLOCK": "R16_UNORM", 251 "EAC_R11_SNORM_BLOCK": "R16_SNORM", 252 "EAC_R11G11_UNORM_BLOCK": "R16G16_UNORM", 253 "EAC_R11G11_SNORM_BLOCK": "R16G16_SNORM" 254 }, 255 "depth_fallbacks_mac": { 256 "D24_UNORM_S8_UINT": { 257 "format": "D32_FLOAT_S8X24_UINT", 258 "condition": "metalDevice.depth24Stencil8PixelFormatSupported && !display->getFeatures().forceD24S8AsUnsupported.enabled" 259 }, 260 "D16_UNORM": { 261 "format": "D32_FLOAT", 262 "condition": "display->supportsAppleGPUFamily(1)" 263 } 264 }, 265 "caps": { 266 "MTLPixelFormatA8Unorm":{ 267 "filterable": "true", 268 "writable": "false", 269 "blendable": "false", 270 "multisample": "false", 271 "resolve": "false", 272 "colorRenderable": "false" 273 }, 274 "MTLPixelFormatR8Unorm":{ 275 "filterable": "true", 276 "writable": "true", 277 "blendable": "true", 278 "multisample": "true", 279 "resolve": "true", 280 "colorRenderable": "true" 281 }, 282 "MTLPixelFormatR8Snorm":{ 283 "filterable": "true", 284 "writable": "true", 285 "blendable": "true", 286 "multisample": "true", 287 "resolve": "display->supportsEitherGPUFamily(2, 1)", 288 "colorRenderable": "true" 289 }, 290 "MTLPixelFormatR16Unorm":{ 291 "filterable": "true", 292 "writable": "true", 293 "blendable": "true", 294 "multisample": "true", 295 "resolve": "display->supportsMacGPUFamily(1)", 296 "colorRenderable": "true" 297 }, 298 "MTLPixelFormatR16Snorm":{ 299 "filterable": "true", 300 "writable": "true", 301 "blendable": "true", 302 "multisample": "true", 303 "resolve": "display->supportsMacGPUFamily(1)", 304 "colorRenderable": "true" 305 }, 306 "MTLPixelFormatRG8Unorm":{ 307 "filterable": "true", 308 "writable": "true", 309 "blendable": "true", 310 "multisample": "true", 311 "resolve": "true", 312 "colorRenderable": "true" 313 }, 314 "MTLPixelFormatRG8Snorm":{ 315 "filterable": "true", 316 "writable": "true", 317 "blendable": "true", 318 "multisample": "true", 319 "resolve": "display->supportsEitherGPUFamily(2, 1)", 320 "colorRenderable": "true" 321 }, 322 "MTLPixelFormatRG16Unorm":{ 323 "filterable": "true", 324 "writable": "true", 325 "blendable": "true", 326 "multisample": "true", 327 "resolve": "display->supportsMacGPUFamily(1)", 328 "colorRenderable": "true" 329 }, 330 "MTLPixelFormatRG16Snorm":{ 331 "filterable": "true", 332 "writable": "true", 333 "blendable": "true", 334 "multisample": "true", 335 "resolve": "display->supportsMacGPUFamily(1)", 336 "colorRenderable": "true" 337 }, 338 "MTLPixelFormatRGBA16Unorm":{ 339 "filterable": "true", 340 "writable": "true", 341 "blendable": "true", 342 "multisample": "true", 343 "resolve": "display->supportsMacGPUFamily(1)", 344 "colorRenderable": "true" 345 }, 346 "MTLPixelFormatRGBA16Snorm":{ 347 "filterable": "true", 348 "writable": "true", 349 "blendable": "true", 350 "multisample": "true", 351 "resolve": "display->supportsMacGPUFamily(1)", 352 "colorRenderable": "true" 353 }, 354 "MTLPixelFormatRGBA16Float":{ 355 "filterable": "true", 356 "writable": "true", 357 "blendable": "true", 358 "multisample": "true", 359 "resolve": "true", 360 "colorRenderable": "true" 361 }, 362 "MTLPixelFormatRGBA8Unorm":{ 363 "filterable": "true", 364 "writable": "true", 365 "blendable": "true", 366 "multisample": "true", 367 "resolve": "true", 368 "colorRenderable": "true" 369 }, 370 "MTLPixelFormatRGBA8Unorm_sRGB":{ 371 "filterable": "true", 372 "writable": "display->supportsAppleGPUFamily(2) && !display->isSimulator()", 373 "blendable": "true", 374 "multisample": "true", 375 "resolve": "true", 376 "colorRenderable": "true" 377 }, 378 "MTLPixelFormatRGBA8Snorm":{ 379 "filterable": "true", 380 "writable": "true", 381 "blendable": "true", 382 "multisample": "true", 383 "resolve": "display->supportsEitherGPUFamily(2, 1)", 384 "colorRenderable": "true" 385 }, 386 "MTLPixelFormatBGRA8Unorm":{ 387 "filterable": "true", 388 "writable": "true", 389 "blendable": "true", 390 "multisample": "true", 391 "resolve": "true", 392 "colorRenderable": "true" 393 }, 394 "MTLPixelFormatBGRA8Unorm_sRGB":{ 395 "filterable": "true", 396 "writable": "display->supportsAppleGPUFamily(2) && !display->isSimulator()", 397 "blendable": "true", 398 "multisample": "true", 399 "resolve": "true", 400 "colorRenderable": "true" 401 }, 402 "MTLPixelFormatR16Float":{ 403 "filterable": "true", 404 "writable": "true", 405 "blendable": "true", 406 "multisample": "true", 407 "resolve": "true", 408 "colorRenderable": "true" 409 }, 410 "MTLPixelFormatRG16Float":{ 411 "filterable": "true", 412 "writable": "true", 413 "blendable": "true", 414 "multisample": "true", 415 "resolve": "true", 416 "colorRenderable": "true" 417 }, 418 "MTLPixelFormatR32Float":{ 419 "filterable": "display->supportsMacGPUFamily(1) || (display->supportsAppleGPUFamily(7) && display->supports32BitFloatFiltering())", 420 "writable": "true", 421 "blendable": "true", 422 "multisample": "true", 423 "resolve": "display->supportsMacGPUFamily(1) || (display->supportsAppleGPUFamily(7) && display->supports32BitFloatFiltering())", 424 "colorRenderable": "true" 425 }, 426 "MTLPixelFormatBGR10A2Unorm":{ 427 "filterable": "true", 428 "writable": "display->supportsEitherGPUFamily(3, 1)", 429 "blendable": "true", 430 "multisample": "true", 431 "resolve": "true", 432 "colorRenderable": "true" 433 }, 434 "MTLPixelFormatRGB10A2Unorm":{ 435 "filterable": "true", 436 "writable": "display->supportsEitherGPUFamily(3, 1)", 437 "blendable": "true", 438 "multisample": "true", 439 "resolve": "true", 440 "colorRenderable": "true" 441 }, 442 "MTLPixelFormatRGB10A2Uint":{ 443 "filterable": "false", 444 "writable": "display->supportsEitherGPUFamily(3, 1)", 445 "blendable": "false", 446 "multisample": "true", 447 "resolve": "false", 448 "colorRenderable": "true" 449 }, 450 "MTLPixelFormatRG11B10Float":{ 451 "filterable": "true", 452 "writable": "display->supportsEitherGPUFamily(3, 1)", 453 "blendable": "true", 454 "multisample": "true", 455 "resolve": "true", 456 "colorRenderable": "true" 457 }, 458 "MTLPixelFormatRGB9E5Float":{ 459 "filterable": "true", 460 "writable": "display->supportsAppleGPUFamily(3)", 461 "blendable": "display->supportsAppleGPUFamily(1)", 462 "multisample": "display->supportsAppleGPUFamily(1)", 463 "resolve": "display->supportsAppleGPUFamily(1)", 464 "colorRenderable": "display->supportsAppleGPUFamily(1) && !display->isSimulator()" 465 }, 466 "MTLPixelFormatR8Uint":{ 467 "filterable": "false", 468 "writable": "true", 469 "blendable": "false", 470 "multisample": "true", 471 "resolve": "false", 472 "colorRenderable": "true" 473 }, 474 "MTLPixelFormatR8Sint":{ 475 "filterable": "false", 476 "writable": "true", 477 "blendable": "false", 478 "multisample": "true", 479 "resolve": "false", 480 "colorRenderable": "true" 481 }, 482 "MTLPixelFormatR16Uint":{ 483 "filterable": "false", 484 "writable": "true", 485 "blendable": "false", 486 "multisample": "true", 487 "resolve": "false", 488 "colorRenderable": "true" 489 }, 490 "MTLPixelFormatR16Sint":{ 491 "filterable": "false", 492 "writable": "true", 493 "blendable": "false", 494 "multisample": "true", 495 "resolve": "false", 496 "colorRenderable": "true" 497 }, 498 "MTLPixelFormatRG8Uint":{ 499 "filterable": "false", 500 "writable": "true", 501 "blendable": "false", 502 "multisample": "true", 503 "resolve": "false", 504 "colorRenderable": "true" 505 }, 506 "MTLPixelFormatRG8Sint":{ 507 "filterable": "false", 508 "writable": "true", 509 "blendable": "false", 510 "multisample": "true", 511 "resolve": "false", 512 "colorRenderable": "true" 513 }, 514 "MTLPixelFormatR32Uint":{ 515 "filterable": "false", 516 "writable": "true", 517 "blendable": "false", 518 "multisample": "display->supportsMacGPUFamily(1)", 519 "resolve": "false", 520 "colorRenderable": "true" 521 }, 522 "MTLPixelFormatR32Sint":{ 523 "filterable": "false", 524 "writable": "true", 525 "blendable": "false", 526 "multisample": "display->supportsMacGPUFamily(1)", 527 "resolve": "false", 528 "colorRenderable": "true" 529 }, 530 "MTLPixelFormatRG16Uint":{ 531 "filterable": "false", 532 "writable": "true", 533 "blendable": "false", 534 "multisample": "true", 535 "resolve": "false", 536 "colorRenderable": "true" 537 }, 538 "MTLPixelFormatRG16Sint":{ 539 "filterable": "false", 540 "writable": "true", 541 "blendable": "false", 542 "multisample": "true", 543 "resolve": "false", 544 "colorRenderable": "true" 545 }, 546 "MTLPixelFormatRGBA8Uint":{ 547 "filterable": "false", 548 "writable": "true", 549 "blendable": "false", 550 "multisample": "true", 551 "resolve": "false", 552 "colorRenderable": "true" 553 }, 554 "MTLPixelFormatRGBA8Sint":{ 555 "filterable": "false", 556 "writable": "true", 557 "blendable": "false", 558 "multisample": "true", 559 "resolve": "false", 560 "colorRenderable": "true" 561 }, 562 "MTLPixelFormatRG32Uint":{ 563 "filterable": "false", 564 "writable": "true", 565 "blendable": "false", 566 "multisample": "display->supportsEitherGPUFamily(7, 1)", 567 "resolve": "false", 568 "colorRenderable": "true" 569 }, 570 "MTLPixelFormatRG32Sint":{ 571 "filterable": "false", 572 "writable": "true", 573 "blendable": "false", 574 "multisample": "display->supportsEitherGPUFamily(7, 1)", 575 "resolve": "false", 576 "colorRenderable": "true" 577 }, 578 "MTLPixelFormatRGBA16Uint":{ 579 "filterable": "false", 580 "writable": "true", 581 "blendable": "false", 582 "multisample": "true", 583 "resolve": "false", 584 "colorRenderable": "true" 585 }, 586 "MTLPixelFormatRGBA16Sint":{ 587 "filterable": "false", 588 "writable": "true", 589 "blendable": "false", 590 "multisample": "true", 591 "resolve": "false", 592 "colorRenderable": "true" 593 }, 594 "MTLPixelFormatRGBA32Uint":{ 595 "filterable": "false", 596 "writable": "true", 597 "blendable": "false", 598 "multisample": "display->supportsMacGPUFamily(1)", 599 "resolve": "false", 600 "colorRenderable": "true" 601 }, 602 "MTLPixelFormatRGBA32Sint":{ 603 "filterable": "false", 604 "writable": "true", 605 "blendable": "false", 606 "multisample": "display->supportsMacGPUFamily(1)", 607 "resolve": "false", 608 "colorRenderable": "true" 609 }, 610 "MTLPixelFormatRG32Float":{ 611 "filterable": "display->supportsMacGPUFamily(1) || (display->supportsAppleGPUFamily(7) && display->supports32BitFloatFiltering())", 612 "writable": "true", 613 "blendable": "true", 614 "multisample": "display->supportsEitherGPUFamily(7, 1)", 615 "resolve": "display->supportsMacGPUFamily(1) || (display->supportsAppleGPUFamily(7) && display->supports32BitFloatFiltering())", 616 "colorRenderable": "true" 617 }, 618 "MTLPixelFormatRGBA32Float":{ 619 "filterable": "display->supportsMacGPUFamily(1) || (display->supportsAppleGPUFamily(7) && display->supports32BitFloatFiltering())", 620 "writable": "true", 621 "blendable": "display->supportsMacGPUFamily(1) || (display->supportsAppleGPUFamily(7) && display->supports32BitFloatFiltering())", 622 "multisample": "display->supportsEitherGPUFamily(7, 1)", 623 "resolve": "display->supportsMacGPUFamily(1) || (display->supportsAppleGPUFamily(7) && display->supports32BitFloatFiltering())", 624 "colorRenderable": "true" 625 }, 626 "MTLPixelFormatDepth32Float":{ 627 "filterable": "display->supports32BitFloatFiltering()", 628 "writable": "false", 629 "blendable": "false", 630 "multisample": "true", 631 "resolve": "supportDepthAutoResolve", 632 "colorRenderable": "false", 633 "depthRenderable": "true" 634 }, 635 "MTLPixelFormatStencil8":{ 636 "filterable": "false", 637 "writable": "false", 638 "blendable": "false", 639 "multisample": "true", 640 "resolve": "supportStencilAutoResolve", 641 "colorRenderable": "false", 642 "depthRenderable": "true" 643 }, 644 "MTLPixelFormatDepth32Float_Stencil8":{ 645 "filterable": "display->supports32BitFloatFiltering()", 646 "writable": "false", 647 "blendable": "false", 648 "multisample": "true", 649 "resolve": "supportDepthStencilAutoResolve", 650 "colorRenderable": "false", 651 "depthRenderable": "true" 652 } 653 }, 654 "caps_mac": { 655 "MTLPixelFormatDepth16Unorm":{ 656 "filterable": "true", 657 "writable": "false", 658 "blendable": "false", 659 "multisample": "true", 660 "resolve": "supportDepthAutoResolve", 661 "colorRenderable": "false", 662 "depthRenderable": "true" 663 }, 664 "MTLPixelFormatDepth24Unorm_Stencil8":{ 665 "filterable": "display->supportsMacGPUFamily(1) && display->supportsDepth24Stencil8PixelFormat()", 666 "writable": "false", 667 "blendable": "false", 668 "multisample": "true", 669 "resolve": "supportDepthStencilAutoResolve", 670 "colorRenderable": "false", 671 "depthRenderable": "display->supportsMacGPUFamily(1) && display->supportsDepth24Stencil8PixelFormat()" 672 } 673 }, 674 "caps_bc": { 675 "MTLPixelFormatBC1_RGBA":{ 676 "filterable": "display->supportsBCTextureCompression()" 677 }, 678 "MTLPixelFormatBC1_RGBA_sRGB":{ 679 "filterable": "display->supportsBCTextureCompression()" 680 }, 681 "MTLPixelFormatBC2_RGBA":{ 682 "filterable": "display->supportsBCTextureCompression()" 683 }, 684 "MTLPixelFormatBC2_RGBA_sRGB":{ 685 "filterable": "display->supportsBCTextureCompression()" 686 }, 687 "MTLPixelFormatBC3_RGBA":{ 688 "filterable": "display->supportsBCTextureCompression()" 689 }, 690 "MTLPixelFormatBC3_RGBA_sRGB":{ 691 "filterable": "display->supportsBCTextureCompression()" 692 }, 693 "MTLPixelFormatBC4_RUnorm":{ 694 "filterable": "display->supportsBCTextureCompression()" 695 }, 696 "MTLPixelFormatBC4_RSnorm":{ 697 "filterable": "display->supportsBCTextureCompression()" 698 }, 699 "MTLPixelFormatBC5_RGUnorm":{ 700 "filterable": "display->supportsBCTextureCompression()" 701 }, 702 "MTLPixelFormatBC5_RGSnorm":{ 703 "filterable": "display->supportsBCTextureCompression()" 704 }, 705 "MTLPixelFormatBC6H_RGBUfloat":{ 706 "filterable": "display->supportsBCTextureCompression()" 707 }, 708 "MTLPixelFormatBC6H_RGBFloat":{ 709 "filterable": "display->supportsBCTextureCompression()" 710 }, 711 "MTLPixelFormatBC7_RGBAUnorm":{ 712 "filterable": "display->supportsBCTextureCompression()" 713 }, 714 "MTLPixelFormatBC7_RGBAUnorm_sRGB":{ 715 "filterable": "display->supportsBCTextureCompression()" 716 } 717 }, 718 "caps_ios_platform": { 719 "MTLPixelFormatDepth16Unorm":{ 720 "filterable": "true", 721 "writable": "false", 722 "blendable": "false", 723 "multisample": "true", 724 "resolve": "supportDepthAutoResolve", 725 "colorRenderable": "false", 726 "depthRenderable": "true" 727 }, 728 "MTLPixelFormatR8Unorm_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 "MTLPixelFormatRG8Unorm_sRGB":{ 737 "filterable": "display->supportsAppleGPUFamily(1)", 738 "writable": "display->supportsAppleGPUFamily(2)", 739 "blendable": "display->supportsAppleGPUFamily(1)", 740 "multisample": "display->supportsAppleGPUFamily(1)", 741 "resolve": "display->supportsAppleGPUFamily(1)", 742 "colorRenderable": "display->supportsAppleGPUFamily(1)" 743 }, 744 "MTLPixelFormatB5G6R5Unorm":{ 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 "MTLPixelFormatABGR4Unorm":{ 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 "MTLPixelFormatBGR5A1Unorm":{ 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 "MTLPixelFormatA1BGR5Unorm":{ 769 "filterable": "display->supportsAppleGPUFamily(1)", 770 "writable": "false", 771 "blendable": "display->supportsAppleGPUFamily(1)", 772 "multisample": "display->supportsAppleGPUFamily(1)", 773 "resolve": "display->supportsAppleGPUFamily(1)", 774 "colorRenderable": "display->supportsAppleGPUFamily(1)" 775 }, 776 "MTLPixelFormatPVRTC_RGB_4BPP":{ 777 "filterable": "display->supportsAppleGPUFamily(1)" 778 }, 779 "MTLPixelFormatPVRTC_RGB_2BPP":{ 780 "filterable": "display->supportsAppleGPUFamily(1)" 781 }, 782 "MTLPixelFormatPVRTC_RGBA_4BPP":{ 783 "filterable": "display->supportsAppleGPUFamily(1)" 784 }, 785 "MTLPixelFormatPVRTC_RGBA_2BPP":{ 786 "filterable": "display->supportsAppleGPUFamily(1)" 787 }, 788 "MTLPixelFormatPVRTC_RGB_2BPP_sRGB":{ 789 "filterable": "display->supportsAppleGPUFamily(1)" 790 }, 791 "MTLPixelFormatPVRTC_RGB_4BPP_sRGB":{ 792 "filterable": "display->supportsAppleGPUFamily(1)" 793 }, 794 "MTLPixelFormatPVRTC_RGBA_2BPP_sRGB":{ 795 "filterable": "display->supportsAppleGPUFamily(1)" 796 }, 797 "MTLPixelFormatPVRTC_RGBA_4BPP_sRGB":{ 798 "filterable": "display->supportsAppleGPUFamily(1)" 799 }, 800 "MTLPixelFormatETC2_RGB8":{ 801 "filterable": "display->supportsAppleGPUFamily(1)" 802 }, 803 "MTLPixelFormatETC2_RGB8_sRGB":{ 804 "filterable": "display->supportsAppleGPUFamily(1)" 805 }, 806 "MTLPixelFormatETC2_RGB8A1":{ 807 "filterable": "display->supportsAppleGPUFamily(1)" 808 }, 809 "MTLPixelFormatETC2_RGB8A1_sRGB":{ 810 "filterable": "display->supportsAppleGPUFamily(1)" 811 }, 812 "MTLPixelFormatEAC_RGBA8":{ 813 "filterable": "display->supportsAppleGPUFamily(1)" 814 }, 815 "MTLPixelFormatEAC_RGBA8_sRGB":{ 816 "filterable": "display->supportsAppleGPUFamily(1)" 817 }, 818 "MTLPixelFormatEAC_R11Unorm":{ 819 "filterable": "display->supportsAppleGPUFamily(1)" 820 }, 821 "MTLPixelFormatEAC_R11Snorm":{ 822 "filterable": "display->supportsAppleGPUFamily(1)" 823 }, 824 "MTLPixelFormatEAC_RG11Unorm":{ 825 "filterable": "display->supportsAppleGPUFamily(1)" 826 }, 827 "MTLPixelFormatEAC_RG11Snorm":{ 828 "filterable": "display->supportsAppleGPUFamily(1)" 829 }, 830 "MTLPixelFormatASTC_4x4_LDR":{ 831 "filterable": "display->supportsAppleGPUFamily(2)" 832 }, 833 "MTLPixelFormatASTC_4x4_sRGB":{ 834 "filterable": "display->supportsAppleGPUFamily(2)" 835 }, 836 "MTLPixelFormatASTC_5x4_LDR":{ 837 "filterable": "display->supportsAppleGPUFamily(2)" 838 }, 839 "MTLPixelFormatASTC_5x4_sRGB":{ 840 "filterable": "display->supportsAppleGPUFamily(2)" 841 }, 842 "MTLPixelFormatASTC_5x5_LDR":{ 843 "filterable": "display->supportsAppleGPUFamily(2)" 844 }, 845 "MTLPixelFormatASTC_5x5_sRGB":{ 846 "filterable": "display->supportsAppleGPUFamily(2)" 847 }, 848 "MTLPixelFormatASTC_6x5_LDR":{ 849 "filterable": "display->supportsAppleGPUFamily(2)" 850 }, 851 "MTLPixelFormatASTC_6x5_sRGB":{ 852 "filterable": "display->supportsAppleGPUFamily(2)" 853 }, 854 "MTLPixelFormatASTC_6x6_LDR":{ 855 "filterable": "display->supportsAppleGPUFamily(2)" 856 }, 857 "MTLPixelFormatASTC_6x6_sRGB":{ 858 "filterable": "display->supportsAppleGPUFamily(2)" 859 }, 860 "MTLPixelFormatASTC_8x5_LDR":{ 861 "filterable": "display->supportsAppleGPUFamily(2)" 862 }, 863 "MTLPixelFormatASTC_8x5_sRGB":{ 864 "filterable": "display->supportsAppleGPUFamily(2)" 865 }, 866 "MTLPixelFormatASTC_8x6_LDR":{ 867 "filterable": "display->supportsAppleGPUFamily(2)" 868 }, 869 "MTLPixelFormatASTC_8x6_sRGB":{ 870 "filterable": "display->supportsAppleGPUFamily(2)" 871 }, 872 "MTLPixelFormatASTC_8x8_LDR":{ 873 "filterable": "display->supportsAppleGPUFamily(2)" 874 }, 875 "MTLPixelFormatASTC_8x8_sRGB":{ 876 "filterable": "display->supportsAppleGPUFamily(2)" 877 }, 878 "MTLPixelFormatASTC_10x5_LDR":{ 879 "filterable": "display->supportsAppleGPUFamily(2)" 880 }, 881 "MTLPixelFormatASTC_10x5_sRGB":{ 882 "filterable": "display->supportsAppleGPUFamily(2)" 883 }, 884 "MTLPixelFormatASTC_10x6_LDR":{ 885 "filterable": "display->supportsAppleGPUFamily(2)" 886 }, 887 "MTLPixelFormatASTC_10x6_sRGB":{ 888 "filterable": "display->supportsAppleGPUFamily(2)" 889 }, 890 "MTLPixelFormatASTC_10x8_LDR":{ 891 "filterable": "display->supportsAppleGPUFamily(2)" 892 }, 893 "MTLPixelFormatASTC_10x8_sRGB":{ 894 "filterable": "display->supportsAppleGPUFamily(2)" 895 }, 896 "MTLPixelFormatASTC_10x10_LDR":{ 897 "filterable": "display->supportsAppleGPUFamily(2)" 898 }, 899 "MTLPixelFormatASTC_10x10_sRGB":{ 900 "filterable": "display->supportsAppleGPUFamily(2)" 901 }, 902 "MTLPixelFormatASTC_12x10_LDR":{ 903 "filterable": "display->supportsAppleGPUFamily(2)" 904 }, 905 "MTLPixelFormatASTC_12x10_sRGB":{ 906 "filterable": "display->supportsAppleGPUFamily(2)" 907 }, 908 "MTLPixelFormatASTC_12x12_LDR":{ 909 "filterable": "display->supportsAppleGPUFamily(2)" 910 }, 911 "MTLPixelFormatASTC_12x12_sRGB":{ 912 "filterable": "display->supportsAppleGPUFamily(2)" 913 } 914 }, 915 "caps_ios_specific" : 916 { 917 "MTLPixelFormatASTC_4x4_HDR":{ 918 "filterable": "display->supportsAppleGPUFamily(6)" 919 }, 920 "MTLPixelFormatASTC_5x4_HDR":{ 921 "filterable": "display->supportsAppleGPUFamily(6)" 922 }, 923 "MTLPixelFormatASTC_5x5_HDR":{ 924 "filterable": "display->supportsAppleGPUFamily(6)" 925 }, 926 "MTLPixelFormatASTC_6x5_HDR":{ 927 "filterable": "display->supportsAppleGPUFamily(6)" 928 }, 929 "MTLPixelFormatASTC_6x6_HDR":{ 930 "filterable": "display->supportsAppleGPUFamily(6)" 931 }, 932 "MTLPixelFormatASTC_8x5_HDR":{ 933 "filterable": "display->supportsAppleGPUFamily(6)" 934 }, 935 "MTLPixelFormatASTC_8x6_HDR":{ 936 "filterable": "display->supportsAppleGPUFamily(6)" 937 }, 938 "MTLPixelFormatASTC_8x8_HDR":{ 939 "filterable": "display->supportsAppleGPUFamily(6)" 940 }, 941 "MTLPixelFormatASTC_10x5_HDR":{ 942 "filterable": "display->supportsAppleGPUFamily(6)" 943 }, 944 "MTLPixelFormatASTC_10x6_HDR":{ 945 "filterable": "display->supportsAppleGPUFamily(6)" 946 }, 947 "MTLPixelFormatASTC_10x8_HDR":{ 948 "filterable": "display->supportsAppleGPUFamily(6)" 949 }, 950 "MTLPixelFormatASTC_10x10_HDR":{ 951 "filterable": "display->supportsAppleGPUFamily(6)" 952 }, 953 "MTLPixelFormatASTC_12x10_HDR":{ 954 "filterable": "display->supportsAppleGPUFamily(6)" 955 }, 956 "MTLPixelFormatASTC_12x12_HDR":{ 957 "filterable": "display->supportsAppleGPUFamily(6)" 958 } 959 } 960 }, 961 "vertex": { 962 "description": [ 963 "- This section contains vertex format mapping between OpenGL and Metal similar to", 964 "image formats above", 965 "- override_tightly_packed is special emulation for those formats whose sizes", 966 "are not multiples of 4 bytes. They will be converted to appropriate 4 bytes aligned", 967 "formats.", 968 "This emulation is useful for the cases in which the stride of a vertex attribute", 969 "is required to be multiples of 4." 970 ], 971 "map": { 972 "NONE": "MTLVertexFormatInvalid", 973 "R8_UNORM": "MTLVertexFormatUCharNormalized", 974 "R8_SNORM": "MTLVertexFormatCharNormalized", 975 "R8_UINT": "MTLVertexFormatUChar", 976 "R8_SINT": "MTLVertexFormatChar", 977 "R8_USCALED": "MTLVertexFormatUChar", 978 "R8_SSCALED": "MTLVertexFormatChar", 979 "R8G8_UNORM": "MTLVertexFormatUChar2Normalized", 980 "R8G8_SNORM": "MTLVertexFormatChar2Normalized", 981 "R8G8_UINT": "MTLVertexFormatUChar2", 982 "R8G8_SINT": "MTLVertexFormatChar2", 983 "R8G8_USCALED": "MTLVertexFormatUChar2", 984 "R8G8_SSCALED": "MTLVertexFormatChar2", 985 "R8G8B8_UNORM": "MTLVertexFormatUChar3Normalized", 986 "R8G8B8_SNORM": "MTLVertexFormatChar3Normalized", 987 "R8G8B8_UINT": "MTLVertexFormatUChar3", 988 "R8G8B8_SINT": "MTLVertexFormatChar3", 989 "R8G8B8_USCALED": "MTLVertexFormatUChar3", 990 "R8G8B8_SSCALED": "MTLVertexFormatChar3", 991 "R8G8B8A8_UNORM": "MTLVertexFormatUChar4Normalized", 992 "R8G8B8A8_SNORM": "MTLVertexFormatChar4Normalized", 993 "R8G8B8A8_UINT": "MTLVertexFormatUChar4", 994 "R8G8B8A8_SINT": "MTLVertexFormatChar4", 995 "R8G8B8A8_USCALED": "MTLVertexFormatUChar4", 996 "R8G8B8A8_SSCALED": "MTLVertexFormatChar4", 997 998 "R16_UNORM": "MTLVertexFormatUShortNormalized", 999 "R16_SNORM": "MTLVertexFormatShortNormalized", 1000 "R16_UINT": "MTLVertexFormatUShort", 1001 "R16_SINT": "MTLVertexFormatShort", 1002 "R16_USCALED": "MTLVertexFormatUShort", 1003 "R16_SSCALED": "MTLVertexFormatShort", 1004 "R16G16_UNORM": "MTLVertexFormatUShort2Normalized", 1005 "R16G16_SNORM": "MTLVertexFormatShort2Normalized", 1006 "R16G16_UINT": "MTLVertexFormatUShort2", 1007 "R16G16_SINT": "MTLVertexFormatShort2", 1008 "R16G16_USCALED": "MTLVertexFormatUShort2", 1009 "R16G16_SSCALED": "MTLVertexFormatShort2", 1010 "R16G16B16_UNORM": "MTLVertexFormatUShort3Normalized", 1011 "R16G16B16_SNORM": "MTLVertexFormatShort3Normalized", 1012 "R16G16B16_UINT": "MTLVertexFormatUShort3", 1013 "R16G16B16_SINT": "MTLVertexFormatShort3", 1014 "R16G16B16_USCALED": "MTLVertexFormatUShort3", 1015 "R16G16B16_SSCALED": "MTLVertexFormatShort3", 1016 "R16G16B16A16_UNORM": "MTLVertexFormatUShort4Normalized", 1017 "R16G16B16A16_SNORM": "MTLVertexFormatShort4Normalized", 1018 "R16G16B16A16_UINT": "MTLVertexFormatUShort4", 1019 "R16G16B16A16_SINT": "MTLVertexFormatShort4", 1020 "R16G16B16A16_USCALED": "MTLVertexFormatUShort4", 1021 "R16G16B16A16_SSCALED": "MTLVertexFormatShort4", 1022 1023 "R32_UINT": "MTLVertexFormatUInt", 1024 "R32_SINT": "MTLVertexFormatInt", 1025 "R32G32_UINT": "MTLVertexFormatUInt2", 1026 "R32G32_SINT": "MTLVertexFormatInt2", 1027 "R32G32B32_UINT": "MTLVertexFormatUInt3", 1028 "R32G32B32_SINT": "MTLVertexFormatInt3", 1029 "R32G32B32A32_UINT": "MTLVertexFormatUInt4", 1030 "R32G32B32A32_SINT": "MTLVertexFormatInt4", 1031 1032 "R16_FLOAT": "MTLVertexFormatHalf", 1033 "R16G16_FLOAT": "MTLVertexFormatHalf2", 1034 "R16G16B16_FLOAT": "MTLVertexFormatHalf3", 1035 "R16G16B16A16_FLOAT": "MTLVertexFormatHalf4", 1036 1037 "R32_FLOAT": "MTLVertexFormatFloat", 1038 "R32G32_FLOAT": "MTLVertexFormatFloat2", 1039 "R32G32B32_FLOAT": "MTLVertexFormatFloat3", 1040 "R32G32B32A32_FLOAT": "MTLVertexFormatFloat4", 1041 1042 "R10G10B10A2_SNORM": "MTLVertexFormatInt1010102Normalized", 1043 "R10G10B10A2_UNORM": "MTLVertexFormatUInt1010102Normalized" 1044 }, 1045 "override": { 1046 "R32_FIXED": "R32_FLOAT", 1047 "R32_UNORM": "R32_FLOAT", 1048 "R32_SNORM": "R32_FLOAT", 1049 "R32_USCALED": "R32_FLOAT", 1050 "R32_SSCALED": "R32_FLOAT", 1051 "R32G32_FIXED": "R32G32_FLOAT", 1052 "R32G32_UNORM": "R32G32_FLOAT", 1053 "R32G32_SNORM": "R32G32_FLOAT", 1054 "R32G32_USCALED": "R32G32_FLOAT", 1055 "R32G32_SSCALED": "R32G32_FLOAT", 1056 "R32G32B32_FIXED": "R32G32B32_FLOAT", 1057 "R32G32B32_UNORM": "R32G32B32_FLOAT", 1058 "R32G32B32_SNORM": "R32G32B32_FLOAT", 1059 "R32G32B32_USCALED": "R32G32B32_FLOAT", 1060 "R32G32B32_SSCALED": "R32G32B32_FLOAT", 1061 "R32G32B32A32_FIXED": "R32G32B32A32_FLOAT", 1062 "R32G32B32A32_UNORM": "R32G32B32A32_FLOAT", 1063 "R32G32B32A32_SNORM": "R32G32B32A32_FLOAT", 1064 "R32G32B32A32_USCALED": "R32G32B32A32_FLOAT", 1065 "R32G32B32A32_SSCALED": "R32G32B32A32_FLOAT", 1066 "R10G10B10A2_SINT": "R32G32B32A32_FLOAT", 1067 "R10G10B10A2_SSCALED": "R32G32B32A32_FLOAT", 1068 "R10G10B10A2_UINT": "R32G32B32A32_FLOAT", 1069 "R10G10B10A2_USCALED": "R32G32B32A32_FLOAT" 1070 }, 1071 "override_tightly_packed": { 1072 "R16_FLOAT": "R16G16_FLOAT", 1073 "R16_UNORM": "R16G16_UNORM", 1074 "R16_SNORM": "R16G16_SNORM", 1075 "R16_UINT": "R16G16_UINT", 1076 "R16_SINT": "R16G16_SINT", 1077 "R16_USCALED": "R16G16_UINT", 1078 "R16_SSCALED": "R16G16_SINT", 1079 "R16G16B16_FLOAT": "R16G16B16A16_FLOAT", 1080 "R16G16B16_UNORM": "R16G16B16A16_UNORM", 1081 "R16G16B16_SNORM": "R16G16B16A16_SNORM", 1082 "R16G16B16_UINT": "R16G16B16A16_UINT", 1083 "R16G16B16_SINT": "R16G16B16A16_SINT", 1084 "R16G16B16_USCALED": "R16G16B16A16_UINT", 1085 "R16G16B16_SSCALED": "R16G16B16A16_SINT", 1086 "R8_UNORM": "R8G8B8A8_UNORM", 1087 "R8_SNORM": "R8G8B8A8_SNORM", 1088 "R8_UINT": "R8G8B8A8_UINT", 1089 "R8_SINT": "R8G8B8A8_SINT", 1090 "R8_USCALED": "R8G8B8A8_UINT", 1091 "R8_SSCALED": "R8G8B8A8_SINT", 1092 "R8G8_UNORM": "R8G8B8A8_UNORM", 1093 "R8G8_SNORM": "R8G8B8A8_SNORM", 1094 "R8G8_UINT": "R8G8B8A8_UINT", 1095 "R8G8_SINT": "R8G8B8A8_SINT", 1096 "R8G8_USCALED": "R8G8B8A8_UINT", 1097 "R8G8_SSCALED": "R8G8B8A8_SINT", 1098 "R8G8B8_UNORM": "R8G8B8A8_UNORM", 1099 "R8G8B8_SNORM": "R8G8B8A8_SNORM", 1100 "R8G8B8_UINT": "R8G8B8A8_UINT", 1101 "R8G8B8_SINT": "R8G8B8A8_SINT", 1102 "R8G8B8_USCALED": "R8G8B8A8_UINT", 1103 "R8G8B8_SSCALED": "R8G8B8A8_SINT" 1104 } 1105 } 1106} 1107