aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/scenegraph/adaptations/software/qsgabstractsoftwarerenderer_p.h
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2017-10-30 15:21:33 +0100
committerLars Knoll <lars.knoll@qt.io>2017-11-03 15:37:48 +0000
commite180ab18c1e5dabcbf5965325fb957bd745d4e97 (patch)
treefba042ef686077d9522376b715ad1987515bb224 /src/quick/scenegraph/adaptations/software/qsgabstractsoftwarerenderer_p.h
parente7b73cc5e2cd1564d7f2ee9de1340b0913b4ecdf (diff)
Mark layers in the SW rasterizer as opaque if possible
If the content of a layer completely covers every pixel of it, mark that layer as opaque so that we can avoid alpha blending where possible. Change-Id: Ia0be4e7a96ecddd31a26f353509de976bcc9e397 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io> Reviewed-by: Volker Krause <volker.krause@kdab.com>
Diffstat (limited to 'src/quick/scenegraph/adaptations/software/qsgabstractsoftwarerenderer_p.h')
-rw-r--r--src/quick/scenegraph/adaptations/software/qsgabstractsoftwarerenderer_p.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/quick/scenegraph/adaptations/software/qsgabstractsoftwarerenderer_p.h b/src/quick/scenegraph/adaptations/software/qsgabstractsoftwarerenderer_p.h
index 04a17ea377..c68a933384 100644
--- a/src/quick/scenegraph/adaptations/software/qsgabstractsoftwarerenderer_p.h
+++ b/src/quick/scenegraph/adaptations/software/qsgabstractsoftwarerenderer_p.h
@@ -86,6 +86,8 @@ protected:
void setBackgroundSize(const QSize &size);
QColor backgroundColor();
QSize backgroundSize();
+ // only known after calling optimizeRenderList()
+ bool isOpaque() const { return m_isOpaque; }
private:
void nodeAdded(QSGNode *node);
@@ -102,6 +104,7 @@ private:
QRegion m_dirtyRegion;
QRegion m_obscuredRegion;
+ bool m_isOpaque;
QSGSoftwareRenderableNodeUpdater *m_nodeUpdater;
};