Message ID | 1547485311-812-1-git-send-email-ayan.halder@arm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/fourcc: Add modifier defininitions for AFBC 1.3 | expand |
Hi Ayan, On Mon, Jan 14, 2019 at 05:02:00PM +0000, Ayan Halder wrote: > From: Matteo Franchin <matteo.franchin@arm.com> > > This commit adds definitions of format modifiers for version 1.3 of the > Arm Framebuffer Compression (AFBC). > > Signed-off-by: Matteo Franchin <matteo.franchin@arm.com> We should have your Signed-off-by on any patches that you send, but otherwise this is: Reviewed-by: Brian Starkey <brian.starkey@arm.com> Thanks! -Brian > --- > include/uapi/drm/drm_fourcc.h | 23 +++++++++++++++++++++++ > 1 file changed, 23 insertions(+) > > diff --git a/include/uapi/drm/drm_fourcc.h b/include/uapi/drm/drm_fourcc.h > index 8dd1328..d6a20d4 100644 > --- a/include/uapi/drm/drm_fourcc.h > +++ b/include/uapi/drm/drm_fourcc.h > @@ -602,10 +602,18 @@ extern "C" { > * Indicates the superblock size(s) used for the AFBC buffer. The buffer > * size (in pixels) must be aligned to a multiple of the superblock size. > * Four lowest significant bits(LSBs) are reserved for block size. > + * > + * Where one superblock size is specified, it applies to all planes of the > + * buffer (e.g. 16x16, 32x8). When multiple superblock sizes are specified, > + * the first applies to the Luma plane and the second applies to the Chroma > + * plane(s). e.g. (32x8_64x4 means 32x8 Luma, with 64x4 Chroma). > + * Multiple superblock sizes are only valid for multi-plane YCbCr formats. > */ > #define AFBC_FORMAT_MOD_BLOCK_SIZE_MASK 0xf > #define AFBC_FORMAT_MOD_BLOCK_SIZE_16x16 (1ULL) > #define AFBC_FORMAT_MOD_BLOCK_SIZE_32x8 (2ULL) > +#define AFBC_FORMAT_MOD_BLOCK_SIZE_64x4 (3ULL) > +#define AFBC_FORMAT_MOD_BLOCK_SIZE_32x8_64x4 (4ULL) > > /* > * AFBC lossless colorspace transform > @@ -665,6 +673,21 @@ extern "C" { > */ > #define AFBC_FORMAT_MOD_SC (1ULL << 9) > > +/* > + * AFBC double-buffer > + * > + * Indicates that the buffer is allocated in a layout safe for front-buffer > + * rendering. > + */ > +#define AFBC_FORMAT_MOD_DB (1ULL << 10) > + > +/* > + * AFBC buffer content hints > + * > + * Indicates that the buffer includes per-superblock content hints. > + */ > +#define AFBC_FORMAT_MOD_BCH (1ULL << 11) > + > #if defined(__cplusplus) > } > #endif > -- > 2.7.4 >
diff --git a/include/uapi/drm/drm_fourcc.h b/include/uapi/drm/drm_fourcc.h index 8dd1328..d6a20d4 100644 --- a/include/uapi/drm/drm_fourcc.h +++ b/include/uapi/drm/drm_fourcc.h @@ -602,10 +602,18 @@ extern "C" { * Indicates the superblock size(s) used for the AFBC buffer. The buffer * size (in pixels) must be aligned to a multiple of the superblock size. * Four lowest significant bits(LSBs) are reserved for block size. + * + * Where one superblock size is specified, it applies to all planes of the + * buffer (e.g. 16x16, 32x8). When multiple superblock sizes are specified, + * the first applies to the Luma plane and the second applies to the Chroma + * plane(s). e.g. (32x8_64x4 means 32x8 Luma, with 64x4 Chroma). + * Multiple superblock sizes are only valid for multi-plane YCbCr formats. */ #define AFBC_FORMAT_MOD_BLOCK_SIZE_MASK 0xf #define AFBC_FORMAT_MOD_BLOCK_SIZE_16x16 (1ULL) #define AFBC_FORMAT_MOD_BLOCK_SIZE_32x8 (2ULL) +#define AFBC_FORMAT_MOD_BLOCK_SIZE_64x4 (3ULL) +#define AFBC_FORMAT_MOD_BLOCK_SIZE_32x8_64x4 (4ULL) /* * AFBC lossless colorspace transform @@ -665,6 +673,21 @@ extern "C" { */ #define AFBC_FORMAT_MOD_SC (1ULL << 9) +/* + * AFBC double-buffer + * + * Indicates that the buffer is allocated in a layout safe for front-buffer + * rendering. + */ +#define AFBC_FORMAT_MOD_DB (1ULL << 10) + +/* + * AFBC buffer content hints + * + * Indicates that the buffer includes per-superblock content hints. + */ +#define AFBC_FORMAT_MOD_BCH (1ULL << 11) + #if defined(__cplusplus) } #endif