diff --git a/src/gbm/backends/dri/gbm_dri.c b/src/gbm/backends/dri/gbm_dri.c index d4eee4db717..560b97f2b70 100644 --- a/src/gbm/backends/dri/gbm_dri.c +++ b/src/gbm/backends/dri/gbm_dri.c @@ -538,6 +538,11 @@ static const struct gbm_dri_visual gbm_dri_visuals_table[] = { { 0, 8, -1, -1 }, { 8, 8, 0, 0 }, }, + { + GBM_FORMAT_GR1616, __DRI_IMAGE_FORMAT_GR1616, + { 0, 16, -1, -1 }, + { 16, 16, 0, 0 }, + }, { GBM_FORMAT_ARGB1555, __DRI_IMAGE_FORMAT_ARGB1555, { 10, 5, 0, 11 }, diff --git a/src/gbm/main/gbm.c b/src/gbm/main/gbm.c index c8f87f808e9..476a03cb5b8 100644 --- a/src/gbm/main/gbm.c +++ b/src/gbm/main/gbm.c @@ -251,6 +251,8 @@ gbm_bo_get_bpp(struct gbm_bo *bo) case GBM_FORMAT_RGB888: case GBM_FORMAT_BGR888: return 24; + case GBM_FORMAT_RG1616: + case GBM_FORMAT_GR1616: case GBM_FORMAT_XRGB8888: case GBM_FORMAT_XBGR8888: case GBM_FORMAT_RGBX8888: diff --git a/src/gbm/main/gbm.h b/src/gbm/main/gbm.h index a963ed78e48..ea3cc1bac55 100644 --- a/src/gbm/main/gbm.h +++ b/src/gbm/main/gbm.h @@ -100,6 +100,10 @@ enum gbm_bo_format { /* 16 bpp RG */ #define GBM_FORMAT_GR88 __gbm_fourcc_code('G', 'R', '8', '8') /* [15:0] G:R 8:8 little endian */ +/* 32 bpp RG */ +#define GBM_FORMAT_RG1616 __gbm_fourcc_code('R', 'G', '3', '2') /* [31:0] R:G 16:16 little endian */ +#define GBM_FORMAT_GR1616 __gbm_fourcc_code('G', 'R', '3', '2') /* [31:0] G:R 16:16 little endian */ + /* 8 bpp RGB */ #define GBM_FORMAT_RGB332 __gbm_fourcc_code('R', 'G', 'B', '8') /* [7:0] R:G:B 3:3:2 */ #define GBM_FORMAT_BGR233 __gbm_fourcc_code('B', 'G', 'R', '8') /* [7:0] B:G:R 2:3:3 */