diff options
author | Alexander Volkov <a.volkov@rusbitech.ru> | 2019-11-18 19:34:07 +0300 |
---|---|---|
committer | Alexander Volkov <avolkov@astralinux.ru> | 2020-09-16 21:22:15 +0300 |
commit | 7aacc8144e7da6b1ec48ab7c1e5c431d78c99c5f (patch) | |
tree | 3c9f9168d1f1d8e9faf537b178e8d62d96db29b3 /src/plugins/platforms/xcb/qxcbscreen.h | |
parent | bf075da8004718e6a7e8d3870b912e89cea8d08c (diff) |
xcb: Reduce number of created colormaps
Create a colormap per visual, not per window.
Pick-to: 5.15
Change-Id: I97d94618f159b4beaffd4a1afe0611233ced6676
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Diffstat (limited to 'src/plugins/platforms/xcb/qxcbscreen.h')
-rw-r--r-- | src/plugins/platforms/xcb/qxcbscreen.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/plugins/platforms/xcb/qxcbscreen.h b/src/plugins/platforms/xcb/qxcbscreen.h index 9298a67b2b..9be3ce9e7f 100644 --- a/src/plugins/platforms/xcb/qxcbscreen.h +++ b/src/plugins/platforms/xcb/qxcbscreen.h @@ -107,6 +107,7 @@ public: const xcb_visualtype_t *visualForFormat(const QSurfaceFormat &format) const; const xcb_visualtype_t *visualForId(xcb_visualid_t) const; quint8 depthOfVisual(xcb_visualid_t) const; + xcb_colormap_t colormapForVisual(xcb_visualid_t) const; private: QRect getWorkArea() const; @@ -133,6 +134,7 @@ private: QString m_windowManagerName; QMap<xcb_visualid_t, xcb_visualtype_t> m_visuals; QMap<xcb_visualid_t, quint8> m_visualDepths; + mutable QMap<xcb_visualid_t, xcb_colormap_t> m_visualColormaps; uint16_t m_rotation = 0; }; @@ -190,6 +192,7 @@ public: const xcb_visualtype_t *visualForFormat(const QSurfaceFormat &format) const { return m_virtualDesktop->visualForFormat(format); } const xcb_visualtype_t *visualForId(xcb_visualid_t visualid) const; + xcb_colormap_t colormapForVisual(xcb_visualid_t visualid) const { return m_virtualDesktop->colormapForVisual(visualid); } quint8 depthOfVisual(xcb_visualid_t visualid) const { return m_virtualDesktop->depthOfVisual(visualid); } QString name() const override { return m_outputName; } |