.fmtvalue = G2D_FMT_NV61,
.bpp = { 8, 8 },
.num_planes = 2,
+ }, {
+ .name = "ABGR2101010",
+ .fmtvalue = G2D_FMT_ABGR2101010, /* [31:0] ABGR */
+ .bpp = { 32 },
+ .num_planes = 1,
},
};
{
u32 fmt = ((value) & G2D_DATAFMT_MASK) >> G2D_DATAFMT_SHIFT;
- if ((fmt > 13) || (fmt == 6) || (fmt == 7) || (fmt == 9))
+ if ((fmt > 14) || (fmt == 6) || (fmt == 7) || (fmt == 9))
return false;
if (IS_YUV(value) && (value & G2D_DATAFORMAT_AFBC))
u32 fmt = ((value) & G2D_DATAFMT_MASK) >> G2D_DATAFMT_SHIFT;
/* src + YCbCr420 3p, - YCbCr420 2p 8.2 */
- if ((fmt > 12) || (fmt == 6) || (fmt == 7))
+ if ((fmt > 14) || (fmt == 13) || (fmt == 6) || (fmt == 7))
return false;
/* AFBC and UORDER shoult not be set together */
#define G2D_DATAFMT_YUV422SP (11 << G2D_DATAFMT_SHIFT)
#define G2D_DATAFMT_P010 (12 << G2D_DATAFMT_SHIFT)
#define G2D_DATAFMT_YUV420SP82 (13 << G2D_DATAFMT_SHIFT)
+#define G2D_DATAFMT_2101010 (14 << G2D_DATAFMT_SHIFT)
#define G2D_FMT_ARGB8888 (G2D_DATAFMT_8888 | G2D_SWZ_ARGB)
#define G2D_FMT_ABGR8888 (G2D_DATAFMT_8888 | G2D_SWZ_ABGR)
#define G2D_FMT_NV21_82 (G2D_DATAFMT_YUV420SP82 | G2D_YUV_VU)
#define G2D_FMT_NV12_P010 (G2D_DATAFMT_P010 | G2D_YUV_UV)
#define G2D_FMT_NV21_P010 (G2D_DATAFMT_P010 | G2D_YUV_VU)
+#define G2D_FMT_ABGR2101010 (G2D_DATAFMT_2101010 | G2D_SWZ_ABGR)
#define G2D_DATAFORMAT_AFBC (1 << 20)
#define G2D_DATAFORMAT_UORDER (1 << 21)
#define IS_AFBC(fmt) ((fmt & G2D_DATAFORMAT_AFBC) != 0)
#define IS_UORDER(fmt) ((fmt & G2D_DATAFORMAT_UORDER) != 0)
-#define IS_YUV(fmt) (((fmt) & G2D_DATAFMT_MASK) > G2D_DATAFMT_RESERVED)
+#define IS_YUV(fmt) ((((fmt) & G2D_DATAFMT_MASK) > G2D_DATAFMT_RESERVED) &&\
+ (((fmt) & G2D_DATAFMT_MASK) != G2D_DATAFMT_2101010))
#define IS_YUV420(fmt) ((((fmt) >> G2D_DATAFMT_SHIFT) & 0xF) == 0x8)
#define IS_YUV422(fmt) ((((fmt) >> G2D_DATAFMT_SHIFT) & 0xE) == 0xA)
#define IS_YUV422_2P(fmt) ((((fmt) >> G2D_DATAFMT_SHIFT) & 0xF) == 0xB)
-#define IS_RGB(fmt) (((fmt) & G2D_DATAFMT_MASK) < G2D_DATAFMT_8)
+#define IS_RGB(fmt) ((((fmt) & G2D_DATAFMT_MASK) < G2D_DATAFMT_8) ||\
+ (((fmt) & G2D_DATAFMT_MASK) == G2D_DATAFMT_2101010))
#define IS_YUV420_82(fmt) (((fmt) & G2D_DATAFMT_MASK) == G2D_DATAFMT_YUV420SP82)
#define IS_AFBC_WIDTH_ALIGNED(width) IS_ALIGNED((width), 16)