[mutter] wayland/dma-buf: Advertise support for 64 half point RGBA formats



commit a54a01d1e27e32915c53063394e6ad19d7de68d2
Author: Jonas Ã…dahl <jadahl gmail com>
Date:   Wed Sep 18 18:39:22 2019 +0200

    wayland/dma-buf: Advertise support for 64 half point RGBA formats
    
    Just as wl_shm, hook up the Wayland DMA-BUF protocol to the 64 bit half
    point pixel formats too. This makes it possible for Wayland EGL clients
    to use 64 bit pixel EGL configurations.
    
    https://gitlab.gnome.org/GNOME/mutter/merge_requests/804

 src/wayland/meta-wayland-dma-buf.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)
---
diff --git a/src/wayland/meta-wayland-dma-buf.c b/src/wayland/meta-wayland-dma-buf.c
index c92c332264..5a5a20c780 100644
--- a/src/wayland/meta-wayland-dma-buf.c
+++ b/src/wayland/meta-wayland-dma-buf.c
@@ -124,6 +124,14 @@ meta_wayland_dma_buf_realize_texture (MetaWaylandBuffer  *buffer,
     case DRM_FORMAT_RGB565:
       cogl_format = COGL_PIXEL_FORMAT_RGB_565;
       break;
+    case DRM_FORMAT_XBGR16161616F:
+    case DRM_FORMAT_ABGR16161616F:
+      cogl_format = COGL_PIXEL_FORMAT_ABGR_FP_16161616_PRE;
+      break;
+    case DRM_FORMAT_XRGB16161616F:
+    case DRM_FORMAT_ARGB16161616F:
+      cogl_format = COGL_PIXEL_FORMAT_ARGB_FP_16161616_PRE;
+      break;
     default:
       g_set_error (error, G_IO_ERROR,
                    G_IO_ERROR_FAILED,
@@ -675,6 +683,10 @@ dma_buf_bind (struct wl_client *client,
   send_modifiers (resource, DRM_FORMAT_ARGB2101010);
   send_modifiers (resource, DRM_FORMAT_XRGB2101010);
   send_modifiers (resource, DRM_FORMAT_RGB565);
+  send_modifiers (resource, DRM_FORMAT_ABGR16161616F);
+  send_modifiers (resource, DRM_FORMAT_XBGR16161616F);
+  send_modifiers (resource, DRM_FORMAT_XRGB16161616F);
+  send_modifiers (resource, DRM_FORMAT_ARGB16161616F);
 }
 
 /**


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]