From 8681a69f47b31c6d82e8aaeaa1a54b33e8bb989a Mon Sep 17 00:00:00 2001 From: Vlad Zahorodnii Date: Tue, 26 Jan 2021 19:41:23 +0200 Subject: [PATCH] Remove redundant usesOverlayWindow() method Whether an overlay window is used for compositing can be determined by checking the return value of overlayWindow(). --- composite.cpp | 2 +- platformsupport/scenes/opengl/openglbackend.h | 1 - platformsupport/scenes/xrender/xrenderbackend.h | 1 - plugins/platforms/drm/abstract_egl_drm_backend.cpp | 5 ----- plugins/platforms/drm/abstract_egl_drm_backend.h | 1 - plugins/platforms/drm/egl_multi_backend.cpp | 5 ----- plugins/platforms/drm/egl_multi_backend.h | 2 -- plugins/platforms/virtual/egl_gbm_backend.cpp | 5 ----- plugins/platforms/virtual/egl_gbm_backend.h | 1 - plugins/platforms/wayland/egl_wayland_backend.cpp | 5 ----- plugins/platforms/wayland/egl_wayland_backend.h | 1 - plugins/platforms/x11/common/eglonxbackend.cpp | 9 +-------- plugins/platforms/x11/common/eglonxbackend.h | 2 -- plugins/platforms/x11/standalone/glxbackend.cpp | 5 ----- plugins/platforms/x11/standalone/glxbackend.h | 1 - plugins/platforms/x11/standalone/x11xrenderbackend.cpp | 5 ----- plugins/platforms/x11/standalone/x11xrenderbackend.h | 1 - plugins/platforms/x11/windowed/egl_x11_backend.cpp | 5 ----- plugins/platforms/x11/windowed/egl_x11_backend.h | 1 - plugins/scenes/opengl/scene_opengl.h | 6 ------ plugins/scenes/qpainter/scene_qpainter.h | 7 ------- plugins/scenes/xrender/scene_xrender.cpp | 5 ----- plugins/scenes/xrender/scene_xrender.h | 1 - scene.h | 5 ----- 24 files changed, 2 insertions(+), 80 deletions(-) diff --git a/composite.cpp b/composite.cpp index 03edaf731a..198d0a077f 100644 --- a/composite.cpp +++ b/composite.cpp @@ -825,7 +825,7 @@ void X11Compositor::start() } void X11Compositor::handleFrameRequested(RenderLoop *renderLoop) { - if (scene()->usesOverlayWindow() && !isOverlayWindowVisible()) { + if (scene()->overlayWindow() && !isOverlayWindowVisible()) { // Return since nothing is visible. return; } diff --git a/platformsupport/scenes/opengl/openglbackend.h b/platformsupport/scenes/opengl/openglbackend.h index 884def564b..9c9ac8ffd4 100644 --- a/platformsupport/scenes/opengl/openglbackend.h +++ b/platformsupport/scenes/opengl/openglbackend.h @@ -58,7 +58,6 @@ public: virtual void aboutToStartPainting(int screenId, const QRegion &damage); virtual bool makeCurrent() = 0; virtual void doneCurrent() = 0; - virtual bool usesOverlayWindow() const = 0; virtual QRegion beginFrame(int screenId) = 0; virtual void endFrame(int screenId, const QRegion &damage, const QRegion &damagedRegion) = 0; diff --git a/platformsupport/scenes/xrender/xrenderbackend.h b/platformsupport/scenes/xrender/xrenderbackend.h index a12a4a17ab..6bfaae1503 100644 --- a/platformsupport/scenes/xrender/xrenderbackend.h +++ b/platformsupport/scenes/xrender/xrenderbackend.h @@ -42,7 +42,6 @@ public: * @return :OverlayWindow* */ virtual OverlayWindow *overlayWindow(); - virtual bool usesOverlayWindow() const = 0; /** * @brief Shows the Overlay Window * diff --git a/plugins/platforms/drm/abstract_egl_drm_backend.cpp b/plugins/platforms/drm/abstract_egl_drm_backend.cpp index 08f337f6f2..3420ee912c 100644 --- a/plugins/platforms/drm/abstract_egl_drm_backend.cpp +++ b/plugins/platforms/drm/abstract_egl_drm_backend.cpp @@ -33,8 +33,3 @@ void AbstractEglDrmBackend::screenGeometryChanged(const QSize &size) { Q_UNUSED(size) } - -bool AbstractEglDrmBackend::usesOverlayWindow() const -{ - return false; -} diff --git a/plugins/platforms/drm/abstract_egl_drm_backend.h b/plugins/platforms/drm/abstract_egl_drm_backend.h index 7a19837196..8f00499113 100644 --- a/plugins/platforms/drm/abstract_egl_drm_backend.h +++ b/plugins/platforms/drm/abstract_egl_drm_backend.h @@ -24,7 +24,6 @@ class AbstractEglDrmBackend : public AbstractEglBackend public: ~AbstractEglDrmBackend(); - bool usesOverlayWindow() const override; void screenGeometryChanged(const QSize &size) override; virtual int screenCount() const = 0; diff --git a/plugins/platforms/drm/egl_multi_backend.cpp b/plugins/platforms/drm/egl_multi_backend.cpp index 00aeb0fd49..1dcf656e6d 100644 --- a/plugins/platforms/drm/egl_multi_backend.cpp +++ b/plugins/platforms/drm/egl_multi_backend.cpp @@ -99,11 +99,6 @@ QSharedPointer EglMultiBackend::textureForOutput(AbstractOutput *requ return {}; } -bool EglMultiBackend::usesOverlayWindow() const -{ - return false; -} - void EglMultiBackend::screenGeometryChanged(const QSize &size) { Q_UNUSED(size) diff --git a/plugins/platforms/drm/egl_multi_backend.h b/plugins/platforms/drm/egl_multi_backend.h index 41f519663d..6c41557783 100644 --- a/plugins/platforms/drm/egl_multi_backend.h +++ b/plugins/platforms/drm/egl_multi_backend.h @@ -32,8 +32,6 @@ public: SceneOpenGLTexturePrivate *createBackendTexture(SceneOpenGLTexture *texture) override; QSharedPointer textureForOutput(AbstractOutput *requestedOutput) const override; - bool usesOverlayWindow() const override; - void screenGeometryChanged(const QSize &size) override; void addBackend(AbstractEglDrmBackend *backend); diff --git a/plugins/platforms/virtual/egl_gbm_backend.cpp b/plugins/platforms/virtual/egl_gbm_backend.cpp index 1554e1a97f..704922bfe7 100644 --- a/plugins/platforms/virtual/egl_gbm_backend.cpp +++ b/plugins/platforms/virtual/egl_gbm_backend.cpp @@ -214,11 +214,6 @@ void EglGbmBackend::endFrame(int screenId, const QRegion &renderedRegion, const eglSwapBuffers(eglDisplay(), surface()); } -bool EglGbmBackend::usesOverlayWindow() const -{ - return false; -} - /************************************************ * EglTexture ************************************************/ diff --git a/plugins/platforms/virtual/egl_gbm_backend.h b/plugins/platforms/virtual/egl_gbm_backend.h index 35b103460a..4cafb78198 100644 --- a/plugins/platforms/virtual/egl_gbm_backend.h +++ b/plugins/platforms/virtual/egl_gbm_backend.h @@ -28,7 +28,6 @@ public: SceneOpenGLTexturePrivate *createBackendTexture(SceneOpenGLTexture *texture) override; QRegion beginFrame(int screenId) override; void endFrame(int screenId, const QRegion &renderedRegion, const QRegion &damagedRegion) override; - bool usesOverlayWindow() const override; void init() override; private: diff --git a/plugins/platforms/wayland/egl_wayland_backend.cpp b/plugins/platforms/wayland/egl_wayland_backend.cpp index 20b67749f8..263e9e8f4b 100644 --- a/plugins/platforms/wayland/egl_wayland_backend.cpp +++ b/plugins/platforms/wayland/egl_wayland_backend.cpp @@ -388,11 +388,6 @@ void EglWaylandBackend::endFrame(int screenId, const QRegion &renderedRegion, co } } -bool EglWaylandBackend::usesOverlayWindow() const -{ - return false; -} - /************************************************ * EglTexture ************************************************/ diff --git a/plugins/platforms/wayland/egl_wayland_backend.h b/plugins/platforms/wayland/egl_wayland_backend.h index 9667ac6777..2f8ec227fd 100644 --- a/plugins/platforms/wayland/egl_wayland_backend.h +++ b/plugins/platforms/wayland/egl_wayland_backend.h @@ -71,7 +71,6 @@ public: SceneOpenGLTexturePrivate *createBackendTexture(SceneOpenGLTexture *texture) override; QRegion beginFrame(int screenId) override; void endFrame(int screenId, const QRegion &damage, const QRegion &damagedRegion) override; - bool usesOverlayWindow() const override; void init() override; bool havePlatformBase() const { diff --git a/plugins/platforms/x11/common/eglonxbackend.cpp b/plugins/platforms/x11/common/eglonxbackend.cpp index ea2ec63804..533c1095ab 100644 --- a/plugins/platforms/x11/common/eglonxbackend.cpp +++ b/plugins/platforms/x11/common/eglonxbackend.cpp @@ -26,7 +26,6 @@ EglOnXBackend::EglOnXBackend(Display *display) : AbstractEglBackend() , m_overlayWindow(kwinApp()->platform()->createOverlayWindow()) , surfaceHasSubPost(0) - , m_usesOverlayWindow(true) , m_connection(connection()) , m_x11Display(display) , m_rootWindow(rootWindow()) @@ -40,7 +39,6 @@ EglOnXBackend::EglOnXBackend(xcb_connection_t *connection, Display *display, xcb : AbstractEglBackend() , m_overlayWindow(nullptr) , surfaceHasSubPost(0) - , m_usesOverlayWindow(false) , m_connection(connection) , m_x11Display(display) , m_rootWindow(rootWindow) @@ -162,7 +160,7 @@ bool EglOnXBackend::initRenderingContext() initBufferConfigs(); - if (m_usesOverlayWindow) { + if (overlayWindow()) { if (!overlayWindow()->create()) { qCCritical(KWIN_CORE) << "Could not get overlay window"; return false; @@ -275,11 +273,6 @@ bool EglOnXBackend::initBufferConfigs() return true; } -bool EglOnXBackend::usesOverlayWindow() const -{ - return m_usesOverlayWindow; -} - OverlayWindow* EglOnXBackend::overlayWindow() const { return m_overlayWindow; diff --git a/plugins/platforms/x11/common/eglonxbackend.h b/plugins/platforms/x11/common/eglonxbackend.h index a0c846fdfa..7d44fd73f2 100644 --- a/plugins/platforms/x11/common/eglonxbackend.h +++ b/plugins/platforms/x11/common/eglonxbackend.h @@ -28,7 +28,6 @@ public: explicit EglOnXBackend(xcb_connection_t *connection, Display *display, xcb_window_t rootWindow, int screenNumber, xcb_window_t renderingWindow); ~EglOnXBackend() override; OverlayWindow* overlayWindow() const override; - bool usesOverlayWindow() const override; void init() override; protected: @@ -53,7 +52,6 @@ private: */ OverlayWindow *m_overlayWindow; int surfaceHasSubPost; - bool m_usesOverlayWindow; xcb_connection_t *m_connection; Display *m_x11Display; xcb_window_t m_rootWindow; diff --git a/plugins/platforms/x11/standalone/glxbackend.cpp b/plugins/platforms/x11/standalone/glxbackend.cpp index dee35bfdb4..1ae9c2ea84 100644 --- a/plugins/platforms/x11/standalone/glxbackend.cpp +++ b/plugins/platforms/x11/standalone/glxbackend.cpp @@ -806,11 +806,6 @@ OverlayWindow* GlxBackend::overlayWindow() const return m_overlayWindow; } -bool GlxBackend::usesOverlayWindow() const -{ - return true; -} - /******************************************************** * GlxTexture *******************************************************/ diff --git a/plugins/platforms/x11/standalone/glxbackend.h b/plugins/platforms/x11/standalone/glxbackend.h index 27ede6600b..845d622fd2 100644 --- a/plugins/platforms/x11/standalone/glxbackend.h +++ b/plugins/platforms/x11/standalone/glxbackend.h @@ -69,7 +69,6 @@ public: bool makeCurrent() override; void doneCurrent() override; OverlayWindow* overlayWindow() const override; - bool usesOverlayWindow() const override; void init() override; private: diff --git a/plugins/platforms/x11/standalone/x11xrenderbackend.cpp b/plugins/platforms/x11/standalone/x11xrenderbackend.cpp index 0967a8e8a9..0e5194ee55 100644 --- a/plugins/platforms/x11/standalone/x11xrenderbackend.cpp +++ b/plugins/platforms/x11/standalone/x11xrenderbackend.cpp @@ -150,9 +150,4 @@ void X11XRenderBackend::screenGeometryChanged(const QSize &size) init(false); } -bool X11XRenderBackend::usesOverlayWindow() const -{ - return true; -} - } // namespace KWin diff --git a/plugins/platforms/x11/standalone/x11xrenderbackend.h b/plugins/platforms/x11/standalone/x11xrenderbackend.h index 210cf4588f..432ee89e93 100644 --- a/plugins/platforms/x11/standalone/x11xrenderbackend.h +++ b/plugins/platforms/x11/standalone/x11xrenderbackend.h @@ -32,7 +32,6 @@ public: OverlayWindow *overlayWindow() override; void showOverlay() override; void screenGeometryChanged(const QSize &size) override; - bool usesOverlayWindow() const override; private: void init(bool createOverlay); diff --git a/plugins/platforms/x11/windowed/egl_x11_backend.cpp b/plugins/platforms/x11/windowed/egl_x11_backend.cpp index cf5fdb203b..225004f472 100644 --- a/plugins/platforms/x11/windowed/egl_x11_backend.cpp +++ b/plugins/platforms/x11/windowed/egl_x11_backend.cpp @@ -59,11 +59,6 @@ bool EglX11Backend::createSurfaces() return true; } -bool EglX11Backend::usesOverlayWindow() const -{ - return false; -} - QRegion EglX11Backend::beginFrame(int screenId) { makeContextCurrent(m_surfaces.at(screenId)); diff --git a/plugins/platforms/x11/windowed/egl_x11_backend.h b/plugins/platforms/x11/windowed/egl_x11_backend.h index 300d234aa1..fbf866d85f 100644 --- a/plugins/platforms/x11/windowed/egl_x11_backend.h +++ b/plugins/platforms/x11/windowed/egl_x11_backend.h @@ -26,7 +26,6 @@ public: SceneOpenGLTexturePrivate *createBackendTexture(SceneOpenGLTexture *texture) override; void init() override; - bool usesOverlayWindow() const override; QRegion beginFrame(int screenId) override; void endFrame(int screenId, const QRegion &damage, const QRegion &damagedRegion) override; void screenGeometryChanged(const QSize &size) override; diff --git a/plugins/scenes/opengl/scene_opengl.h b/plugins/scenes/opengl/scene_opengl.h index 890790e6e6..157bdb4066 100644 --- a/plugins/scenes/opengl/scene_opengl.h +++ b/plugins/scenes/opengl/scene_opengl.h @@ -41,7 +41,6 @@ public: Shadow *createShadow(Toplevel *toplevel) override; void screenGeometryChanged(const QSize &size) override; OverlayWindow *overlayWindow() const override; - bool usesOverlayWindow() const override; bool makeOpenGLContextCurrent() override; void doneOpenGLContextCurrent() override; bool supportsSurfacelessContext() const override; @@ -305,11 +304,6 @@ private: QScopedPointer m_texture; }; -inline bool SceneOpenGL::usesOverlayWindow() const -{ - return m_backend->usesOverlayWindow(); -} - inline SceneOpenGLTexture* OpenGLWindowPixmap::texture() const { return m_texture.data(); diff --git a/plugins/scenes/qpainter/scene_qpainter.h b/plugins/scenes/qpainter/scene_qpainter.h index 5fb06cb42a..476ef86b20 100644 --- a/plugins/scenes/qpainter/scene_qpainter.h +++ b/plugins/scenes/qpainter/scene_qpainter.h @@ -24,7 +24,6 @@ class KWIN_EXPORT SceneQPainter : public Scene public: ~SceneQPainter() override; - bool usesOverlayWindow() const override; OverlayWindow* overlayWindow() const override; void paint(int screenId, const QRegion &damage, const QList &windows, std::chrono::milliseconds presentTime) override; @@ -168,12 +167,6 @@ public: Scene *create(QObject *parent = nullptr) const override; }; -inline -bool SceneQPainter::usesOverlayWindow() const -{ - return false; -} - inline OverlayWindow* SceneQPainter::overlayWindow() const { diff --git a/plugins/scenes/xrender/scene_xrender.cpp b/plugins/scenes/xrender/scene_xrender.cpp index d4468acb35..f831fcee63 100644 --- a/plugins/scenes/xrender/scene_xrender.cpp +++ b/plugins/scenes/xrender/scene_xrender.cpp @@ -623,11 +623,6 @@ OverlayWindow *SceneXrender::overlayWindow() const return m_backend->overlayWindow(); } -bool SceneXrender::usesOverlayWindow() const -{ - return m_backend->usesOverlayWindow(); -} - //**************************************** // XRenderWindowPixmap //**************************************** diff --git a/plugins/scenes/xrender/scene_xrender.h b/plugins/scenes/xrender/scene_xrender.h index 1816e35303..c56cfc6bef 100644 --- a/plugins/scenes/xrender/scene_xrender.h +++ b/plugins/scenes/xrender/scene_xrender.h @@ -39,7 +39,6 @@ public: void screenGeometryChanged(const QSize &size) override; xcb_render_picture_t xrenderBufferPicture() const override; OverlayWindow *overlayWindow() const override; - bool usesOverlayWindow() const override; Decoration::Renderer *createDecorationRenderer(Decoration::DecoratedClientImpl *client) override; bool animationsSupported() const override { diff --git a/scene.h b/scene.h index 840354eeef..3b601a9bd6 100644 --- a/scene.h +++ b/scene.h @@ -151,11 +151,6 @@ public: virtual QMatrix4x4 screenProjectionMatrix() const; - /** - * Whether the Scene uses an X11 overlay window to perform compositing. - */ - virtual bool usesOverlayWindow() const = 0; - virtual void triggerFence(); virtual Decoration::Renderer *createDecorationRenderer(Decoration::DecoratedClientImpl *) = 0;