gbm: add GBM_FORMAT_[AX]BGR16161616
authorManuel Stoeckl <code@mstoeckl.com>
Mon, 10 Jan 2022 02:30:29 +0000 (21:30 -0500)
committerMarge Bot <emma+marge@anholt.net>
Wed, 27 Jul 2022 07:27:10 +0000 (07:27 +0000)
Signed-off-by: Manuel Stoeckl <code@mstoeckl.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14580>

src/gbm/backends/dri/gbm_dri.c
src/gbm/main/gbm.c
src/gbm/main/gbm.h

index 644ea3c..0f31488 100644 (file)
@@ -610,6 +610,16 @@ static const struct gbm_dri_visual gbm_dri_visuals_table[] = {
      { 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 },
      { 16, 16, 16, 0 },
index ab685b8..599f7aa 100644 (file)
@@ -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;
index ea3cc1b..829c4cb 100644 (file)
@@ -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