1# This document describes Mesa's supported pipe_formats as a YAML document, 2# with one list entry per format. 3# 4# When adding new format entries, enum pipe_format in 5# src/util/format/u_formats.h must be updated along with it. 6# 7# These formats are the main descriptions used for drivers, and should uniquely 8# describe a format without the need for any annotation. The only difference 9# is DRM format modifiers, which are used to describe differences in the 10# storage (e.g. tiled and/or compressed). 11# 12# These do not correspond one-to-one to GL formats or internalformats. 13# 14# Each format entry contains: 15# - name, per enum pipe_format 16# - layout, per enum util_format_layout, in shortened lower caps 17# - sublayout, to distinguish between meaningfully-different layout variants 18# - pixel block's width 19# - pixel block's height 20# - pixel block's depth, in number of pixels 21# - channel encoding (only meaningful for plain layout), containing for each 22# channel the following information: 23# - type, one of 24# - 'x': void 25# - 'u': unsigned 26# - 's': signed 27# - 'h': fixed 28# - 'f': FLOAT 29# - optionally followed by 'n' if it is normalized 30# - optionally followed by 'p' if it is pure 31# - number of bits 32# - channel swizzle 33# - color space: rgb, srgb, yuv, zs 34# 35# The channel encoding and swizzle may be defined separately for little-endian 36# and big-endian hosts when using a packed (non-array/bitmask) format. 37 38# None 39# Described as regular uint_8 bytes, i.e. PIPE_FORMAT_R8_USCALED 40- name: NONE 41 layout: plain 42 colorspace: RGB 43 block: {width: 1, height: 1, depth: 1} 44 channels: [U8] 45 swizzles: [X, 0, 0, 1] 46 47 48# Typical rendertarget formats 49- name: B8G8R8A8_UNORM 50 layout: plain 51 colorspace: RGB 52 block: {width: 1, height: 1, depth: 1} 53 channels: [UN8, UN8, UN8, UN8] 54 swizzles: [Z, Y, X, W] 55 little_endian: 56 alias: BGRA8888_UNORM 57 big_endian: 58 alias: ARGB8888_UNORM 59- name: B8G8R8X8_UNORM 60 layout: plain 61 colorspace: RGB 62 block: {width: 1, height: 1, depth: 1} 63 channels: [UN8, UN8, UN8, X8] 64 swizzles: [Z, Y, X, 1] 65 little_endian: 66 alias: BGRX8888_UNORM 67 big_endian: 68 alias: XRGB8888_UNORM 69- name: B8G8R8X8_SNORM 70 layout: plain 71 colorspace: RGB 72 block: {width: 1, height: 1, depth: 1} 73 channels: [SN8, SN8, SN8, X8] 74 swizzles: [Z, Y, X, 1] 75- name: B8G8R8X8_UINT 76 layout: plain 77 colorspace: RGB 78 block: {width: 1, height: 1, depth: 1} 79 channels: [UP8, UP8, UP8, X8] 80 swizzles: [Z, Y, X, 1] 81- name: B8G8R8X8_SINT 82 layout: plain 83 colorspace: RGB 84 block: {width: 1, height: 1, depth: 1} 85 channels: [SP8, SP8, SP8, X8] 86 swizzles: [Z, Y, X, 1] 87- name: A8R8G8B8_UNORM 88 layout: plain 89 colorspace: RGB 90 block: {width: 1, height: 1, depth: 1} 91 channels: [UN8, UN8, UN8, UN8] 92 swizzles: [Y, Z, W, X] 93 little_endian: 94 alias: ARGB8888_UNORM 95 big_endian: 96 alias: BGRA8888_UNORM 97- name: A8R8G8B8_SNORM 98 layout: plain 99 colorspace: RGB 100 block: {width: 1, height: 1, depth: 1} 101 channels: [SN8, SN8, SN8, SN8] 102 swizzles: [Y, Z, W, X] 103- name: A8R8G8B8_SINT 104 layout: plain 105 colorspace: RGB 106 block: {width: 1, height: 1, depth: 1} 107 channels: [SP8, SP8, SP8, SP8] 108 swizzles: [Y, Z, W, X] 109- name: X8R8G8B8_UNORM 110 layout: plain 111 colorspace: RGB 112 block: {width: 1, height: 1, depth: 1} 113 channels: [X8, UN8, UN8, UN8] 114 swizzles: [Y, Z, W, 1] 115 little_endian: 116 alias: XRGB8888_UNORM 117 big_endian: 118 alias: BGRX8888_UNORM 119- name: X8R8G8B8_SNORM 120 layout: plain 121 colorspace: RGB 122 block: {width: 1, height: 1, depth: 1} 123 channels: [X8, SN8, SN8, SN8] 124 swizzles: [Y, Z, W, 1] 125- name: X8R8G8B8_SINT 126 layout: plain 127 colorspace: RGB 128 block: {width: 1, height: 1, depth: 1} 129 channels: [X8, SP8, SP8, SP8] 130 swizzles: [Y, Z, W, 1] 131- name: A8B8G8R8_UNORM 132 layout: plain 133 colorspace: RGB 134 block: {width: 1, height: 1, depth: 1} 135 channels: [UN8, UN8, UN8, UN8] 136 swizzles: [W, Z, Y, X] 137 little_endian: 138 alias: ABGR8888_UNORM 139 big_endian: 140 alias: RGBA8888_UNORM 141- name: X8B8G8R8_UNORM 142 layout: plain 143 colorspace: RGB 144 block: {width: 1, height: 1, depth: 1} 145 channels: [X8, UN8, UN8, UN8] 146 swizzles: [W, Z, Y, 1] 147 little_endian: 148 alias: XBGR8888_UNORM 149 big_endian: 150 alias: RGBX8888_UNORM 151# PIPE_FORMAT_R8G8B8A8_UNORM is below 152- name: R8G8B8X8_UNORM 153 layout: plain 154 colorspace: RGB 155 block: {width: 1, height: 1, depth: 1} 156 channels: [UN8, UN8, UN8, X8] 157 swizzles: [X, Y, Z, 1] 158 little_endian: 159 alias: RGBX8888_UNORM 160 big_endian: 161 alias: XBGR8888_UNORM 162- name: R5G5B5A1_UNORM 163 layout: plain 164 colorspace: RGB 165 block: {width: 1, height: 1, depth: 1} 166 channels: [UN5, UN5, UN5, UN1] 167 swizzles: [X, Y, Z, W] 168- name: R5G5B5X1_UNORM 169 layout: plain 170 colorspace: RGB 171 block: {width: 1, height: 1, depth: 1} 172 channels: [UN5, UN5, UN5, X1] 173 swizzles: [X, Y, Z, 1] 174- name: B5G5R5X1_UNORM 175 layout: plain 176 colorspace: RGB 177 block: {width: 1, height: 1, depth: 1} 178 channels: [UN5, UN5, UN5, X1] 179 swizzles: [Z, Y, X, 1] 180- name: B5G5R5A1_UNORM 181 layout: plain 182 colorspace: RGB 183 block: {width: 1, height: 1, depth: 1} 184 channels: [UN5, UN5, UN5, UN1] 185 swizzles: [Z, Y, X, W] 186- name: X1B5G5R5_UNORM 187 layout: plain 188 colorspace: RGB 189 block: {width: 1, height: 1, depth: 1} 190 channels: [X1, UN5, UN5, UN5] 191 swizzles: [W, Z, Y, 1] 192- name: A1R5G5B5_UNORM 193 layout: plain 194 colorspace: RGB 195 block: {width: 1, height: 1, depth: 1} 196 channels: [UN1, UN5, UN5, UN5] 197 swizzles: [Y, Z, W, X] 198- name: X1R5G5B5_UNORM 199 layout: plain 200 colorspace: RGB 201 block: {width: 1, height: 1, depth: 1} 202 channels: [X1, UN5, UN5, UN5] 203 swizzles: [Y, Z, W, 1] 204- name: A1B5G5R5_UNORM 205 layout: plain 206 colorspace: RGB 207 block: {width: 1, height: 1, depth: 1} 208 channels: [UN1, UN5, UN5, UN5] 209 swizzles: [W, Z, Y, X] 210- name: R4G4B4A4_UNORM 211 layout: plain 212 colorspace: RGB 213 block: {width: 1, height: 1, depth: 1} 214 channels: [UN4, UN4, UN4, UN4] 215 swizzles: [X, Y, Z, W] 216- name: R4G4B4X4_UNORM 217 layout: plain 218 colorspace: RGB 219 block: {width: 1, height: 1, depth: 1} 220 channels: [UN4, UN4, UN4, X4] 221 swizzles: [X, Y, Z, 1] 222- name: B4G4R4A4_UNORM 223 layout: plain 224 colorspace: RGB 225 block: {width: 1, height: 1, depth: 1} 226 channels: [UN4, UN4, UN4, UN4] 227 swizzles: [Z, Y, X, W] 228- name: B4G4R4X4_UNORM 229 layout: plain 230 colorspace: RGB 231 block: {width: 1, height: 1, depth: 1} 232 channels: [UN4, UN4, UN4, X4] 233 swizzles: [Z, Y, X, 1] 234- name: A4R4G4B4_UNORM 235 layout: plain 236 colorspace: RGB 237 block: {width: 1, height: 1, depth: 1} 238 channels: [UN4, UN4, UN4, UN4] 239 swizzles: [Y, Z, W, X] 240- name: A4B4G4R4_UNORM 241 layout: plain 242 colorspace: RGB 243 block: {width: 1, height: 1, depth: 1} 244 channels: [UN4, UN4, UN4, UN4] 245 swizzles: [W, Z, Y, X] 246- name: R5G6B5_UNORM 247 layout: plain 248 colorspace: RGB 249 block: {width: 1, height: 1, depth: 1} 250 channels: [UN5, UN6, UN5] 251 swizzles: [X, Y, Z, 1] 252- name: B5G6R5_UNORM 253 layout: plain 254 colorspace: RGB 255 block: {width: 1, height: 1, depth: 1} 256 channels: [UN5, UN6, UN5] 257 swizzles: [Z, Y, X, 1] 258- name: R10G10B10A2_UNORM 259 layout: plain 260 colorspace: RGB 261 block: {width: 1, height: 1, depth: 1} 262 channels: [UN10, UN10, UN10, UN2] 263 swizzles: [X, Y, Z, W] 264- name: R10G10B10X2_UNORM 265 layout: plain 266 colorspace: RGB 267 block: {width: 1, height: 1, depth: 1} 268 channels: [UN10, UN10, UN10, X2] 269 swizzles: [X, Y, Z, 1] 270- name: B10G10R10A2_UNORM 271 layout: plain 272 colorspace: RGB 273 block: {width: 1, height: 1, depth: 1} 274 channels: [UN10, UN10, UN10, UN2] 275 swizzles: [Z, Y, X, W] 276- name: A2R10G10B10_UNORM 277 layout: plain 278 colorspace: RGB 279 block: {width: 1, height: 1, depth: 1} 280 channels: [UN2, UN10, UN10, UN10] 281 swizzles: [Y, Z, W, X] 282- name: A2B10G10R10_UNORM 283 layout: plain 284 colorspace: RGB 285 block: {width: 1, height: 1, depth: 1} 286 channels: [UN2, UN10, UN10, UN10] 287 swizzles: [W, Z, Y, X] 288- name: R3G3B2_UNORM 289 layout: plain 290 colorspace: RGB 291 block: {width: 1, height: 1, depth: 1} 292 channels: [UN3, UN3, UN2] 293 swizzles: [X, Y, Z, 1] 294- name: B2G3R3_UNORM 295 layout: plain 296 colorspace: RGB 297 block: {width: 1, height: 1, depth: 1} 298 channels: [UN2, UN3, UN3] 299 swizzles: [Z, Y, X, 1] 300 301 302# Luminance/Intensity/Alpha formats 303- name: L8_UNORM 304 layout: plain 305 colorspace: RGB 306 block: {width: 1, height: 1, depth: 1} 307 channels: [UN8] 308 swizzles: [X, X, X, 1] 309- name: A8_UNORM 310 layout: plain 311 colorspace: RGB 312 block: {width: 1, height: 1, depth: 1} 313 channels: [UN8] 314 swizzles: [0, 0, 0, X] 315- name: I8_UNORM 316 layout: plain 317 colorspace: RGB 318 block: {width: 1, height: 1, depth: 1} 319 channels: [UN8] 320 swizzles: [X, X, X, X] 321- name: L4A4_UNORM 322 layout: plain 323 colorspace: RGB 324 block: {width: 1, height: 1, depth: 1} 325 channels: [UN4, UN4] 326 swizzles: [X, X, X, Y] 327- name: L8A8_UNORM 328 layout: plain 329 colorspace: RGB 330 block: {width: 1, height: 1, depth: 1} 331 channels: [UN8, UN8] 332 swizzles: [X, X, X, Y] 333- name: L16_UNORM 334 layout: plain 335 colorspace: RGB 336 block: {width: 1, height: 1, depth: 1} 337 channels: [UN16] 338 swizzles: [X, X, X, 1] 339- name: A16_UNORM 340 layout: plain 341 colorspace: RGB 342 block: {width: 1, height: 1, depth: 1} 343 channels: [UN16] 344 swizzles: [0, 0, 0, X] 345- name: I16_UNORM 346 layout: plain 347 colorspace: RGB 348 block: {width: 1, height: 1, depth: 1} 349 channels: [UN16] 350 swizzles: [X, X, X, X] 351- name: L16A16_UNORM 352 layout: plain 353 colorspace: RGB 354 block: {width: 1, height: 1, depth: 1} 355 channels: [UN16, UN16] 356 swizzles: [X, X, X, Y] 357- name: A8_SNORM 358 layout: plain 359 colorspace: RGB 360 block: {width: 1, height: 1, depth: 1} 361 channels: [SN8] 362 swizzles: [0, 0, 0, X] 363- name: L8_SNORM 364 layout: plain 365 colorspace: RGB 366 block: {width: 1, height: 1, depth: 1} 367 channels: [SN8] 368 swizzles: [X, X, X, 1] 369- name: L8A8_SNORM 370 layout: plain 371 colorspace: RGB 372 block: {width: 1, height: 1, depth: 1} 373 channels: [SN8, SN8] 374 swizzles: [X, X, X, Y] 375- name: I8_SNORM 376 layout: plain 377 colorspace: RGB 378 block: {width: 1, height: 1, depth: 1} 379 channels: [SN8] 380 swizzles: [X, X, X, X] 381- name: A16_SNORM 382 layout: plain 383 colorspace: RGB 384 block: {width: 1, height: 1, depth: 1} 385 channels: [SN16] 386 swizzles: [0, 0, 0, X] 387- name: L16_SNORM 388 layout: plain 389 colorspace: RGB 390 block: {width: 1, height: 1, depth: 1} 391 channels: [SN16] 392 swizzles: [X, X, X, 1] 393- name: L16A16_SNORM 394 layout: plain 395 colorspace: RGB 396 block: {width: 1, height: 1, depth: 1} 397 channels: [SN16, SN16] 398 swizzles: [X, X, X, Y] 399- name: I16_SNORM 400 layout: plain 401 colorspace: RGB 402 block: {width: 1, height: 1, depth: 1} 403 channels: [SN16] 404 swizzles: [X, X, X, X] 405- name: A16_FLOAT 406 layout: plain 407 colorspace: RGB 408 block: {width: 1, height: 1, depth: 1} 409 channels: [F16] 410 swizzles: [0, 0, 0, X] 411- name: L16_FLOAT 412 layout: plain 413 colorspace: RGB 414 block: {width: 1, height: 1, depth: 1} 415 channels: [F16] 416 swizzles: [X, X, X, 1] 417- name: L16A16_FLOAT 418 layout: plain 419 colorspace: RGB 420 block: {width: 1, height: 1, depth: 1} 421 channels: [F16, F16] 422 swizzles: [X, X, X, Y] 423- name: I16_FLOAT 424 layout: plain 425 colorspace: RGB 426 block: {width: 1, height: 1, depth: 1} 427 channels: [F16] 428 swizzles: [X, X, X, X] 429- name: A32_FLOAT 430 layout: plain 431 colorspace: RGB 432 block: {width: 1, height: 1, depth: 1} 433 channels: [F32] 434 swizzles: [0, 0, 0, X] 435- name: L32_FLOAT 436 layout: plain 437 colorspace: RGB 438 block: {width: 1, height: 1, depth: 1} 439 channels: [F32] 440 swizzles: [X, X, X, 1] 441- name: L32A32_FLOAT 442 layout: plain 443 colorspace: RGB 444 block: {width: 1, height: 1, depth: 1} 445 channels: [F32, F32] 446 swizzles: [X, X, X, Y] 447- name: I32_FLOAT 448 layout: plain 449 colorspace: RGB 450 block: {width: 1, height: 1, depth: 1} 451 channels: [F32] 452 swizzles: [X, X, X, X] 453 454 455# SRGB formats 456- name: L8_SRGB 457 layout: plain 458 colorspace: SRGB 459 block: {width: 1, height: 1, depth: 1} 460 channels: [UN8] 461 swizzles: [X, X, X, 1] 462- name: R8_SRGB 463 layout: plain 464 colorspace: SRGB 465 block: {width: 1, height: 1, depth: 1} 466 channels: [UN8] 467 swizzles: [X, 0, 0, 1] 468- name: L8A8_SRGB 469 layout: plain 470 colorspace: SRGB 471 block: {width: 1, height: 1, depth: 1} 472 channels: [UN8, UN8] 473 swizzles: [X, X, X, Y] 474- name: R8G8_SRGB 475 layout: plain 476 colorspace: SRGB 477 block: {width: 1, height: 1, depth: 1} 478 channels: [UN8, UN8] 479 swizzles: [X, Y, 0, 1] 480- name: R8G8B8_SRGB 481 layout: plain 482 colorspace: SRGB 483 block: {width: 1, height: 1, depth: 1} 484 channels: [UN8, UN8, UN8] 485 swizzles: [X, Y, Z, 1] 486- name: B8G8R8_SRGB 487 layout: plain 488 colorspace: SRGB 489 block: {width: 1, height: 1, depth: 1} 490 channels: [UN8, UN8, UN8] 491 swizzles: [Z, Y, X, 1] 492- name: R8G8B8A8_SRGB 493 layout: plain 494 colorspace: SRGB 495 block: {width: 1, height: 1, depth: 1} 496 channels: [UN8, UN8, UN8, UN8] 497 swizzles: [X, Y, Z, W] 498 little_endian: 499 alias: RGBA8888_SRGB 500 big_endian: 501 alias: ABGR8888_SRGB 502- name: A8B8G8R8_SRGB 503 layout: plain 504 colorspace: SRGB 505 block: {width: 1, height: 1, depth: 1} 506 channels: [UN8, UN8, UN8, UN8] 507 swizzles: [W, Z, Y, X] 508 little_endian: 509 alias: ABGR8888_SRGB 510 big_endian: 511 alias: RGBA8888_SRGB 512- name: X8B8G8R8_SRGB 513 layout: plain 514 colorspace: SRGB 515 block: {width: 1, height: 1, depth: 1} 516 channels: [X8, UN8, UN8, UN8] 517 swizzles: [W, Z, Y, 1] 518 little_endian: 519 alias: XBGR8888_SRGB 520 big_endian: 521 alias: RGBX8888_SRGB 522- name: B8G8R8A8_SRGB 523 layout: plain 524 colorspace: SRGB 525 block: {width: 1, height: 1, depth: 1} 526 channels: [UN8, UN8, UN8, UN8] 527 swizzles: [Z, Y, X, W] 528 little_endian: 529 alias: BGRA8888_SRGB 530 big_endian: 531 alias: ARGB8888_SRGB 532- name: B8G8R8X8_SRGB 533 layout: plain 534 colorspace: SRGB 535 block: {width: 1, height: 1, depth: 1} 536 channels: [UN8, UN8, UN8, X8] 537 swizzles: [Z, Y, X, 1] 538 little_endian: 539 alias: BGRX8888_SRGB 540 big_endian: 541 alias: XRGB8888_SRGB 542- name: A8R8G8B8_SRGB 543 layout: plain 544 colorspace: SRGB 545 block: {width: 1, height: 1, depth: 1} 546 channels: [UN8, UN8, UN8, UN8] 547 swizzles: [Y, Z, W, X] 548 little_endian: 549 alias: ARGB8888_SRGB 550 big_endian: 551 alias: BGRA8888_SRGB 552- name: X8R8G8B8_SRGB 553 layout: plain 554 colorspace: SRGB 555 block: {width: 1, height: 1, depth: 1} 556 channels: [X8, UN8, UN8, UN8] 557 swizzles: [Y, Z, W, 1] 558 little_endian: 559 alias: XRGB8888_SRGB 560 big_endian: 561 alias: BGRX8888_SRGB 562 563 564# Mixed-sign formats (typically used for bump map textures) 565- name: R8SG8SB8UX8U_NORM 566 layout: plain 567 colorspace: RGB 568 block: {width: 1, height: 1, depth: 1} 569 channels: [SN8, SN8, UN8, X8] 570 swizzles: [X, Y, Z, 1] 571- name: R10SG10SB10SA2U_NORM 572 layout: plain 573 colorspace: RGB 574 block: {width: 1, height: 1, depth: 1} 575 channels: [SN10, SN10, SN10, UN2] 576 swizzles: [X, Y, Z, W] 577- name: R5SG5SB6U_NORM 578 layout: plain 579 colorspace: RGB 580 block: {width: 1, height: 1, depth: 1} 581 channels: [SN5, SN5, UN6] 582 swizzles: [X, Y, Z, 1] 583 584 585# Depth-stencil formats 586- name: S8_UINT 587 layout: plain 588 colorspace: ZS 589 block: {width: 1, height: 1, depth: 1} 590 channels: [UP8] 591 swizzles: [_, X, _, _] 592- name: Z16_UNORM 593 layout: plain 594 colorspace: ZS 595 block: {width: 1, height: 1, depth: 1} 596 channels: [UN16] 597 swizzles: [X, _, _, _] 598- name: Z16_UNORM_S8_UINT 599 layout: plain 600 colorspace: ZS 601 block: {width: 1, height: 1, depth: 1} 602 channels: [UN16, UP8] 603 swizzles: [X, Y, _, _] 604- name: Z32_UNORM 605 layout: plain 606 colorspace: ZS 607 block: {width: 1, height: 1, depth: 1} 608 channels: [UN32] 609 swizzles: [X, _, _, _] 610- name: Z32_FLOAT 611 layout: plain 612 colorspace: ZS 613 block: {width: 1, height: 1, depth: 1} 614 channels: [F32] 615 swizzles: [X, _, _, _] 616- name: Z24_UNORM_S8_UINT 617 layout: plain 618 colorspace: ZS 619 block: {width: 1, height: 1, depth: 1} 620 channels: [UN24, UP8] 621 swizzles: [X, Y, _, _] 622- name: S8_UINT_Z24_UNORM 623 layout: plain 624 colorspace: ZS 625 block: {width: 1, height: 1, depth: 1} 626 channels: [UP8, UN24] 627 swizzles: [Y, X, _, _] 628- name: X24S8_UINT 629 layout: plain 630 colorspace: ZS 631 block: {width: 1, height: 1, depth: 1} 632 channels: [X24, UP8] 633 swizzles: [_, Y, _, _] 634- name: S8X24_UINT 635 layout: plain 636 colorspace: ZS 637 block: {width: 1, height: 1, depth: 1} 638 channels: [UP8, X24] 639 swizzles: [_, X, _, _] 640- name: Z24X8_UNORM 641 layout: plain 642 colorspace: ZS 643 block: {width: 1, height: 1, depth: 1} 644 channels: [UN24, X8] 645 swizzles: [X, _, _, _] 646- name: X8Z24_UNORM 647 layout: plain 648 colorspace: ZS 649 block: {width: 1, height: 1, depth: 1} 650 channels: [X8, UN24] 651 swizzles: [Y, _, _, _] 652- name: Z32_FLOAT_S8X24_UINT 653 layout: plain 654 colorspace: ZS 655 block: {width: 1, height: 1, depth: 1} 656 little_endian: 657 channels: [F32, UP8, X24] 658 swizzles: [X, Y, _, _] 659 big_endian: 660 channels: [F32, X24, UP8] 661 swizzles: [X, Z, _, _] 662- name: X32_S8X24_UINT 663 layout: plain 664 colorspace: ZS 665 block: {width: 1, height: 1, depth: 1} 666 little_endian: 667 channels: [X32, UP8, X24] 668 swizzles: [_, Y, _, _] 669 big_endian: 670 channels: [X32, X24, UP8] 671 swizzles: [_, Z, _, _] 672 673# Depth-stencil formats equivalent to blitting PIPE_FORMAT_Z24_UNORM_S8_UINT 674# as PIPE_FORMAT_R8G8B8A8_*, in that it is an equivalent size to the z/s 675# format. This is mainly for hw that has some sort of bandwidth compressed 676# format where the compression for z24s8 is not equivalent to r8g8b8a8, 677# and therefore some special handling is required for blits. 678- name: Z24_UNORM_S8_UINT_AS_R8G8B8A8 679 layout: plain 680 colorspace: RGB 681 block: {width: 1, height: 1, depth: 1} 682 channels: [UN8, UN8, UN8, UN8] 683 swizzles: [X, Y, Z, W] 684 685 686# YUV formats 687# http://www.fourcc.org/yuv.php#UYVY 688- name: UYVY 689 layout: subsampled 690 colorspace: YUV 691 block: {width: 2, height: 1, depth: 1} 692 channels: [UN8, UN8, UN8, UN8] 693 swizzles: [X, Y, Z, 1] 694- name: VYUY 695 layout: subsampled 696 colorspace: YUV 697 block: {width: 2, height: 1, depth: 1} 698 channels: [UN8, UN8, UN8, UN8] 699 swizzles: [X, Y, Z, 1] 700# http://www.fourcc.org/yuv.php#YUYV (a.k.a http://www.fourcc.org/yuv.php#YUY2) 701- name: YUYV 702 layout: subsampled 703 colorspace: YUV 704 block: {width: 2, height: 1, depth: 1} 705 channels: [UN8, UN8, UN8, UN8] 706 swizzles: [X, Y, Z, 1] 707- name: YVYU 708 layout: subsampled 709 colorspace: YUV 710 block: {width: 2, height: 1, depth: 1} 711 channels: [UN8, UN8, UN8, UN8] 712 swizzles: [X, Y, Z, 1] 713 714- name: AYUV 715 layout: other 716 colorspace: YUV 717 block: {width: 4, height: 4, depth: 1} 718 channels: [UN8] 719 swizzles: [X, Y, Z, W] 720- name: XYUV 721 layout: other 722 colorspace: YUV 723 block: {width: 4, height: 4, depth: 1} 724 channels: [UN8] 725 swizzles: [X, Y, Z, 1] 726 727# same subsampling but with rgb channels 728- name: R8G8_B8G8_UNORM 729 layout: subsampled 730 colorspace: RGB 731 block: {width: 2, height: 1, depth: 1} 732 channels: [UN8, UN8, UN8, UN8] 733 swizzles: [X, Y, Z, 1] 734- name: G8R8_G8B8_UNORM 735 layout: subsampled 736 colorspace: RGB 737 block: {width: 2, height: 1, depth: 1} 738 channels: [UN8, UN8, UN8, UN8] 739 swizzles: [X, Y, Z, 1] 740- name: G8R8_B8R8_UNORM 741 layout: subsampled 742 colorspace: RGB 743 block: {width: 2, height: 1, depth: 1} 744 channels: [UN8, UN8, UN8, UN8] 745 swizzles: [Z, Y, X, 1] 746- name: R8G8_R8B8_UNORM 747 layout: subsampled 748 colorspace: RGB 749 block: {width: 2, height: 1, depth: 1} 750 channels: [UN8, UN8, UN8, UN8] 751 swizzles: [Z, Y, X, 1] 752- name: B8R8_G8R8_UNORM 753 layout: subsampled 754 colorspace: RGB 755 block: {width: 2, height: 1, depth: 1} 756 channels: [UN8, UN8, UN8, UN8] 757 swizzles: [Y, X, Z, 1] 758- name: R8B8_R8G8_UNORM 759 layout: subsampled 760 colorspace: RGB 761 block: {width: 2, height: 1, depth: 1} 762 channels: [UN8, UN8, UN8, UN8] 763 swizzles: [Y, X, Z, 1] 764- name: G8B8_G8R8_UNORM 765 layout: subsampled 766 colorspace: RGB 767 block: {width: 2, height: 1, depth: 1} 768 channels: [UN8, UN8, UN8, UN8] 769 swizzles: [X, Y, Z, 1] 770- name: B8G8_R8G8_UNORM 771 layout: subsampled 772 colorspace: RGB 773 block: {width: 2, height: 1, depth: 1} 774 channels: [UN8, UN8, UN8, UN8] 775 swizzles: [X, Y, Z, 1] 776 777 778# some special formats not fitting anywhere else 779- name: R11G11B10_FLOAT 780 layout: other 781 colorspace: RGB 782 block: {width: 1, height: 1, depth: 1} 783 channels: [F11, F11, F10] 784 swizzles: [X, Y, Z, 1] 785- name: R9G9B9E5_FLOAT 786 layout: other 787 colorspace: RGB 788 block: {width: 1, height: 1, depth: 1} 789 channels: [F9, F9, F9, X5] 790 swizzles: [X, Y, Z, 1] 791- name: R1_UNORM 792 layout: other 793 colorspace: RGB 794 block: {width: 8, height: 1, depth: 1} 795 channels: [X8] 796 swizzles: [X, 0, 0, 1] 797# A.k.a. D3DFMT_CxV8U8 798- name: R8G8Bx_SNORM 799 layout: other 800 colorspace: RGB 801 block: {width: 1, height: 1, depth: 1} 802 channels: [SN8, SN8] 803 swizzles: [X, Y, Z, 1] 804 805 806# Compressed formats 807# - http://en.wikipedia.org/wiki/S3_Texture_Compression 808# - http://www.opengl.org/registry/specs/EXT/texture_compression_s3tc.txt 809# - http://www.opengl.org/registry/specs/ARB/texture_compression_rgtc.txt 810# - http://www.opengl.org/registry/specs/EXT/texture_compression_latc.txt 811# - http://www.opengl.org/registry/specs/ARB/texture_compression_bptc.txt 812# - http://www.khronos.org/registry/gles/extensions/OES/OES_compressed_ETC1_RGB8_texture.txt 813# - http://msdn.microsoft.com/en-us/library/bb694531.aspx 814- name: DXT1_RGB 815 layout: s3tc 816 sublayout: dxt1 817 colorspace: RGB 818 block: {width: 4, height: 4, depth: 1} 819 channels: [X64] 820 swizzles: [X, Y, Z, 1] 821- name: DXT1_RGBA 822 layout: s3tc 823 sublayout: dxt1 824 colorspace: RGB 825 block: {width: 4, height: 4, depth: 1} 826 channels: [X64] 827 swizzles: [X, Y, Z, W] 828- name: DXT3_RGBA 829 layout: s3tc 830 sublayout: dxt3 831 colorspace: RGB 832 block: {width: 4, height: 4, depth: 1} 833 channels: [X128] 834 swizzles: [X, Y, Z, W] 835- name: DXT5_RGBA 836 layout: s3tc 837 sublayout: dxt5 838 colorspace: RGB 839 block: {width: 4, height: 4, depth: 1} 840 channels: [X128] 841 swizzles: [X, Y, Z, W] 842- name: DXT1_SRGB 843 layout: s3tc 844 sublayout: dxt1 845 colorspace: SRGB 846 block: {width: 4, height: 4, depth: 1} 847 channels: [X64] 848 swizzles: [X, Y, Z, 1] 849- name: DXT1_SRGBA 850 layout: s3tc 851 sublayout: dxt1 852 colorspace: SRGB 853 block: {width: 4, height: 4, depth: 1} 854 channels: [X64] 855 swizzles: [X, Y, Z, W] 856- name: DXT3_SRGBA 857 layout: s3tc 858 sublayout: dxt3 859 colorspace: SRGB 860 block: {width: 4, height: 4, depth: 1} 861 channels: [X128] 862 swizzles: [X, Y, Z, W] 863- name: DXT5_SRGBA 864 layout: s3tc 865 sublayout: dxt5 866 colorspace: SRGB 867 block: {width: 4, height: 4, depth: 1} 868 channels: [X128] 869 swizzles: [X, Y, Z, W] 870 871 872# FXT1 compressed formats 873- name: FXT1_RGB 874 layout: fxt1 875 colorspace: RGB 876 block: {width: 8, height: 4, depth: 1} 877 channels: [X128] 878 swizzles: [X, Y, Z, 1] 879- name: FXT1_RGBA 880 layout: fxt1 881 colorspace: RGB 882 block: {width: 8, height: 4, depth: 1} 883 channels: [X128] 884 swizzles: [X, Y, Z, W] 885 886 887- name: RGTC1_UNORM 888 layout: rgtc 889 colorspace: RGB 890 block: {width: 4, height: 4, depth: 1} 891 channels: [X64] 892 swizzles: [X, 0, 0, 1] 893- name: RGTC1_SNORM 894 layout: rgtc 895 colorspace: RGB 896 block: {width: 4, height: 4, depth: 1} 897 channels: [X64] 898 swizzles: [X, 0, 0, 1] 899- name: RGTC2_UNORM 900 layout: rgtc 901 colorspace: RGB 902 block: {width: 4, height: 4, depth: 1} 903 channels: [X128] 904 swizzles: [X, Y, 0, 1] 905- name: RGTC2_SNORM 906 layout: rgtc 907 colorspace: RGB 908 block: {width: 4, height: 4, depth: 1} 909 channels: [X128] 910 swizzles: [X, Y, 0, 1] 911 912 913- name: LATC1_UNORM 914 layout: rgtc 915 colorspace: RGB 916 block: {width: 4, height: 4, depth: 1} 917 channels: [X64] 918 swizzles: [X, X, X, 1] 919- name: LATC1_SNORM 920 layout: rgtc 921 colorspace: RGB 922 block: {width: 4, height: 4, depth: 1} 923 channels: [X64] 924 swizzles: [X, X, X, 1] 925- name: LATC2_UNORM 926 layout: rgtc 927 colorspace: RGB 928 block: {width: 4, height: 4, depth: 1} 929 channels: [X128] 930 swizzles: [X, X, X, Y] 931- name: LATC2_SNORM 932 layout: rgtc 933 colorspace: RGB 934 block: {width: 4, height: 4, depth: 1} 935 channels: [X128] 936 swizzles: [X, X, X, Y] 937 938 939- name: ETC1_RGB8 940 layout: etc 941 sublayout: etc1 942 colorspace: RGB 943 block: {width: 4, height: 4, depth: 1} 944 channels: [X64] 945 swizzles: [X, Y, Z, 1] 946 947- name: ETC2_RGB8 948 layout: etc 949 sublayout: etc2 950 colorspace: RGB 951 block: {width: 4, height: 4, depth: 1} 952 channels: [X64] 953 swizzles: [X, Y, Z, 1] 954- name: ETC2_SRGB8 955 layout: etc 956 sublayout: etc2 957 colorspace: SRGB 958 block: {width: 4, height: 4, depth: 1} 959 channels: [X64] 960 swizzles: [X, Y, Z, 1] 961- name: ETC2_RGB8A1 962 layout: etc 963 sublayout: etc2 964 colorspace: RGB 965 block: {width: 4, height: 4, depth: 1} 966 channels: [X64] 967 swizzles: [X, Y, Z, W] 968- name: ETC2_SRGB8A1 969 layout: etc 970 sublayout: etc2 971 colorspace: SRGB 972 block: {width: 4, height: 4, depth: 1} 973 channels: [X64] 974 swizzles: [X, Y, Z, W] 975- name: ETC2_RGBA8 976 layout: etc 977 sublayout: etc2 978 colorspace: RGB 979 block: {width: 4, height: 4, depth: 1} 980 channels: [X128] 981 swizzles: [X, Y, Z, W] 982- name: ETC2_SRGBA8 983 layout: etc 984 sublayout: etc2 985 colorspace: SRGB 986 block: {width: 4, height: 4, depth: 1} 987 channels: [X128] 988 swizzles: [X, Y, Z, W] 989- name: ETC2_R11_UNORM 990 layout: etc 991 sublayout: etc2 992 colorspace: RGB 993 block: {width: 4, height: 4, depth: 1} 994 channels: [X64] 995 swizzles: [X, 0, 0, 1] 996- name: ETC2_R11_SNORM 997 layout: etc 998 sublayout: etc2 999 colorspace: RGB 1000 block: {width: 4, height: 4, depth: 1} 1001 channels: [X64] 1002 swizzles: [X, 0, 0, 1] 1003- name: ETC2_RG11_UNORM 1004 layout: etc 1005 sublayout: etc2 1006 colorspace: RGB 1007 block: {width: 4, height: 4, depth: 1} 1008 channels: [X128] 1009 swizzles: [X, Y, 0, 1] 1010- name: ETC2_RG11_SNORM 1011 layout: etc 1012 sublayout: etc2 1013 colorspace: RGB 1014 block: {width: 4, height: 4, depth: 1} 1015 channels: [X128] 1016 swizzles: [X, Y, 0, 1] 1017 1018 1019- name: BPTC_RGBA_UNORM 1020 layout: bptc 1021 colorspace: RGB 1022 block: {width: 4, height: 4, depth: 1} 1023 channels: [X128] 1024 swizzles: [X, Y, Z, W] 1025- name: BPTC_SRGBA 1026 layout: bptc 1027 colorspace: SRGB 1028 block: {width: 4, height: 4, depth: 1} 1029 channels: [X128] 1030 swizzles: [X, Y, Z, W] 1031- name: BPTC_RGB_FLOAT 1032 layout: bptc 1033 colorspace: RGB 1034 block: {width: 4, height: 4, depth: 1} 1035 channels: [X128] 1036 swizzles: [X, Y, Z, 1] 1037- name: BPTC_RGB_UFLOAT 1038 layout: bptc 1039 colorspace: RGB 1040 block: {width: 4, height: 4, depth: 1} 1041 channels: [X128] 1042 swizzles: [X, Y, Z, 1] 1043 1044 1045- name: ASTC_4x4 1046 layout: astc 1047 colorspace: RGB 1048 block: {width: 4, height: 4, depth: 1} 1049 channels: [X128] 1050 swizzles: [X, Y, Z, W] 1051- name: ASTC_5x4 1052 layout: astc 1053 colorspace: RGB 1054 block: {width: 5, height: 4, depth: 1} 1055 channels: [X128] 1056 swizzles: [X, Y, Z, W] 1057- name: ASTC_5x5 1058 layout: astc 1059 colorspace: RGB 1060 block: {width: 5, height: 5, depth: 1} 1061 channels: [X128] 1062 swizzles: [X, Y, Z, W] 1063- name: ASTC_6x5 1064 layout: astc 1065 colorspace: RGB 1066 block: {width: 6, height: 5, depth: 1} 1067 channels: [X128] 1068 swizzles: [X, Y, Z, W] 1069- name: ASTC_6x6 1070 layout: astc 1071 colorspace: RGB 1072 block: {width: 6, height: 6, depth: 1} 1073 channels: [X128] 1074 swizzles: [X, Y, Z, W] 1075- name: ASTC_8x5 1076 layout: astc 1077 colorspace: RGB 1078 block: {width: 8, height: 5, depth: 1} 1079 channels: [X128] 1080 swizzles: [X, Y, Z, W] 1081- name: ASTC_8x6 1082 layout: astc 1083 colorspace: RGB 1084 block: {width: 8, height: 6, depth: 1} 1085 channels: [X128] 1086 swizzles: [X, Y, Z, W] 1087- name: ASTC_8x8 1088 layout: astc 1089 colorspace: RGB 1090 block: {width: 8, height: 8, depth: 1} 1091 channels: [X128] 1092 swizzles: [X, Y, Z, W] 1093- name: ASTC_10x5 1094 layout: astc 1095 colorspace: RGB 1096 block: {width: 10, height: 5, depth: 1} 1097 channels: [X128] 1098 swizzles: [X, Y, Z, W] 1099- name: ASTC_10x6 1100 layout: astc 1101 colorspace: RGB 1102 block: {width: 10, height: 6, depth: 1} 1103 channels: [X128] 1104 swizzles: [X, Y, Z, W] 1105- name: ASTC_10x8 1106 layout: astc 1107 colorspace: RGB 1108 block: {width: 10, height: 8, depth: 1} 1109 channels: [X128] 1110 swizzles: [X, Y, Z, W] 1111- name: ASTC_10x10 1112 layout: astc 1113 colorspace: RGB 1114 block: {width: 10, height: 10, depth: 1} 1115 channels: [X128] 1116 swizzles: [X, Y, Z, W] 1117- name: ASTC_12x10 1118 layout: astc 1119 colorspace: RGB 1120 block: {width: 12, height: 10, depth: 1} 1121 channels: [X128] 1122 swizzles: [X, Y, Z, W] 1123- name: ASTC_12x12 1124 layout: astc 1125 colorspace: RGB 1126 block: {width: 12, height: 12, depth: 1} 1127 channels: [X128] 1128 swizzles: [X, Y, Z, W] 1129 1130 1131- name: ASTC_4x4_SRGB 1132 layout: astc 1133 colorspace: SRGB 1134 block: {width: 4, height: 4, depth: 1} 1135 channels: [X128] 1136 swizzles: [X, Y, Z, W] 1137- name: ASTC_5x4_SRGB 1138 layout: astc 1139 colorspace: SRGB 1140 block: {width: 5, height: 4, depth: 1} 1141 channels: [X128] 1142 swizzles: [X, Y, Z, W] 1143- name: ASTC_5x5_SRGB 1144 layout: astc 1145 colorspace: SRGB 1146 block: {width: 5, height: 5, depth: 1} 1147 channels: [X128] 1148 swizzles: [X, Y, Z, W] 1149- name: ASTC_6x5_SRGB 1150 layout: astc 1151 colorspace: SRGB 1152 block: {width: 6, height: 5, depth: 1} 1153 channels: [X128] 1154 swizzles: [X, Y, Z, W] 1155- name: ASTC_6x6_SRGB 1156 layout: astc 1157 colorspace: SRGB 1158 block: {width: 6, height: 6, depth: 1} 1159 channels: [X128] 1160 swizzles: [X, Y, Z, W] 1161- name: ASTC_8x5_SRGB 1162 layout: astc 1163 colorspace: SRGB 1164 block: {width: 8, height: 5, depth: 1} 1165 channels: [X128] 1166 swizzles: [X, Y, Z, W] 1167- name: ASTC_8x6_SRGB 1168 layout: astc 1169 colorspace: SRGB 1170 block: {width: 8, height: 6, depth: 1} 1171 channels: [X128] 1172 swizzles: [X, Y, Z, W] 1173- name: ASTC_8x8_SRGB 1174 layout: astc 1175 colorspace: SRGB 1176 block: {width: 8, height: 8, depth: 1} 1177 channels: [X128] 1178 swizzles: [X, Y, Z, W] 1179- name: ASTC_10x5_SRGB 1180 layout: astc 1181 colorspace: SRGB 1182 block: {width: 10, height: 5, depth: 1} 1183 channels: [X128] 1184 swizzles: [X, Y, Z, W] 1185- name: ASTC_10x6_SRGB 1186 layout: astc 1187 colorspace: SRGB 1188 block: {width: 10, height: 6, depth: 1} 1189 channels: [X128] 1190 swizzles: [X, Y, Z, W] 1191- name: ASTC_10x8_SRGB 1192 layout: astc 1193 colorspace: SRGB 1194 block: {width: 10, height: 8, depth: 1} 1195 channels: [X128] 1196 swizzles: [X, Y, Z, W] 1197- name: ASTC_10x10_SRGB 1198 layout: astc 1199 colorspace: SRGB 1200 block: {width: 10, height: 10, depth: 1} 1201 channels: [X128] 1202 swizzles: [X, Y, Z, W] 1203- name: ASTC_12x10_SRGB 1204 layout: astc 1205 colorspace: SRGB 1206 block: {width: 12, height: 10, depth: 1} 1207 channels: [X128] 1208 swizzles: [X, Y, Z, W] 1209- name: ASTC_12x12_SRGB 1210 layout: astc 1211 colorspace: SRGB 1212 block: {width: 12, height: 12, depth: 1} 1213 channels: [X128] 1214 swizzles: [X, Y, Z, W] 1215 1216 1217- name: ASTC_3x3x3 1218 layout: astc 1219 colorspace: RGB 1220 block: {width: 3, height: 3, depth: 3} 1221 channels: [X128] 1222 swizzles: [X, Y, Z, W] 1223- name: ASTC_4x3x3 1224 layout: astc 1225 colorspace: RGB 1226 block: {width: 4, height: 3, depth: 3} 1227 channels: [X128] 1228 swizzles: [X, Y, Z, W] 1229- name: ASTC_4x4x3 1230 layout: astc 1231 colorspace: RGB 1232 block: {width: 4, height: 4, depth: 3} 1233 channels: [X128] 1234 swizzles: [X, Y, Z, W] 1235- name: ASTC_4x4x4 1236 layout: astc 1237 colorspace: RGB 1238 block: {width: 4, height: 4, depth: 4} 1239 channels: [X128] 1240 swizzles: [X, Y, Z, W] 1241- name: ASTC_5x4x4 1242 layout: astc 1243 colorspace: RGB 1244 block: {width: 5, height: 4, depth: 4} 1245 channels: [X128] 1246 swizzles: [X, Y, Z, W] 1247- name: ASTC_5x5x4 1248 layout: astc 1249 colorspace: RGB 1250 block: {width: 5, height: 5, depth: 4} 1251 channels: [X128] 1252 swizzles: [X, Y, Z, W] 1253- name: ASTC_5x5x5 1254 layout: astc 1255 colorspace: RGB 1256 block: {width: 5, height: 5, depth: 5} 1257 channels: [X128] 1258 swizzles: [X, Y, Z, W] 1259- name: ASTC_6x5x5 1260 layout: astc 1261 colorspace: RGB 1262 block: {width: 6, height: 5, depth: 5} 1263 channels: [X128] 1264 swizzles: [X, Y, Z, W] 1265- name: ASTC_6x6x5 1266 layout: astc 1267 colorspace: RGB 1268 block: {width: 6, height: 6, depth: 5} 1269 channels: [X128] 1270 swizzles: [X, Y, Z, W] 1271- name: ASTC_6x6x6 1272 layout: astc 1273 colorspace: RGB 1274 block: {width: 6, height: 6, depth: 6} 1275 channels: [X128] 1276 swizzles: [X, Y, Z, W] 1277 1278- name: ASTC_3x3x3_SRGB 1279 layout: astc 1280 colorspace: SRGB 1281 block: {width: 3, height: 3, depth: 3} 1282 channels: [X128] 1283 swizzles: [X, Y, Z, W] 1284- name: ASTC_4x3x3_SRGB 1285 layout: astc 1286 colorspace: SRGB 1287 block: {width: 4, height: 3, depth: 3} 1288 channels: [X128] 1289 swizzles: [X, Y, Z, W] 1290- name: ASTC_4x4x3_SRGB 1291 layout: astc 1292 colorspace: SRGB 1293 block: {width: 4, height: 4, depth: 3} 1294 channels: [X128] 1295 swizzles: [X, Y, Z, W] 1296- name: ASTC_4x4x4_SRGB 1297 layout: astc 1298 colorspace: SRGB 1299 block: {width: 4, height: 4, depth: 4} 1300 channels: [X128] 1301 swizzles: [X, Y, Z, W] 1302- name: ASTC_5x4x4_SRGB 1303 layout: astc 1304 colorspace: SRGB 1305 block: {width: 5, height: 4, depth: 4} 1306 channels: [X128] 1307 swizzles: [X, Y, Z, W] 1308- name: ASTC_5x5x4_SRGB 1309 layout: astc 1310 colorspace: SRGB 1311 block: {width: 5, height: 5, depth: 4} 1312 channels: [X128] 1313 swizzles: [X, Y, Z, W] 1314- name: ASTC_5x5x5_SRGB 1315 layout: astc 1316 colorspace: SRGB 1317 block: {width: 5, height: 5, depth: 5} 1318 channels: [X128] 1319 swizzles: [X, Y, Z, W] 1320- name: ASTC_6x5x5_SRGB 1321 layout: astc 1322 colorspace: SRGB 1323 block: {width: 6, height: 5, depth: 5} 1324 channels: [X128] 1325 swizzles: [X, Y, Z, W] 1326- name: ASTC_6x6x5_SRGB 1327 layout: astc 1328 colorspace: SRGB 1329 block: {width: 6, height: 6, depth: 5} 1330 channels: [X128] 1331 swizzles: [X, Y, Z, W] 1332- name: ASTC_6x6x6_SRGB 1333 layout: astc 1334 colorspace: SRGB 1335 block: {width: 6, height: 6, depth: 6} 1336 channels: [X128] 1337 swizzles: [X, Y, Z, W] 1338 1339 1340- name: ATC_RGB 1341 layout: atc 1342 colorspace: RGB 1343 block: {width: 4, height: 4, depth: 1} 1344 channels: [X64] 1345 swizzles: [X, Y, Z, 1] 1346- name: ATC_RGBA_EXPLICIT 1347 layout: atc 1348 colorspace: RGB 1349 block: {width: 4, height: 4, depth: 1} 1350 channels: [X128] 1351 swizzles: [X, Y, Z, W] 1352- name: ATC_RGBA_INTERPOLATED 1353 layout: atc 1354 colorspace: RGB 1355 block: {width: 4, height: 4, depth: 1} 1356 channels: [X128] 1357 swizzles: [X, Y, Z, W] 1358 1359 1360# Straightforward D3D10-like formats (also used for 1361# vertex buffer element description) 1362# 1363# See also: 1364# - src/gallium/auxiliary/translate/translate_generic.c 1365# - src/mesa/state_tracker/st_draw.c 1366- name: R64_FLOAT 1367 layout: plain 1368 colorspace: RGB 1369 block: {width: 1, height: 1, depth: 1} 1370 channels: [F64] 1371 swizzles: [X, 0, 0, 1] 1372- name: R64G64_FLOAT 1373 layout: plain 1374 colorspace: RGB 1375 block: {width: 1, height: 1, depth: 1} 1376 channels: [F64, F64] 1377 swizzles: [X, Y, 0, 1] 1378- name: R64G64B64_FLOAT 1379 layout: plain 1380 colorspace: RGB 1381 block: {width: 1, height: 1, depth: 1} 1382 channels: [F64, F64, F64] 1383 swizzles: [X, Y, Z, 1] 1384- name: R64G64B64A64_FLOAT 1385 layout: plain 1386 colorspace: RGB 1387 block: {width: 1, height: 1, depth: 1} 1388 channels: [F64, F64, F64, F64] 1389 swizzles: [X, Y, Z, W] 1390- name: R32_FLOAT 1391 layout: plain 1392 colorspace: RGB 1393 block: {width: 1, height: 1, depth: 1} 1394 channels: [F32] 1395 swizzles: [X, 0, 0, 1] 1396- name: R32G32_FLOAT 1397 layout: plain 1398 colorspace: RGB 1399 block: {width: 1, height: 1, depth: 1} 1400 channels: [F32, F32] 1401 swizzles: [X, Y, 0, 1] 1402- name: R32G32B32_FLOAT 1403 layout: plain 1404 colorspace: RGB 1405 block: {width: 1, height: 1, depth: 1} 1406 channels: [F32, F32, F32] 1407 swizzles: [X, Y, Z, 1] 1408- name: R32G32B32A32_FLOAT 1409 layout: plain 1410 colorspace: RGB 1411 block: {width: 1, height: 1, depth: 1} 1412 channels: [F32, F32, F32, F32] 1413 swizzles: [X, Y, Z, W] 1414- name: R32_UNORM 1415 layout: plain 1416 colorspace: RGB 1417 block: {width: 1, height: 1, depth: 1} 1418 channels: [UN32] 1419 swizzles: [X, 0, 0, 1] 1420- name: R32G32_UNORM 1421 layout: plain 1422 colorspace: RGB 1423 block: {width: 1, height: 1, depth: 1} 1424 channels: [UN32, UN32] 1425 swizzles: [X, Y, 0, 1] 1426- name: R32G32B32_UNORM 1427 layout: plain 1428 colorspace: RGB 1429 block: {width: 1, height: 1, depth: 1} 1430 channels: [UN32, UN32, UN32] 1431 swizzles: [X, Y, Z, 1] 1432- name: R32G32B32A32_UNORM 1433 layout: plain 1434 colorspace: RGB 1435 block: {width: 1, height: 1, depth: 1} 1436 channels: [UN32, UN32, UN32, UN32] 1437 swizzles: [X, Y, Z, W] 1438- name: R32_USCALED 1439 layout: plain 1440 colorspace: RGB 1441 block: {width: 1, height: 1, depth: 1} 1442 channels: [U32] 1443 swizzles: [X, 0, 0, 1] 1444- name: R32G32_USCALED 1445 layout: plain 1446 colorspace: RGB 1447 block: {width: 1, height: 1, depth: 1} 1448 channels: [U32, U32] 1449 swizzles: [X, Y, 0, 1] 1450- name: R32G32B32_USCALED 1451 layout: plain 1452 colorspace: RGB 1453 block: {width: 1, height: 1, depth: 1} 1454 channels: [U32, U32, U32] 1455 swizzles: [X, Y, Z, 1] 1456- name: R32G32B32A32_USCALED 1457 layout: plain 1458 colorspace: RGB 1459 block: {width: 1, height: 1, depth: 1} 1460 channels: [U32, U32, U32, U32] 1461 swizzles: [X, Y, Z, W] 1462- name: R32_SNORM 1463 layout: plain 1464 colorspace: RGB 1465 block: {width: 1, height: 1, depth: 1} 1466 channels: [SN32] 1467 swizzles: [X, 0, 0, 1] 1468- name: R32G32_SNORM 1469 layout: plain 1470 colorspace: RGB 1471 block: {width: 1, height: 1, depth: 1} 1472 channels: [SN32, SN32] 1473 swizzles: [X, Y, 0, 1] 1474- name: R32G32B32_SNORM 1475 layout: plain 1476 colorspace: RGB 1477 block: {width: 1, height: 1, depth: 1} 1478 channels: [SN32, SN32, SN32] 1479 swizzles: [X, Y, Z, 1] 1480- name: R32G32B32A32_SNORM 1481 layout: plain 1482 colorspace: RGB 1483 block: {width: 1, height: 1, depth: 1} 1484 channels: [SN32, SN32, SN32, SN32] 1485 swizzles: [X, Y, Z, W] 1486- name: R32_SSCALED 1487 layout: plain 1488 colorspace: RGB 1489 block: {width: 1, height: 1, depth: 1} 1490 channels: [S32] 1491 swizzles: [X, 0, 0, 1] 1492- name: R32G32_SSCALED 1493 layout: plain 1494 colorspace: RGB 1495 block: {width: 1, height: 1, depth: 1} 1496 channels: [S32, S32] 1497 swizzles: [X, Y, 0, 1] 1498- name: R32G32B32_SSCALED 1499 layout: plain 1500 colorspace: RGB 1501 block: {width: 1, height: 1, depth: 1} 1502 channels: [S32, S32, S32] 1503 swizzles: [X, Y, Z, 1] 1504- name: R32G32B32A32_SSCALED 1505 layout: plain 1506 colorspace: RGB 1507 block: {width: 1, height: 1, depth: 1} 1508 channels: [S32, S32, S32, S32] 1509 swizzles: [X, Y, Z, W] 1510- name: R16_FLOAT 1511 layout: plain 1512 colorspace: RGB 1513 block: {width: 1, height: 1, depth: 1} 1514 channels: [F16] 1515 swizzles: [X, 0, 0, 1] 1516- name: R16G16_FLOAT 1517 layout: plain 1518 colorspace: RGB 1519 block: {width: 1, height: 1, depth: 1} 1520 channels: [F16, F16] 1521 swizzles: [X, Y, 0, 1] 1522- name: R16G16B16_FLOAT 1523 layout: plain 1524 colorspace: RGB 1525 block: {width: 1, height: 1, depth: 1} 1526 channels: [F16, F16, F16] 1527 swizzles: [X, Y, Z, 1] 1528- name: R16G16B16A16_FLOAT 1529 layout: plain 1530 colorspace: RGB 1531 block: {width: 1, height: 1, depth: 1} 1532 channels: [F16, F16, F16, F16] 1533 swizzles: [X, Y, Z, W] 1534- name: R16_UNORM 1535 layout: plain 1536 colorspace: RGB 1537 block: {width: 1, height: 1, depth: 1} 1538 channels: [UN16] 1539 swizzles: [X, 0, 0, 1] 1540- name: R16G16_UNORM 1541 layout: plain 1542 colorspace: RGB 1543 block: {width: 1, height: 1, depth: 1} 1544 channels: [UN16, UN16] 1545 swizzles: [X, Y, 0, 1] 1546 little_endian: 1547 alias: RG1616_UNORM 1548 big_endian: 1549 alias: GR1616_UNORM 1550- name: R16G16B16_UNORM 1551 layout: plain 1552 colorspace: RGB 1553 block: {width: 1, height: 1, depth: 1} 1554 channels: [UN16, UN16, UN16] 1555 swizzles: [X, Y, Z, 1] 1556- name: R16G16B16A16_UNORM 1557 layout: plain 1558 colorspace: RGB 1559 block: {width: 1, height: 1, depth: 1} 1560 channels: [UN16, UN16, UN16, UN16] 1561 swizzles: [X, Y, Z, W] 1562- name: R16_USCALED 1563 layout: plain 1564 colorspace: RGB 1565 block: {width: 1, height: 1, depth: 1} 1566 channels: [U16] 1567 swizzles: [X, 0, 0, 1] 1568- name: R16G16_USCALED 1569 layout: plain 1570 colorspace: RGB 1571 block: {width: 1, height: 1, depth: 1} 1572 channels: [U16, U16] 1573 swizzles: [X, Y, 0, 1] 1574- name: R16G16B16_USCALED 1575 layout: plain 1576 colorspace: RGB 1577 block: {width: 1, height: 1, depth: 1} 1578 channels: [U16, U16, U16] 1579 swizzles: [X, Y, Z, 1] 1580- name: R16G16B16A16_USCALED 1581 layout: plain 1582 colorspace: RGB 1583 block: {width: 1, height: 1, depth: 1} 1584 channels: [U16, U16, U16, U16] 1585 swizzles: [X, Y, Z, W] 1586- name: R16_SNORM 1587 layout: plain 1588 colorspace: RGB 1589 block: {width: 1, height: 1, depth: 1} 1590 channels: [SN16] 1591 swizzles: [X, 0, 0, 1] 1592- name: R16G16_SNORM 1593 layout: plain 1594 colorspace: RGB 1595 block: {width: 1, height: 1, depth: 1} 1596 channels: [SN16, SN16] 1597 swizzles: [X, Y, 0, 1] 1598 little_endian: 1599 alias: RG1616_SNORM 1600 big_endian: 1601 alias: GR1616_SNORM 1602- name: R16G16B16_SNORM 1603 layout: plain 1604 colorspace: RGB 1605 block: {width: 1, height: 1, depth: 1} 1606 channels: [SN16, SN16, SN16] 1607 swizzles: [X, Y, Z, 1] 1608- name: R16G16B16A16_SNORM 1609 layout: plain 1610 colorspace: RGB 1611 block: {width: 1, height: 1, depth: 1} 1612 channels: [SN16, SN16, SN16, SN16] 1613 swizzles: [X, Y, Z, W] 1614- name: R16_SSCALED 1615 layout: plain 1616 colorspace: RGB 1617 block: {width: 1, height: 1, depth: 1} 1618 channels: [S16] 1619 swizzles: [X, 0, 0, 1] 1620- name: R16G16_SSCALED 1621 layout: plain 1622 colorspace: RGB 1623 block: {width: 1, height: 1, depth: 1} 1624 channels: [S16, S16] 1625 swizzles: [X, Y, 0, 1] 1626- name: R16G16B16_SSCALED 1627 layout: plain 1628 colorspace: RGB 1629 block: {width: 1, height: 1, depth: 1} 1630 channels: [S16, S16, S16] 1631 swizzles: [X, Y, Z, 1] 1632- name: R16G16B16A16_SSCALED 1633 layout: plain 1634 colorspace: RGB 1635 block: {width: 1, height: 1, depth: 1} 1636 channels: [S16, S16, S16, S16] 1637 swizzles: [X, Y, Z, W] 1638- name: R8_UNORM 1639 layout: plain 1640 colorspace: RGB 1641 block: {width: 1, height: 1, depth: 1} 1642 channels: [UN8] 1643 swizzles: [X, 0, 0, 1] 1644- name: R8G8_UNORM 1645 layout: plain 1646 colorspace: RGB 1647 block: {width: 1, height: 1, depth: 1} 1648 channels: [UN8, UN8] 1649 swizzles: [X, Y, 0, 1] 1650 little_endian: 1651 alias: RG88_UNORM 1652 big_endian: 1653 alias: GR88_UNORM 1654- name: R8G8B8_UNORM 1655 layout: plain 1656 colorspace: RGB 1657 block: {width: 1, height: 1, depth: 1} 1658 channels: [UN8, UN8, UN8] 1659 swizzles: [X, Y, Z, 1] 1660- name: B8G8R8_UNORM 1661 layout: plain 1662 colorspace: RGB 1663 block: {width: 1, height: 1, depth: 1} 1664 channels: [UN8, UN8, UN8] 1665 swizzles: [Z, Y, X, 1] 1666- name: R8G8B8A8_UNORM 1667 layout: plain 1668 colorspace: RGB 1669 block: {width: 1, height: 1, depth: 1} 1670 channels: [UN8, UN8, UN8, UN8] 1671 swizzles: [X, Y, Z, W] 1672 little_endian: 1673 alias: RGBA8888_UNORM 1674 big_endian: 1675 alias: ABGR8888_UNORM 1676- name: R8_USCALED 1677 layout: plain 1678 colorspace: RGB 1679 block: {width: 1, height: 1, depth: 1} 1680 channels: [U8] 1681 swizzles: [X, 0, 0, 1] 1682- name: R8G8_USCALED 1683 layout: plain 1684 colorspace: RGB 1685 block: {width: 1, height: 1, depth: 1} 1686 channels: [U8, U8] 1687 swizzles: [X, Y, 0, 1] 1688- name: R8G8B8_USCALED 1689 layout: plain 1690 colorspace: RGB 1691 block: {width: 1, height: 1, depth: 1} 1692 channels: [U8, U8, U8] 1693 swizzles: [X, Y, Z, 1] 1694- name: B8G8R8_USCALED 1695 layout: plain 1696 colorspace: RGB 1697 block: {width: 1, height: 1, depth: 1} 1698 channels: [U8, U8, U8] 1699 swizzles: [Z, Y, X, 1] 1700- name: R8G8B8A8_USCALED 1701 layout: plain 1702 colorspace: RGB 1703 block: {width: 1, height: 1, depth: 1} 1704 channels: [U8, U8, U8, U8] 1705 swizzles: [X, Y, Z, W] 1706 little_endian: 1707 alias: RGBA8888_USCALED 1708- name: B8G8R8A8_USCALED 1709 layout: plain 1710 colorspace: RGB 1711 block: {width: 1, height: 1, depth: 1} 1712 channels: [U8, U8, U8, U8] 1713 swizzles: [Z, Y, X, W] 1714- name: A8B8G8R8_USCALED 1715 layout: plain 1716 colorspace: RGB 1717 block: {width: 1, height: 1, depth: 1} 1718 channels: [U8, U8, U8, U8] 1719 swizzles: [W, Z, Y, X] 1720 big_endian: 1721 alias: RGBA8888_USCALED 1722- name: R8_SNORM 1723 layout: plain 1724 colorspace: RGB 1725 block: {width: 1, height: 1, depth: 1} 1726 channels: [SN8] 1727 swizzles: [X, 0, 0, 1] 1728- name: R8G8_SNORM 1729 layout: plain 1730 colorspace: RGB 1731 block: {width: 1, height: 1, depth: 1} 1732 channels: [SN8, SN8] 1733 swizzles: [X, Y, 0, 1] 1734 little_endian: 1735 alias: RG88_SNORM 1736 big_endian: 1737 alias: GR88_SNORM 1738- name: R8G8B8_SNORM 1739 layout: plain 1740 colorspace: RGB 1741 block: {width: 1, height: 1, depth: 1} 1742 channels: [SN8, SN8, SN8] 1743 swizzles: [X, Y, Z, 1] 1744- name: B8G8R8_SNORM 1745 layout: plain 1746 colorspace: RGB 1747 block: {width: 1, height: 1, depth: 1} 1748 channels: [SN8, SN8, SN8] 1749 swizzles: [Z, Y, X, 1] 1750- name: R8G8B8A8_SNORM 1751 layout: plain 1752 colorspace: RGB 1753 block: {width: 1, height: 1, depth: 1} 1754 channels: [SN8, SN8, SN8, SN8] 1755 swizzles: [X, Y, Z, W] 1756 little_endian: 1757 alias: RGBA8888_SNORM 1758 big_endian: 1759 alias: ABGR8888_SNORM 1760- name: B8G8R8A8_SNORM 1761 layout: plain 1762 colorspace: RGB 1763 block: {width: 1, height: 1, depth: 1} 1764 channels: [SN8, SN8, SN8, SN8] 1765 swizzles: [Z, Y, X, W] 1766- name: R8_SSCALED 1767 layout: plain 1768 colorspace: RGB 1769 block: {width: 1, height: 1, depth: 1} 1770 channels: [S8] 1771 swizzles: [X, 0, 0, 1] 1772- name: R8G8_SSCALED 1773 layout: plain 1774 colorspace: RGB 1775 block: {width: 1, height: 1, depth: 1} 1776 channels: [S8, S8] 1777 swizzles: [X, Y, 0, 1] 1778- name: R8G8B8_SSCALED 1779 layout: plain 1780 colorspace: RGB 1781 block: {width: 1, height: 1, depth: 1} 1782 channels: [S8, S8, S8] 1783 swizzles: [X, Y, Z, 1] 1784- name: B8G8R8_SSCALED 1785 layout: plain 1786 colorspace: RGB 1787 block: {width: 1, height: 1, depth: 1} 1788 channels: [S8, S8, S8] 1789 swizzles: [Z, Y, X, 1] 1790- name: R8G8B8A8_SSCALED 1791 layout: plain 1792 colorspace: RGB 1793 block: {width: 1, height: 1, depth: 1} 1794 channels: [S8, S8, S8, S8] 1795 swizzles: [X, Y, Z, W] 1796 little_endian: 1797 alias: RGBA8888_SSCALED 1798- name: B8G8R8A8_SSCALED 1799 layout: plain 1800 colorspace: RGB 1801 block: {width: 1, height: 1, depth: 1} 1802 channels: [S8, S8, S8, S8] 1803 swizzles: [Z, Y, X, W] 1804- name: A8B8G8R8_SSCALED 1805 layout: plain 1806 colorspace: RGB 1807 block: {width: 1, height: 1, depth: 1} 1808 channels: [S8, S8, S8, S8] 1809 swizzles: [W, Z, Y, X] 1810 big_endian: 1811 alias: RGBA8888_SSCALED 1812 1813 1814# GL-specific vertex buffer element formats 1815# A.k.a. GL_FIXED 1816- name: R32_FIXED 1817 layout: plain 1818 colorspace: RGB 1819 block: {width: 1, height: 1, depth: 1} 1820 channels: [H32] 1821 swizzles: [X, 0, 0, 1] 1822- name: R32G32_FIXED 1823 layout: plain 1824 colorspace: RGB 1825 block: {width: 1, height: 1, depth: 1} 1826 channels: [H32, H32] 1827 swizzles: [X, Y, 0, 1] 1828- name: R32G32B32_FIXED 1829 layout: plain 1830 colorspace: RGB 1831 block: {width: 1, height: 1, depth: 1} 1832 channels: [H32, H32, H32] 1833 swizzles: [X, Y, Z, 1] 1834- name: R32G32B32A32_FIXED 1835 layout: plain 1836 colorspace: RGB 1837 block: {width: 1, height: 1, depth: 1} 1838 channels: [H32, H32, H32, H32] 1839 swizzles: [X, Y, Z, W] 1840 1841 1842# D3D9-specific vertex buffer element formats 1843# See also: 1844# - http://msdn.microsoft.com/en-us/library/bb172533.aspx 1845# A.k.a. D3DDECLTYPE_UDEC3 1846- name: R10G10B10X2_USCALED 1847 layout: plain 1848 colorspace: RGB 1849 block: {width: 1, height: 1, depth: 1} 1850 channels: [U10, U10, U10, X2] 1851 swizzles: [X, Y, Z, 1] 1852# A.k.a. D3DDECLTYPE_DEC3N 1853- name: R10G10B10X2_SNORM 1854 layout: plain 1855 colorspace: RGB 1856 block: {width: 1, height: 1, depth: 1} 1857 channels: [SN10, SN10, SN10, X2] 1858 swizzles: [X, Y, Z, 1] 1859- name: R10G10B10X2_SINT 1860 layout: plain 1861 colorspace: RGB 1862 block: {width: 1, height: 1, depth: 1} 1863 channels: [SP10, SP10, SP10, X2] 1864 swizzles: [X, Y, Z, 1] 1865 1866 1867- name: YV12 1868 layout: planar3 1869 colorspace: YUV 1870 block: {width: 1, height: 1, depth: 1} 1871 channels: [] 1872 swizzles: [X, Y, Z, W] 1873- name: YV16 1874 layout: planar3 1875 colorspace: YUV 1876 block: {width: 1, height: 1, depth: 1} 1877 channels: [] 1878 swizzles: [X, Y, Z, W] 1879- name: IYUV 1880 layout: planar3 1881 colorspace: YUV 1882 block: {width: 1, height: 1, depth: 1} 1883 channels: [] 1884 swizzles: [X, Y, Z, W] 1885- name: NV12 1886 layout: planar2 1887 colorspace: YUV 1888 block: {width: 1, height: 1, depth: 1} 1889 channels: [] 1890 swizzles: [X, Y, Z, W] 1891- name: NV21 1892 layout: planar2 1893 colorspace: YUV 1894 block: {width: 1, height: 1, depth: 1} 1895 channels: [] 1896 swizzles: [X, Y, Z, W] 1897- name: Y8_400_UNORM 1898 layout: other 1899 colorspace: YUV 1900 block: {width: 1, height: 1, depth: 1} 1901 channels: [UN8] 1902 swizzles: [X, 0, 0, 1] 1903 1904 1905# RGB version of NV12 and YV12 for hardware that supports sampling from 1906# multiplane textures but needs color-space conversion in the shader. 1907- name: R8_G8B8_420_UNORM 1908 layout: planar2 1909 colorspace: RGB 1910 block: {width: 1, height: 1, depth: 1} 1911 channels: [UN8] 1912 swizzles: [X, Y, Z, W] 1913- name: R8_B8G8_420_UNORM 1914 layout: planar2 1915 colorspace: RGB 1916 block: {width: 1, height: 1, depth: 1} 1917 channels: [UN8] 1918 swizzles: [X, Y, Z, W] 1919- name: G8_B8R8_420_UNORM 1920 layout: planar2 1921 colorspace: RGB 1922 block: {width: 1, height: 1, depth: 1} 1923 channels: [UN8] 1924 swizzles: [X, Y, Z, W] 1925- name: R8_G8_B8_420_UNORM 1926 layout: planar3 1927 colorspace: RGB 1928 block: {width: 1, height: 1, depth: 1} 1929 channels: [UN8] 1930 swizzles: [X, Y, Z, W] 1931- name: R8_B8_G8_420_UNORM 1932 layout: planar3 1933 colorspace: RGB 1934 block: {width: 1, height: 1, depth: 1} 1935 channels: [UN8] 1936 swizzles: [X, Y, Z, W] 1937- name: G8_B8_R8_420_UNORM 1938 layout: planar3 1939 colorspace: RGB 1940 block: {width: 1, height: 1, depth: 1} 1941 channels: [UN8] 1942 swizzles: [X, Y, Z, W] 1943- name: R8_G8_B8_UNORM 1944 layout: planar3 1945 colorspace: RGB 1946 block: {width: 1, height: 1, depth: 1} 1947 channels: [UN8] 1948 swizzles: [X, Y, Z, W] 1949 1950# While most of Mesa uses R8 for Y, U, and V planes, freedreno requires distinguishing 1951# between tiled Y8 data and tiled R8 data. 1952- name: Y8_UNORM 1953 layout: other 1954 colorspace: YUV 1955 block: {width: 1, height: 1, depth: 1} 1956 channels: [UN8] 1957 swizzles: [X, 0, 0, 1] 1958 1959- name: Y8_U8_V8_422_UNORM 1960 layout: planar3 1961 colorspace: YUV 1962 block: {width: 1, height: 1, depth: 1} 1963 channels: [] 1964 swizzles: [X, Y, Z, W] 1965- name: Y8_U8V8_422_UNORM 1966 layout: planar2 1967 colorspace: YUV 1968 block: {width: 1, height: 1, depth: 1} 1969 channels: [] 1970 swizzles: [X, Y, Z, W] 1971- name: Y8_U8_V8_444_UNORM 1972 layout: planar3 1973 colorspace: YUV 1974 block: {width: 1, height: 1, depth: 1} 1975 channels: [] 1976 swizzles: [X, Y, Z, W] 1977- name: Y8_U8_V8_440_UNORM 1978 layout: planar3 1979 colorspace: YUV 1980 block: {width: 1, height: 1, depth: 1} 1981 channels: [] 1982 swizzles: [X, Y, Z, W] 1983 1984 1985- name: Y16_U16_V16_420_UNORM 1986 layout: planar3 1987 colorspace: YUV 1988 block: {width: 1, height: 1, depth: 1} 1989 channels: [] 1990 swizzles: [X, Y, Z, W] 1991- name: Y16_U16_V16_422_UNORM 1992 layout: planar3 1993 colorspace: YUV 1994 block: {width: 1, height: 1, depth: 1} 1995 channels: [] 1996 swizzles: [X, Y, Z, W] 1997- name: Y16_U16V16_422_UNORM 1998 layout: planar2 1999 colorspace: YUV 2000 block: {width: 1, height: 1, depth: 1} 2001 channels: [] 2002 swizzles: [X, Y, Z, W] 2003- name: Y16_U16_V16_444_UNORM 2004 layout: planar3 2005 colorspace: YUV 2006 block: {width: 1, height: 1, depth: 1} 2007 channels: [] 2008 swizzles: [X, Y, Z, W] 2009 2010 2011- name: P010 2012 layout: planar2 2013 colorspace: YUV 2014 block: {width: 1, height: 1, depth: 1} 2015 channels: [] 2016 swizzles: [X, Y, Z, W] 2017- name: P012 2018 layout: planar2 2019 colorspace: YUV 2020 block: {width: 1, height: 1, depth: 1} 2021 channels: [] 2022 swizzles: [X, Y, Z, W] 2023- name: P016 2024 layout: planar2 2025 colorspace: YUV 2026 block: {width: 1, height: 1, depth: 1} 2027 channels: [] 2028 swizzles: [X, Y, Z, W] 2029- name: P030 2030 layout: planar2 2031 colorspace: YUV 2032 block: {width: 1, height: 1, depth: 1} 2033 channels: [] 2034 swizzles: [X, Y, Z, W] 2035 2036 2037- name: Y210 2038 layout: subsampled 2039 colorspace: YUV 2040 block: {width: 2, height: 1, depth: 1} 2041 channels: [X64] 2042 swizzles: [X, Y, Z, 1] 2043- name: Y212 2044 layout: subsampled 2045 colorspace: YUV 2046 block: {width: 2, height: 1, depth: 1} 2047 channels: [X64] 2048 swizzles: [X, Y, Z, 1] 2049- name: Y216 2050 layout: subsampled 2051 colorspace: YUV 2052 block: {width: 2, height: 1, depth: 1} 2053 channels: [X64] 2054 swizzles: [X, Y, Z, 1] 2055 2056 2057- name: Y410 2058 layout: other 2059 colorspace: YUV 2060 block: {width: 1, height: 1, depth: 1} 2061 channels: [UN10, UN10, UN10, UN2] 2062 swizzles: [Y, Z, X, W] 2063- name: Y412 2064 layout: other 2065 colorspace: YUV 2066 block: {width: 1, height: 1, depth: 1} 2067 channels: [UN16, UN16, UN16, UN16] 2068 swizzles: [Y, Z, X, W] 2069- name: Y416 2070 layout: other 2071 colorspace: YUV 2072 block: {width: 1, height: 1, depth: 1} 2073 channels: [UN16, UN16, UN16, UN16] 2074 swizzles: [Y, Z, X, W] 2075 2076 2077# Usually used to implement IA44 and AI44 formats in video decoding 2078- name: A4R4_UNORM 2079 layout: plain 2080 colorspace: RGB 2081 block: {width: 1, height: 1, depth: 1} 2082 channels: [UN4, UN4] 2083 swizzles: [Y, 0, 0, X] 2084- name: R4A4_UNORM 2085 layout: plain 2086 colorspace: RGB 2087 block: {width: 1, height: 1, depth: 1} 2088 channels: [UN4, UN4] 2089 swizzles: [X, 0, 0, Y] 2090- name: R8A8_UNORM 2091 layout: plain 2092 colorspace: RGB 2093 block: {width: 1, height: 1, depth: 1} 2094 channels: [UN8, UN8] 2095 swizzles: [X, 0, 0, Y] 2096- name: A8R8_UNORM 2097 layout: plain 2098 colorspace: RGB 2099 block: {width: 1, height: 1, depth: 1} 2100 channels: [UN8, UN8] 2101 swizzles: [Y, 0, 0, X] 2102 2103 2104# ARB_vertex_type_10_10_10_2_REV 2105- name: R10G10B10A2_USCALED 2106 layout: plain 2107 colorspace: RGB 2108 block: {width: 1, height: 1, depth: 1} 2109 channels: [U10, U10, U10, U2] 2110 swizzles: [X, Y, Z, W] 2111- name: R10G10B10A2_SSCALED 2112 layout: plain 2113 colorspace: RGB 2114 block: {width: 1, height: 1, depth: 1} 2115 channels: [S10, S10, S10, S2] 2116 swizzles: [X, Y, Z, W] 2117- name: R10G10B10A2_SNORM 2118 layout: plain 2119 colorspace: RGB 2120 block: {width: 1, height: 1, depth: 1} 2121 channels: [SN10, SN10, SN10, SN2] 2122 swizzles: [X, Y, Z, W] 2123- name: B10G10R10A2_USCALED 2124 layout: plain 2125 colorspace: RGB 2126 block: {width: 1, height: 1, depth: 1} 2127 channels: [U10, U10, U10, U2] 2128 swizzles: [Z, Y, X, W] 2129- name: B10G10R10A2_SSCALED 2130 layout: plain 2131 colorspace: RGB 2132 block: {width: 1, height: 1, depth: 1} 2133 channels: [S10, S10, S10, S2] 2134 swizzles: [Z, Y, X, W] 2135- name: B10G10R10A2_SNORM 2136 layout: plain 2137 colorspace: RGB 2138 block: {width: 1, height: 1, depth: 1} 2139 channels: [SN10, SN10, SN10, SN2] 2140 swizzles: [Z, Y, X, W] 2141 2142 2143- name: R8_UINT 2144 layout: plain 2145 colorspace: RGB 2146 block: {width: 1, height: 1, depth: 1} 2147 channels: [UP8] 2148 swizzles: [X, 0, 0, 1] 2149- name: R8G8_UINT 2150 layout: plain 2151 colorspace: RGB 2152 block: {width: 1, height: 1, depth: 1} 2153 channels: [UP8, UP8] 2154 swizzles: [X, Y, 0, 1] 2155- name: R8G8B8_UINT 2156 layout: plain 2157 colorspace: RGB 2158 block: {width: 1, height: 1, depth: 1} 2159 channels: [UP8, UP8, UP8] 2160 swizzles: [X, Y, Z, 1] 2161- name: R8G8B8A8_UINT 2162 layout: plain 2163 colorspace: RGB 2164 block: {width: 1, height: 1, depth: 1} 2165 channels: [UP8, UP8, UP8, UP8] 2166 swizzles: [X, Y, Z, W] 2167 little_endian: 2168 alias: RGBA8888_UINT 2169 big_endian: 2170 alias: ABGR8888_UINT 2171 2172 2173- name: R8_SINT 2174 layout: plain 2175 colorspace: RGB 2176 block: {width: 1, height: 1, depth: 1} 2177 channels: [SP8] 2178 swizzles: [X, 0, 0, 1] 2179- name: R8G8_SINT 2180 layout: plain 2181 colorspace: RGB 2182 block: {width: 1, height: 1, depth: 1} 2183 channels: [SP8, SP8] 2184 swizzles: [X, Y, 0, 1] 2185- name: R8G8B8_SINT 2186 layout: plain 2187 colorspace: RGB 2188 block: {width: 1, height: 1, depth: 1} 2189 channels: [SP8, SP8, SP8] 2190 swizzles: [X, Y, Z, 1] 2191- name: R8G8B8A8_SINT 2192 layout: plain 2193 colorspace: RGB 2194 block: {width: 1, height: 1, depth: 1} 2195 channels: [SP8, SP8, SP8, SP8] 2196 swizzles: [X, Y, Z, W] 2197 little_endian: 2198 alias: RGBA8888_SINT 2199 2200 2201- name: R16_UINT 2202 layout: plain 2203 colorspace: RGB 2204 block: {width: 1, height: 1, depth: 1} 2205 channels: [UP16] 2206 swizzles: [X, 0, 0, 1] 2207- name: R16G16_UINT 2208 layout: plain 2209 colorspace: RGB 2210 block: {width: 1, height: 1, depth: 1} 2211 channels: [UP16, UP16] 2212 swizzles: [X, Y, 0, 1] 2213- name: R16G16B16_UINT 2214 layout: plain 2215 colorspace: RGB 2216 block: {width: 1, height: 1, depth: 1} 2217 channels: [UP16, UP16, UP16] 2218 swizzles: [X, Y, Z, 1] 2219- name: R16G16B16A16_UINT 2220 layout: plain 2221 colorspace: RGB 2222 block: {width: 1, height: 1, depth: 1} 2223 channels: [UP16, UP16, UP16, UP16] 2224 swizzles: [X, Y, Z, W] 2225 2226 2227- name: R16_SINT 2228 layout: plain 2229 colorspace: RGB 2230 block: {width: 1, height: 1, depth: 1} 2231 channels: [SP16] 2232 swizzles: [X, 0, 0, 1] 2233- name: R16G16_SINT 2234 layout: plain 2235 colorspace: RGB 2236 block: {width: 1, height: 1, depth: 1} 2237 channels: [SP16, SP16] 2238 swizzles: [X, Y, 0, 1] 2239- name: R16G16B16_SINT 2240 layout: plain 2241 colorspace: RGB 2242 block: {width: 1, height: 1, depth: 1} 2243 channels: [SP16, SP16, SP16] 2244 swizzles: [X, Y, Z, 1] 2245- name: R16G16B16A16_SINT 2246 layout: plain 2247 colorspace: RGB 2248 block: {width: 1, height: 1, depth: 1} 2249 channels: [SP16, SP16, SP16, SP16] 2250 swizzles: [X, Y, Z, W] 2251 2252 2253- name: R32_UINT 2254 layout: plain 2255 colorspace: RGB 2256 block: {width: 1, height: 1, depth: 1} 2257 channels: [UP32] 2258 swizzles: [X, 0, 0, 1] 2259- name: R32G32_UINT 2260 layout: plain 2261 colorspace: RGB 2262 block: {width: 1, height: 1, depth: 1} 2263 channels: [UP32, UP32] 2264 swizzles: [X, Y, 0, 1] 2265- name: R32G32B32_UINT 2266 layout: plain 2267 colorspace: RGB 2268 block: {width: 1, height: 1, depth: 1} 2269 channels: [UP32, UP32, UP32] 2270 swizzles: [X, Y, Z, 1] 2271- name: R32G32B32A32_UINT 2272 layout: plain 2273 colorspace: RGB 2274 block: {width: 1, height: 1, depth: 1} 2275 channels: [UP32, UP32, UP32, UP32] 2276 swizzles: [X, Y, Z, W] 2277 2278 2279- name: R32_SINT 2280 layout: plain 2281 colorspace: RGB 2282 block: {width: 1, height: 1, depth: 1} 2283 channels: [SP32] 2284 swizzles: [X, 0, 0, 1] 2285- name: R32G32_SINT 2286 layout: plain 2287 colorspace: RGB 2288 block: {width: 1, height: 1, depth: 1} 2289 channels: [SP32, SP32] 2290 swizzles: [X, Y, 0, 1] 2291- name: R32G32B32_SINT 2292 layout: plain 2293 colorspace: RGB 2294 block: {width: 1, height: 1, depth: 1} 2295 channels: [SP32, SP32, SP32] 2296 swizzles: [X, Y, Z, 1] 2297- name: R32G32B32A32_SINT 2298 layout: plain 2299 colorspace: RGB 2300 block: {width: 1, height: 1, depth: 1} 2301 channels: [SP32, SP32, SP32, SP32] 2302 swizzles: [X, Y, Z, W] 2303 2304 2305- name: R64_UINT 2306 layout: plain 2307 colorspace: RGB 2308 block: {width: 1, height: 1, depth: 1} 2309 channels: [UP64] 2310 swizzles: [X, 0, 0, 1] 2311- name: R64G64_UINT 2312 layout: plain 2313 colorspace: RGB 2314 block: {width: 1, height: 1, depth: 1} 2315 channels: [UP64, UP64] 2316 swizzles: [X, Y, 0, 1] 2317- name: R64G64B64_UINT 2318 layout: plain 2319 colorspace: RGB 2320 block: {width: 1, height: 1, depth: 1} 2321 channels: [UP64, UP64, UP64] 2322 swizzles: [X, Y, Z, 1] 2323- name: R64G64B64A64_UINT 2324 layout: plain 2325 colorspace: RGB 2326 block: {width: 1, height: 1, depth: 1} 2327 channels: [UP64, UP64, UP64, UP64] 2328 swizzles: [X, Y, Z, W] 2329 2330 2331- name: R64_SINT 2332 layout: plain 2333 colorspace: RGB 2334 block: {width: 1, height: 1, depth: 1} 2335 channels: [SP64] 2336 swizzles: [X, 0, 0, 1] 2337- name: R64G64_SINT 2338 layout: plain 2339 colorspace: RGB 2340 block: {width: 1, height: 1, depth: 1} 2341 channels: [SP64, SP64] 2342 swizzles: [X, Y, 0, 1] 2343- name: R64G64B64_SINT 2344 layout: plain 2345 colorspace: RGB 2346 block: {width: 1, height: 1, depth: 1} 2347 channels: [SP64, SP64, SP64] 2348 swizzles: [X, Y, Z, 1] 2349- name: R64G64B64A64_SINT 2350 layout: plain 2351 colorspace: RGB 2352 block: {width: 1, height: 1, depth: 1} 2353 channels: [SP64, SP64, SP64, SP64] 2354 swizzles: [X, Y, Z, W] 2355 2356 2357- name: A8_UINT 2358 layout: plain 2359 colorspace: RGB 2360 block: {width: 1, height: 1, depth: 1} 2361 channels: [UP8] 2362 swizzles: [0, 0, 0, X] 2363- name: I8_UINT 2364 layout: plain 2365 colorspace: RGB 2366 block: {width: 1, height: 1, depth: 1} 2367 channels: [UP8] 2368 swizzles: [X, X, X, X] 2369- name: L8_UINT 2370 layout: plain 2371 colorspace: RGB 2372 block: {width: 1, height: 1, depth: 1} 2373 channels: [UP8] 2374 swizzles: [X, X, X, 1] 2375- name: L8A8_UINT 2376 layout: plain 2377 colorspace: RGB 2378 block: {width: 1, height: 1, depth: 1} 2379 channels: [UP8, UP8] 2380 swizzles: [X, X, X, Y] 2381 2382 2383- name: A8_SINT 2384 layout: plain 2385 colorspace: RGB 2386 block: {width: 1, height: 1, depth: 1} 2387 channels: [SP8] 2388 swizzles: [0, 0, 0, X] 2389- name: I8_SINT 2390 layout: plain 2391 colorspace: RGB 2392 block: {width: 1, height: 1, depth: 1} 2393 channels: [SP8] 2394 swizzles: [X, X, X, X] 2395- name: L8_SINT 2396 layout: plain 2397 colorspace: RGB 2398 block: {width: 1, height: 1, depth: 1} 2399 channels: [SP8] 2400 swizzles: [X, X, X, 1] 2401- name: L8A8_SINT 2402 layout: plain 2403 colorspace: RGB 2404 block: {width: 1, height: 1, depth: 1} 2405 channels: [SP8, SP8] 2406 swizzles: [X, X, X, Y] 2407 2408 2409- name: A16_UINT 2410 layout: plain 2411 colorspace: RGB 2412 block: {width: 1, height: 1, depth: 1} 2413 channels: [UP16] 2414 swizzles: [0, 0, 0, X] 2415- name: I16_UINT 2416 layout: plain 2417 colorspace: RGB 2418 block: {width: 1, height: 1, depth: 1} 2419 channels: [UP16] 2420 swizzles: [X, X, X, X] 2421- name: L16_UINT 2422 layout: plain 2423 colorspace: RGB 2424 block: {width: 1, height: 1, depth: 1} 2425 channels: [UP16] 2426 swizzles: [X, X, X, 1] 2427- name: L16A16_UINT 2428 layout: plain 2429 colorspace: RGB 2430 block: {width: 1, height: 1, depth: 1} 2431 channels: [UP16, UP16] 2432 swizzles: [X, X, X, Y] 2433 2434- name: A16_SINT 2435 layout: plain 2436 colorspace: RGB 2437 block: {width: 1, height: 1, depth: 1} 2438 channels: [SP16] 2439 swizzles: [0, 0, 0, X] 2440- name: I16_SINT 2441 layout: plain 2442 colorspace: RGB 2443 block: {width: 1, height: 1, depth: 1} 2444 channels: [SP16] 2445 swizzles: [X, X, X, X] 2446- name: L16_SINT 2447 layout: plain 2448 colorspace: RGB 2449 block: {width: 1, height: 1, depth: 1} 2450 channels: [SP16] 2451 swizzles: [X, X, X, 1] 2452- name: L16A16_SINT 2453 layout: plain 2454 colorspace: RGB 2455 block: {width: 1, height: 1, depth: 1} 2456 channels: [SP16, SP16] 2457 swizzles: [X, X, X, Y] 2458 2459 2460- name: A32_UINT 2461 layout: plain 2462 colorspace: RGB 2463 block: {width: 1, height: 1, depth: 1} 2464 channels: [UP32] 2465 swizzles: [0, 0, 0, X] 2466- name: I32_UINT 2467 layout: plain 2468 colorspace: RGB 2469 block: {width: 1, height: 1, depth: 1} 2470 channels: [UP32] 2471 swizzles: [X, X, X, X] 2472- name: L32_UINT 2473 layout: plain 2474 colorspace: RGB 2475 block: {width: 1, height: 1, depth: 1} 2476 channels: [UP32] 2477 swizzles: [X, X, X, 1] 2478- name: L32A32_UINT 2479 layout: plain 2480 colorspace: RGB 2481 block: {width: 1, height: 1, depth: 1} 2482 channels: [UP32, UP32] 2483 swizzles: [X, X, X, Y] 2484 2485 2486- name: A32_SINT 2487 layout: plain 2488 colorspace: RGB 2489 block: {width: 1, height: 1, depth: 1} 2490 channels: [SP32] 2491 swizzles: [0, 0, 0, X] 2492- name: I32_SINT 2493 layout: plain 2494 colorspace: RGB 2495 block: {width: 1, height: 1, depth: 1} 2496 channels: [SP32] 2497 swizzles: [X, X, X, X] 2498- name: L32_SINT 2499 layout: plain 2500 colorspace: RGB 2501 block: {width: 1, height: 1, depth: 1} 2502 channels: [SP32] 2503 swizzles: [X, X, X, 1] 2504- name: L32A32_SINT 2505 layout: plain 2506 colorspace: RGB 2507 block: {width: 1, height: 1, depth: 1} 2508 channels: [SP32, SP32] 2509 swizzles: [X, X, X, Y] 2510 2511 2512- name: B8G8R8_UINT 2513 layout: plain 2514 colorspace: RGB 2515 block: {width: 1, height: 1, depth: 1} 2516 channels: [UP8, UP8, UP8] 2517 swizzles: [Z, Y, X, 1] 2518- name: B8G8R8A8_UINT 2519 layout: plain 2520 colorspace: RGB 2521 block: {width: 1, height: 1, depth: 1} 2522 channels: [UP8, UP8, UP8, UP8] 2523 swizzles: [Z, Y, X, W] 2524 little_endian: 2525 alias: BGRA8888_UINT 2526 big_endian: 2527 alias: ARGB8888_UINT 2528 2529 2530- name: B8G8R8_SINT 2531 layout: plain 2532 colorspace: RGB 2533 block: {width: 1, height: 1, depth: 1} 2534 channels: [SP8, SP8, SP8] 2535 swizzles: [Z, Y, X, 1] 2536- name: B8G8R8A8_SINT 2537 layout: plain 2538 colorspace: RGB 2539 block: {width: 1, height: 1, depth: 1} 2540 channels: [SP8, SP8, SP8, SP8] 2541 swizzles: [Z, Y, X, W] 2542 2543 2544- name: A8R8G8B8_UINT 2545 layout: plain 2546 colorspace: RGB 2547 block: {width: 1, height: 1, depth: 1} 2548 channels: [UP8, UP8, UP8, UP8] 2549 swizzles: [Y, Z, W, X] 2550 little_endian: 2551 alias: ARGB8888_UINT 2552 big_endian: 2553 alias: BGRA8888_UINT 2554- name: A8B8G8R8_UINT 2555 layout: plain 2556 colorspace: RGB 2557 block: {width: 1, height: 1, depth: 1} 2558 channels: [UP8, UP8, UP8, UP8] 2559 swizzles: [W, Z, Y, X] 2560 little_endian: 2561 alias: ABGR8888_UINT 2562 big_endian: 2563 alias: RGBA8888_UINT 2564- name: A2R10G10B10_UINT 2565 layout: plain 2566 colorspace: RGB 2567 block: {width: 1, height: 1, depth: 1} 2568 channels: [UP2, UP10, UP10, UP10] 2569 swizzles: [Y, Z, W, X] 2570- name: A2B10G10R10_UINT 2571 layout: plain 2572 colorspace: RGB 2573 block: {width: 1, height: 1, depth: 1} 2574 channels: [UP2, UP10, UP10, UP10] 2575 swizzles: [W, Z, Y, X] 2576- name: B10G10R10A2_UINT 2577 layout: plain 2578 colorspace: RGB 2579 block: {width: 1, height: 1, depth: 1} 2580 channels: [UP10, UP10, UP10, UP2] 2581 swizzles: [Z, Y, X, W] 2582- name: B10G10R10A2_SINT 2583 layout: plain 2584 colorspace: RGB 2585 block: {width: 1, height: 1, depth: 1} 2586 channels: [SP10, SP10, SP10, SP2] 2587 swizzles: [Z, Y, X, W] 2588- name: R5G6B5_UINT 2589 layout: plain 2590 colorspace: RGB 2591 block: {width: 1, height: 1, depth: 1} 2592 channels: [UP5, UP6, UP5] 2593 swizzles: [X, Y, Z, 1] 2594- name: B5G6R5_UINT 2595 layout: plain 2596 colorspace: RGB 2597 block: {width: 1, height: 1, depth: 1} 2598 channels: [UP5, UP6, UP5] 2599 swizzles: [Z, Y, X, 1] 2600- name: R3G3B2_UINT 2601 layout: plain 2602 colorspace: RGB 2603 block: {width: 1, height: 1, depth: 1} 2604 channels: [UP3, UP3, UP2] 2605 swizzles: [X, Y, Z, 1] 2606- name: B2G3R3_UINT 2607 layout: plain 2608 colorspace: RGB 2609 block: {width: 1, height: 1, depth: 1} 2610 channels: [UP2, UP3, UP3] 2611 swizzles: [Z, Y, X, 1] 2612- name: R4G4B4A4_UINT 2613 layout: plain 2614 colorspace: RGB 2615 block: {width: 1, height: 1, depth: 1} 2616 channels: [UP4, UP4, UP4, UP4] 2617 swizzles: [X, Y, Z, W] 2618- name: B4G4R4A4_UINT 2619 layout: plain 2620 colorspace: RGB 2621 block: {width: 1, height: 1, depth: 1} 2622 channels: [UP4, UP4, UP4, UP4] 2623 swizzles: [Z, Y, X, W] 2624- name: A4R4G4B4_UINT 2625 layout: plain 2626 colorspace: RGB 2627 block: {width: 1, height: 1, depth: 1} 2628 channels: [UP4, UP4, UP4, UP4] 2629 swizzles: [Y, Z, W, X] 2630- name: A4B4G4R4_UINT 2631 layout: plain 2632 colorspace: RGB 2633 block: {width: 1, height: 1, depth: 1} 2634 channels: [UP4, UP4, UP4, UP4] 2635 swizzles: [W, Z, Y, X] 2636- name: A1R5G5B5_UINT 2637 layout: plain 2638 colorspace: RGB 2639 block: {width: 1, height: 1, depth: 1} 2640 channels: [UP1, UP5, UP5, UP5] 2641 swizzles: [Y, Z, W, X] 2642- name: A1B5G5R5_UINT 2643 layout: plain 2644 colorspace: RGB 2645 block: {width: 1, height: 1, depth: 1} 2646 channels: [UP1, UP5, UP5, UP5] 2647 swizzles: [W, Z, Y, X] 2648- name: R5G5B5A1_UINT 2649 layout: plain 2650 colorspace: RGB 2651 block: {width: 1, height: 1, depth: 1} 2652 channels: [UP5, UP5, UP5, UP1] 2653 swizzles: [X, Y, Z, W] 2654- name: B5G5R5A1_UINT 2655 layout: plain 2656 colorspace: RGB 2657 block: {width: 1, height: 1, depth: 1} 2658 channels: [UP5, UP5, UP5, UP1] 2659 swizzles: [Z, Y, X, W] 2660 2661 2662- name: R8G8B8X8_SNORM 2663 layout: plain 2664 colorspace: RGB 2665 block: {width: 1, height: 1, depth: 1} 2666 channels: [SN8, SN8, SN8, X8] 2667 swizzles: [X, Y, Z, 1] 2668 little_endian: 2669 alias: RGBX8888_SNORM 2670 big_endian: 2671 alias: XBGR8888_SNORM 2672- name: R8G8B8X8_SRGB 2673 layout: plain 2674 colorspace: SRGB 2675 block: {width: 1, height: 1, depth: 1} 2676 channels: [UN8, UN8, UN8, X8] 2677 swizzles: [X, Y, Z, 1] 2678 little_endian: 2679 alias: RGBX8888_SRGB 2680 big_endian: 2681 alias: XBGR8888_SRGB 2682- name: R8G8B8X8_UINT 2683 layout: plain 2684 colorspace: RGB 2685 block: {width: 1, height: 1, depth: 1} 2686 channels: [UP8, UP8, UP8, X8] 2687 swizzles: [X, Y, Z, 1] 2688- name: R8G8B8X8_SINT 2689 layout: plain 2690 colorspace: RGB 2691 block: {width: 1, height: 1, depth: 1} 2692 channels: [SP8, SP8, SP8, X8] 2693 swizzles: [X, Y, Z, 1] 2694- name: B10G10R10X2_UNORM 2695 layout: plain 2696 colorspace: RGB 2697 block: {width: 1, height: 1, depth: 1} 2698 channels: [UN10, UN10, UN10, X2] 2699 swizzles: [Z, Y, X, 1] 2700- name: B10G10R10X2_SNORM 2701 layout: plain 2702 colorspace: RGB 2703 block: {width: 1, height: 1, depth: 1} 2704 channels: [SN10, SN10, SN10, X2] 2705 swizzles: [Z, Y, X, 1] 2706- name: B10G10R10X2_SINT 2707 layout: plain 2708 colorspace: RGB 2709 block: {width: 1, height: 1, depth: 1} 2710 channels: [SP10, SP10, SP10, X2] 2711 swizzles: [Z, Y, X, 1] 2712- name: R16G16B16X16_UNORM 2713 layout: plain 2714 colorspace: RGB 2715 block: {width: 1, height: 1, depth: 1} 2716 channels: [UN16, UN16, UN16, X16] 2717 swizzles: [X, Y, Z, 1] 2718- name: R16G16B16X16_SNORM 2719 layout: plain 2720 colorspace: RGB 2721 block: {width: 1, height: 1, depth: 1} 2722 channels: [SN16, SN16, SN16, X16] 2723 swizzles: [X, Y, Z, 1] 2724- name: R16G16B16X16_FLOAT 2725 layout: plain 2726 colorspace: RGB 2727 block: {width: 1, height: 1, depth: 1} 2728 channels: [F16, F16, F16, X16] 2729 swizzles: [X, Y, Z, 1] 2730- name: R16G16B16X16_UINT 2731 layout: plain 2732 colorspace: RGB 2733 block: {width: 1, height: 1, depth: 1} 2734 channels: [UP16, UP16, UP16, X16] 2735 swizzles: [X, Y, Z, 1] 2736- name: R16G16B16X16_SINT 2737 layout: plain 2738 colorspace: RGB 2739 block: {width: 1, height: 1, depth: 1} 2740 channels: [SP16, SP16, SP16, X16] 2741 swizzles: [X, Y, Z, 1] 2742- name: R32G32B32X32_FLOAT 2743 layout: plain 2744 colorspace: RGB 2745 block: {width: 1, height: 1, depth: 1} 2746 channels: [F32, F32, F32, X32] 2747 swizzles: [X, Y, Z, 1] 2748- name: R32G32B32X32_UINT 2749 layout: plain 2750 colorspace: RGB 2751 block: {width: 1, height: 1, depth: 1} 2752 channels: [UP32, UP32, UP32, X32] 2753 swizzles: [X, Y, Z, 1] 2754- name: R32G32B32X32_SINT 2755 layout: plain 2756 colorspace: RGB 2757 block: {width: 1, height: 1, depth: 1} 2758 channels: [SP32, SP32, SP32, X32] 2759 swizzles: [X, Y, Z, 1] 2760 2761 2762- name: R8A8_SNORM 2763 layout: plain 2764 colorspace: RGB 2765 block: {width: 1, height: 1, depth: 1} 2766 channels: [SN8, SN8] 2767 swizzles: [X, 0, 0, Y] 2768- name: R16A16_UNORM 2769 layout: plain 2770 colorspace: RGB 2771 block: {width: 1, height: 1, depth: 1} 2772 channels: [UN16, UN16] 2773 swizzles: [X, 0, 0, Y] 2774- name: R16A16_SNORM 2775 layout: plain 2776 colorspace: RGB 2777 block: {width: 1, height: 1, depth: 1} 2778 channels: [SN16, SN16] 2779 swizzles: [X, 0, 0, Y] 2780- name: R16A16_FLOAT 2781 layout: plain 2782 colorspace: RGB 2783 block: {width: 1, height: 1, depth: 1} 2784 channels: [F16, F16] 2785 swizzles: [X, 0, 0, Y] 2786- name: R32A32_FLOAT 2787 layout: plain 2788 colorspace: RGB 2789 block: {width: 1, height: 1, depth: 1} 2790 channels: [F32, F32] 2791 swizzles: [X, 0, 0, Y] 2792- name: R8A8_UINT 2793 layout: plain 2794 colorspace: RGB 2795 block: {width: 1, height: 1, depth: 1} 2796 channels: [UP8, UP8] 2797 swizzles: [X, 0, 0, Y] 2798- name: R8A8_SINT 2799 layout: plain 2800 colorspace: RGB 2801 block: {width: 1, height: 1, depth: 1} 2802 channels: [SP8, SP8] 2803 swizzles: [X, 0, 0, Y] 2804- name: R16A16_UINT 2805 layout: plain 2806 colorspace: RGB 2807 block: {width: 1, height: 1, depth: 1} 2808 channels: [UP16, UP16] 2809 swizzles: [X, 0, 0, Y] 2810- name: R16A16_SINT 2811 layout: plain 2812 colorspace: RGB 2813 block: {width: 1, height: 1, depth: 1} 2814 channels: [SP16, SP16] 2815 swizzles: [X, 0, 0, Y] 2816- name: R32A32_UINT 2817 layout: plain 2818 colorspace: RGB 2819 block: {width: 1, height: 1, depth: 1} 2820 channels: [UP32, UP32] 2821 swizzles: [X, 0, 0, Y] 2822- name: R32A32_SINT 2823 layout: plain 2824 colorspace: RGB 2825 block: {width: 1, height: 1, depth: 1} 2826 channels: [SP32, SP32] 2827 swizzles: [X, 0, 0, Y] 2828- name: R10G10B10A2_UINT 2829 layout: plain 2830 colorspace: RGB 2831 block: {width: 1, height: 1, depth: 1} 2832 channels: [UP10, UP10, UP10, UP2] 2833 swizzles: [X, Y, Z, W] 2834- name: R10G10B10A2_SINT 2835 layout: plain 2836 colorspace: RGB 2837 block: {width: 1, height: 1, depth: 1} 2838 channels: [SP10, SP10, SP10, SP2] 2839 swizzles: [X, Y, Z, W] 2840 2841 2842- name: B5G6R5_SRGB 2843 layout: plain 2844 colorspace: SRGB 2845 block: {width: 1, height: 1, depth: 1} 2846 channels: [UN5, UN6, UN5] 2847 swizzles: [Z, Y, X, 1] 2848- name: R5G6B5_SRGB 2849 layout: plain 2850 colorspace: SRGB 2851 block: {width: 1, height: 1, depth: 1} 2852 channels: [UN5, UN6, UN5] 2853 swizzles: [X, Y, Z, 1] 2854 2855 2856- name: G8R8_UNORM 2857 layout: plain 2858 colorspace: RGB 2859 block: {width: 1, height: 1, depth: 1} 2860 channels: [UN8, UN8] 2861 swizzles: [Y, X, 0, 1] 2862 little_endian: 2863 alias: GR88_UNORM 2864 big_endian: 2865 alias: RG88_UNORM 2866- name: G8R8_SNORM 2867 layout: plain 2868 colorspace: RGB 2869 block: {width: 1, height: 1, depth: 1} 2870 channels: [SN8, SN8] 2871 swizzles: [Y, X, 0, 1] 2872 little_endian: 2873 alias: GR88_SNORM 2874 big_endian: 2875 alias: RG88_SNORM 2876- name: G8R8_SINT 2877 layout: plain 2878 colorspace: RGB 2879 block: {width: 1, height: 1, depth: 1} 2880 channels: [SP8, SP8] 2881 swizzles: [Y, X, 0, 1] 2882- name: G16R16_UNORM 2883 layout: plain 2884 colorspace: RGB 2885 block: {width: 1, height: 1, depth: 1} 2886 channels: [UN16, UN16] 2887 swizzles: [Y, X, 0, 1] 2888 little_endian: 2889 alias: GR1616_UNORM 2890 big_endian: 2891 alias: RG1616_UNORM 2892- name: G16R16_SNORM 2893 layout: plain 2894 colorspace: RGB 2895 block: {width: 1, height: 1, depth: 1} 2896 channels: [SN16, SN16] 2897 swizzles: [Y, X, 0, 1] 2898 little_endian: 2899 alias: GR1616_SNORM 2900 big_endian: 2901 alias: RG1616_SNORM 2902- name: G16R16_SINT 2903 layout: plain 2904 colorspace: RGB 2905 block: {width: 1, height: 1, depth: 1} 2906 channels: [SP16, SP16] 2907 swizzles: [Y, X, 0, 1] 2908 2909 2910- name: A8B8G8R8_SNORM 2911 layout: plain 2912 colorspace: RGB 2913 block: {width: 1, height: 1, depth: 1} 2914 channels: [SN8, SN8, SN8, SN8] 2915 swizzles: [W, Z, Y, X] 2916 little_endian: 2917 alias: ABGR8888_SNORM 2918 big_endian: 2919 alias: RGBA8888_SNORM 2920- name: A8B8G8R8_SINT 2921 layout: plain 2922 colorspace: RGB 2923 block: {width: 1, height: 1, depth: 1} 2924 channels: [SP8, SP8, SP8, SP8] 2925 swizzles: [W, Z, Y, X] 2926 big_endian: 2927 alias: RGBA8888_SINT 2928- name: X8B8G8R8_SNORM 2929 layout: plain 2930 colorspace: RGB 2931 block: {width: 1, height: 1, depth: 1} 2932 channels: [X8, SN8, SN8, SN8] 2933 swizzles: [W, Z, Y, 1] 2934 little_endian: 2935 alias: XBGR8888_SNORM 2936 big_endian: 2937 alias: RGBX8888_SNORM 2938- name: X8B8G8R8_SINT 2939 layout: plain 2940 colorspace: RGB 2941 block: {width: 1, height: 1, depth: 1} 2942 channels: [X8, SP8, SP8, SP8] 2943 swizzles: [W, Z, Y, 1] 2944