summaryrefslogtreecommitdiffstats
path: root/src/core/delegated_frame_node.cpp
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2018-05-09 17:25:22 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2018-06-26 08:17:30 +0000
commit7757ec1a562ae36b65a6cae93b3cd308247755ef (patch)
tree9da058ac021019317111dd1ad90c0a4a32529afe /src/core/delegated_frame_node.cpp
parent57c49df9c6fcbaaffc66900e191312d4e0a0edfa (diff)
Adaptations for Chromium 67
Change-Id: I13cedba56012f74651a044d6fa8f0957487bf3eb Reviewed-by: Michal Klocek <michal.klocek@qt.io>
Diffstat (limited to 'src/core/delegated_frame_node.cpp')
-rw-r--r--src/core/delegated_frame_node.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/core/delegated_frame_node.cpp b/src/core/delegated_frame_node.cpp
index d130fe33a..f829813ff 100644
--- a/src/core/delegated_frame_node.cpp
+++ b/src/core/delegated_frame_node.cpp
@@ -651,7 +651,10 @@ QSharedPointer<QSGTexture> ResourceHolder::initTexture(bool quadNeedsBlending, R
if (!texture) {
if (m_resource.is_software) {
Q_ASSERT(apiDelegate);
- std::unique_ptr<viz::SharedBitmap> sharedBitmap = viz::ServerSharedBitmapManager::current()->GetSharedBitmapFromId(m_resource.size, m_resource.mailbox_holder.mailbox);
+ std::unique_ptr<viz::SharedBitmap> sharedBitmap =
+ viz::ServerSharedBitmapManager::current()->GetSharedBitmapFromId(m_resource.size,
+ viz::BGRA_8888,
+ m_resource.mailbox_holder.mailbox);
// QSG interprets QImage::hasAlphaChannel meaning that a node should enable blending
// to draw it but Chromium keeps this information in the quads.
// The input format is currently always Format_ARGB32_Premultiplied, so assume that all
@@ -659,7 +662,9 @@ QSharedPointer<QSGTexture> ResourceHolder::initTexture(bool quadNeedsBlending, R
// from Format_ARGB32_Premultiplied to Format_RGB32 just to get hasAlphaChannel to
// return false.
QImage::Format format = quadNeedsBlending ? QImage::Format_ARGB32_Premultiplied : QImage::Format_RGB32;
- QImage image(sharedBitmap->pixels(), m_resource.size.width(), m_resource.size.height(), format);
+ QImage image = sharedBitmap
+ ? QImage(sharedBitmap->pixels(), m_resource.size.width(), m_resource.size.height(), format)
+ : QImage(m_resource.size.width(), m_resource.size.height(), format);
texture.reset(apiDelegate->createTextureFromImage(image.copy()));
} else {
#ifndef QT_NO_OPENGL