From d8eff20b9b5726ab70247c648cf3e23bbb13b866 Mon Sep 17 00:00:00 2001 From: Manuel Stoeckl Date: Sun, 9 Jan 2022 21:30:29 -0500 Subject: [PATCH] gbm: add GBM_FORMAT_[AX]BGR16161616 Signed-off-by: Manuel Stoeckl Part-of: --- src/gbm/backends/dri/gbm_dri.c | 10 ++++++++++ src/gbm/main/gbm.c | 2 ++ src/gbm/main/gbm.h | 5 +++++ 3 files changed, 17 insertions(+) diff --git a/src/gbm/backends/dri/gbm_dri.c b/src/gbm/backends/dri/gbm_dri.c index 644ea3c5639..0f3148882a3 100644 --- a/src/gbm/backends/dri/gbm_dri.c +++ b/src/gbm/backends/dri/gbm_dri.c @@ -609,6 +609,16 @@ static const struct gbm_dri_visual gbm_dri_visuals_table[] = { { 0, 10, 20, 30 }, { 10, 10, 10, 2 }, }, + { + GBM_FORMAT_XBGR16161616, __DRI_IMAGE_FORMAT_XBGR16161616, + { 0, 16, 32, -1 }, + { 16, 16, 16, 0 }, + }, + { + GBM_FORMAT_ABGR16161616, __DRI_IMAGE_FORMAT_ABGR16161616, + { 0, 16, 32, 48 }, + { 16, 16, 16, 16 }, + }, { GBM_FORMAT_XBGR16161616F, __DRI_IMAGE_FORMAT_XBGR16161616F, { 0, 16, 32, -1 }, diff --git a/src/gbm/main/gbm.c b/src/gbm/main/gbm.c index ab685b878e8..599f7aae9b6 100644 --- a/src/gbm/main/gbm.c +++ b/src/gbm/main/gbm.c @@ -273,6 +273,8 @@ gbm_bo_get_bpp(struct gbm_bo *bo) case GBM_FORMAT_RGBA1010102: case GBM_FORMAT_BGRA1010102: return 32; + case GBM_FORMAT_XBGR16161616: + case GBM_FORMAT_ABGR16161616: case GBM_FORMAT_XBGR16161616F: case GBM_FORMAT_ABGR16161616F: return 64; diff --git a/src/gbm/main/gbm.h b/src/gbm/main/gbm.h index ea3cc1bac55..829c4cb63a1 100644 --- a/src/gbm/main/gbm.h +++ b/src/gbm/main/gbm.h @@ -157,6 +157,11 @@ enum gbm_bo_format { #define GBM_FORMAT_RGBA1010102 __gbm_fourcc_code('R', 'A', '3', '0') /* [31:0] R:G:B:A 10:10:10:2 little endian */ #define GBM_FORMAT_BGRA1010102 __gbm_fourcc_code('B', 'A', '3', '0') /* [31:0] B:G:R:A 10:10:10:2 little endian */ +/* 64 bpp RGB */ +#define GBM_FORMAT_XBGR16161616 __gbm_fourcc_code('X', 'B', '4', '8') /* [63:0] x:B:G:R 16:16:16:16 little endian */ + +#define GBM_FORMAT_ABGR16161616 __gbm_fourcc_code('A', 'B', '4', '8') /* [63:0] A:B:G:R 16:16:16:16 little endian */ + /* * Floating point 64bpp RGB * IEEE 754-2008 binary16 half-precision float