From ff445c2c7c93a64922ae437cbbdc95542360c7ae Mon Sep 17 00:00:00 2001 From: Thomas Senyk Date: Tue, 13 Dec 2022 11:19:58 +0100 Subject: Add WL_SHM_FORMAT_RGB888 to supported shm formats In addition a new entry in QWaylandCompositor::ShmFormat allows compositors to enable that format at runtime Pick-to: 6.5 Change-Id: I0f894adb3f688458a65713e343127fbcb26f8b65 Reviewed-by: Eskil Abrahamsen Blomfeldt Reviewed-by: Volker Hilsheimer --- src/compositor/compositor_api/qwaylandcompositor.h | 1 + src/shared/qwaylandsharedmemoryformathelper_p.h | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/compositor/compositor_api/qwaylandcompositor.h b/src/compositor/compositor_api/qwaylandcompositor.h index 262dd588..1dee5cad 100644 --- a/src/compositor/compositor_api/qwaylandcompositor.h +++ b/src/compositor/compositor_api/qwaylandcompositor.h @@ -67,6 +67,7 @@ public: ShmFormat_RGB888 = 0x34324752, ShmFormat_XBGR8888 = 0x34324258, ShmFormat_ABGR8888 = 0x34324241, + ShmFormat_BGR888 = 0x34324742, ShmFormat_XRGB2101010 = 0x30335258, ShmFormat_XBGR2101010 = 0x30334258, ShmFormat_ARGB2101010 = 0x30335241, diff --git a/src/shared/qwaylandsharedmemoryformathelper_p.h b/src/shared/qwaylandsharedmemoryformathelper_p.h index 55bcfc41..c8a9c286 100644 --- a/src/shared/qwaylandsharedmemoryformathelper_p.h +++ b/src/shared/qwaylandsharedmemoryformathelper_p.h @@ -24,6 +24,7 @@ public: case WL_SHM_FORMAT_RGB565: return QImage::Format_RGB16; case WL_SHM_FORMAT_XRGB1555: return QImage::Format_RGB555; case WL_SHM_FORMAT_RGB888: return QImage::Format_RGB888; + case WL_SHM_FORMAT_BGR888: return QImage::Format_BGR888; case WL_SHM_FORMAT_XRGB4444: return QImage::Format_RGB444; case WL_SHM_FORMAT_ARGB4444: return QImage::Format_ARGB4444_Premultiplied; case WL_SHM_FORMAT_XBGR8888: return QImage::Format_RGBX8888; @@ -76,7 +77,13 @@ private: WL_SHM_FORMAT_XRGB2101010, //Format_RGB30, WL_SHM_FORMAT_ARGB2101010, //Format_A2RGB30_Premultiplied, WL_SHM_FORMAT_C8, //Format_Alpha8, - WL_SHM_FORMAT_C8 //Format_Grayscale8, + WL_SHM_FORMAT_C8, //Format_Grayscale8, + wl_shm_format(INT_MIN), //Format_RGBX64, + wl_shm_format(INT_MIN), //Format_RGBA64, + wl_shm_format(INT_MIN), //Format_RGBA64_Premultiplied, + wl_shm_format(INT_MIN), //Format_Grayscale16, + WL_SHM_FORMAT_BGR888, //Format_BGR888 + }; const size_t size = sizeof(formats_array) / sizeof(*formats_array); return Array(size, formats_array); -- cgit v1.2.1