This commit adds definitions of format modifiers for version 1.3 of the Arm Framebuffer Compression (AFBC).
Showing the changes to include/uapi (1 of 1 file). Show all
Unified · Split
| @@ -581,10 +581,18 @@ extern "C" { · 580 unmodified lines | |||
| 581 | * Indicates the superblock size(s) used for the AFBC buffer. The buffer | 581 | * Indicates the superblock size(s) used for the AFBC buffer. The buffer |
| 582 | * size (in pixels) must be aligned to a multiple of the superblock size. | 582 | * size (in pixels) must be aligned to a multiple of the superblock size. |
| 583 | * Four lowest significant bits(LSBs) are reserved for block size. | 583 | * Four lowest significant bits(LSBs) are reserved for block size. |
| 584 | * | ||
| 585 | * Where one superblock size is specified, it applies to all planes of the | ||
| 586 | * buffer (e.g. 16x16, 32x8). When multiple superblock sizes are specified, | ||
| 587 | * the first applies to the Luma plane and the second applies to the Chroma | ||
| 588 | * plane(s). e.g. (32x8_64x4 means 32x8 Luma, with 64x4 Chroma). | ||
| 589 | * Multiple superblock sizes are only valid for multi-plane YCbCr formats. | ||
| 584 | */ | 590 | */ |
| 585 | #define AFBC_FORMAT_MOD_BLOCK_SIZE_MASK 0xf | 591 | #define AFBC_FORMAT_MOD_BLOCK_SIZE_MASK 0xf |
| 586 | #define AFBC_FORMAT_MOD_BLOCK_SIZE_16x16 (1ULL) | 592 | #define AFBC_FORMAT_MOD_BLOCK_SIZE_16x16 (1ULL) |
| 587 | #define AFBC_FORMAT_MOD_BLOCK_SIZE_32x8 (2ULL) | 593 | #define AFBC_FORMAT_MOD_BLOCK_SIZE_32x8 (2ULL) |
| 594 | #define AFBC_FORMAT_MOD_BLOCK_SIZE_64x4 (3ULL) | ||
| 595 | #define AFBC_FORMAT_MOD_BLOCK_SIZE_32x8_64x4 (4ULL) | ||
| 588 | 596 | ||
| 589 | /* | 597 | /* |
| 590 | * AFBC lossless colorspace transform | 598 | * AFBC lossless colorspace transform |
| @@ -644,6 +652,21 @@ extern "C" { · 53 unmodified lines | |||
| 644 | */ | 652 | */ |
| 645 | #define AFBC_FORMAT_MOD_SC (1ULL << 9) | 653 | #define AFBC_FORMAT_MOD_SC (1ULL << 9) |
| 646 | 654 | ||
| 655 | /* | ||
| 656 | * AFBC double-buffer | ||
| 657 | * | ||
| 658 | * Indicates that the buffer is allocated in a layout safe for front-buffer | ||
| 659 | * rendering. | ||
| 660 | */ | ||
| 661 | #define AFBC_FORMAT_MOD_DB (1ULL << 10) | ||
| 662 | |||
| 663 | /* | ||
| 664 | * AFBC buffer content hints | ||
| 665 | * | ||
| 666 | * Indicates that the buffer includes per-superblock content hints. | ||
| 667 | */ | ||
| 668 | #define AFBC_FORMAT_MOD_BCH (1ULL << 11) | ||
| 669 | |||
| 647 | #if defined(__cplusplus) | 670 | #if defined(__cplusplus) |
| 648 | } | 671 | } |
| 649 | #endif | 672 | #endif |