diff options
author | Lars Knoll <lars.knoll@qt.io> | 2017-10-27 11:42:00 +0200 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2017-10-30 08:39:39 +0000 |
commit | f64ef7ede82260b8c2740930c85e224229855da3 (patch) | |
tree | f0bede084659f13fc41d34cede2a6c4f0fdfe5e9 /src/quick/scenegraph/adaptations/software/qsgsoftwarerenderablenode.cpp | |
parent | 742e869afe2dbba6aae6302d20ba9c82f3ed99c6 (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.cpp | 3 |
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; |