diff options
-rw-r--r-- | src/quick/items/qquickwindow.cpp | 48 | ||||
-rw-r--r-- | src/quick/items/qquickwindow.h | 3 | ||||
-rw-r--r-- | src/quick/items/qquickwindow_p.h | 2 | ||||
-rw-r--r-- | tools/qmlscene/main.cpp | 1 |
4 files changed, 5 insertions, 49 deletions
diff --git a/src/quick/items/qquickwindow.cpp b/src/quick/items/qquickwindow.cpp index 1446b541a1..22d99be2c0 100644 --- a/src/quick/items/qquickwindow.cpp +++ b/src/quick/items/qquickwindow.cpp @@ -593,9 +593,10 @@ void QQuickWindowPrivate::syncSceneGraph() // Copy the current state of clearing from window into renderer. renderer->setClearColor(clearColor); - QSGAbstractRenderer::ClearMode mode = QSGAbstractRenderer::ClearStencilBuffer | QSGAbstractRenderer::ClearDepthBuffer; - if (clearBeforeRendering) - mode |= QSGAbstractRenderer::ClearColorBuffer; + // Cannot skip clearing the color buffer in Qt 6 anymore. + const QSGAbstractRenderer::ClearMode mode = QSGAbstractRenderer::ClearColorBuffer + | QSGAbstractRenderer::ClearStencilBuffer + | QSGAbstractRenderer::ClearDepthBuffer; renderer->setClearMode(mode); renderer->setVisualizationMode(visualizationMode); @@ -742,7 +743,6 @@ QQuickWindowPrivate::QQuickWindowPrivate() , renderControl(nullptr) , pointerEventRecursionGuard(0) , clearColor(Qt::white) - , clearBeforeRendering(true) , persistentGraphics(true) , persistentSceneGraph(true) , lastWheelEventAccepted(false) @@ -4667,43 +4667,6 @@ QQmlIncubationController *QQuickWindow::incubationController() const */ /*! - Sets whether the scene graph rendering of QML should clear the color buffer - before it starts rendering to \a enabled. - - By disabling clearing of the color buffer, it is possible to render OpengGL content - under the scene graph. - - The color buffer is cleared by default. - - \warning As of Qt 6.0, setting \a enabled to false has no effect. As - explicit clear commands do not exist in some modern APIs, the scene graph - cannot offer this flexibility anymore. The images associated with a render - target will always get cleared when a render pass starts. As a solution, an - alternative to disabling scene graph issued clears is provided in form of - the beforeRenderPassRecording() signal. - - \sa beforeRendering(), beforeRenderPassRecording() - */ - -void QQuickWindow::setClearBeforeRendering(bool enabled) -{ - Q_D(QQuickWindow); - d->clearBeforeRendering = enabled; -} - - - -/*! - Returns whether clearing of the color buffer is done before rendering or not. - */ - -bool QQuickWindow::clearBeforeRendering() const -{ - Q_D(const QQuickWindow); - return d->clearBeforeRendering; -} - -/*! \overload */ @@ -4862,10 +4825,9 @@ QSGTexture *QQuickWindow::createTextureFromNativeObject(NativeObjectType type, \property QQuickWindow::color \brief The color used to clear the color buffer at the beginning of each frame. - Setting the clear color has no effect when clearing is disabled. By default, the clear color is white. - \sa setClearBeforeRendering(), setDefaultAlphaBuffer() + \sa setDefaultAlphaBuffer() */ void QQuickWindow::setColor(const QColor &color) diff --git a/src/quick/items/qquickwindow.h b/src/quick/items/qquickwindow.h index 132030cc61..972d44b1c3 100644 --- a/src/quick/items/qquickwindow.h +++ b/src/quick/items/qquickwindow.h @@ -161,9 +161,6 @@ public: const QSize &size, CreateTextureOptions options = CreateTextureOption()) const; - void setClearBeforeRendering(bool enabled); - bool clearBeforeRendering() const; - void setColor(const QColor &color); QColor color() const; diff --git a/src/quick/items/qquickwindow_p.h b/src/quick/items/qquickwindow_p.h index beb7e00f15..2310367631 100644 --- a/src/quick/items/qquickwindow_p.h +++ b/src/quick/items/qquickwindow_p.h @@ -274,8 +274,6 @@ public: QColor clearColor; - uint clearBeforeRendering : 1; - uint persistentGraphics : 1; uint persistentSceneGraph : 1; diff --git a/tools/qmlscene/main.cpp b/tools/qmlscene/main.cpp index 65a8eafb81..2824ba35fa 100644 --- a/tools/qmlscene/main.cpp +++ b/tools/qmlscene/main.cpp @@ -649,7 +649,6 @@ int main(int argc, char ** argv) if (window) { setWindowTitle(options.verbose, topLevel, window.data()); if (options.transparent) { - window->setClearBeforeRendering(true); window->setColor(QColor(Qt::transparent)); window->setFlags(Qt::FramelessWindowHint); } |