Mesa (main): gbm: add GBM_FORMAT_[AX]BGR16161616

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Jul 27 08:00:05 UTC 2022


Module: Mesa
Branch: main
Commit: d8eff20b9b5726ab70247c648cf3e23bbb13b866
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d8eff20b9b5726ab70247c648cf3e23bbb13b866

Author: Manuel Stoeckl <code at mstoeckl.com>
Date:   Sun Jan  9 21:30:29 2022 -0500

gbm: add GBM_FORMAT_[AX]BGR16161616

Signed-off-by: Manuel Stoeckl <code at mstoeckl.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14580>

---

 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



More information about the mesa-commit mailing list