aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/scenegraph/adaptations/software/qsgsoftwarerenderablenode.cpp
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2017-10-27 11:42:00 +0200
committerLars Knoll <lars.knoll@qt.io>2017-10-30 08:39:39 +0000
commitf64ef7ede82260b8c2740930c85e224229855da3 (patch)
treef0bede084659f13fc41d34cede2a6c4f0fdfe5e9 /src/quick/scenegraph/adaptations/software/qsgsoftwarerenderablenode.cpp
parent742e869afe2dbba6aae6302d20ba9c82f3ed99c6 (diff)
Mark pixmaps without alpha channel as opaque in the SW renderer
And help avoid that we draw the same pixel multiple times. Change-Id: I56dccfeffe6865d0aaa252c84ae693380c3bbb5b Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io> Reviewed-by: Volker Krause <volker.krause@kdab.com>
Diffstat (limited to 'src/quick/scenegraph/adaptations/software/qsgsoftwarerenderablenode.cpp')
-rw-r--r--src/quick/scenegraph/adaptations/software/qsgsoftwarerenderablenode.cpp3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/quick/scenegraph/adaptations/software/qsgsoftwarerenderablenode.cpp b/src/quick/scenegraph/adaptations/software/qsgsoftwarerenderablenode.cpp
index e5b9430236..b8b0972113 100644
--- a/src/quick/scenegraph/adaptations/software/qsgsoftwarerenderablenode.cpp
+++ b/src/quick/scenegraph/adaptations/software/qsgsoftwarerenderablenode.cpp
@@ -155,8 +155,7 @@ void QSGSoftwareRenderableNode::update()
boundingRect = m_handle.simpleTextureNode->rect();
break;
case QSGSoftwareRenderableNode::Image:
- // There isn't a way to tell, so assume it's not
- m_isOpaque = false;
+ m_isOpaque = !m_handle.imageNode->pixmap().hasAlphaChannel() && !m_transform.isRotating();
boundingRect = m_handle.imageNode->rect().toRect();
break;