From da7df10b3d5769d1da7851895d27257a0d930012 Mon Sep 17 00:00:00 2001 From: Gunnar Sletta Date: Tue, 12 Aug 2014 15:06:04 +0200 Subject: Disable threaded FBO canvas drawing when not supported. Change-Id: I1e8300c61ba31a5400fc43f85a9c39d2245b4518 Reviewed-by: J-P Nurmi Reviewed-by: Laszlo Agocs Reviewed-by: Alan Alpert --- src/quick/items/context2d/qquickcontext2d.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/quick/items/context2d/qquickcontext2d.cpp b/src/quick/items/context2d/qquickcontext2d.cpp index 3cc4dd04ad..e7eef048cc 100644 --- a/src/quick/items/context2d/qquickcontext2d.cpp +++ b/src/quick/items/context2d/qquickcontext2d.cpp @@ -70,6 +70,9 @@ #include #include +#include +#include + #include #if defined(Q_OS_QNX) || defined(Q_OS_ANDROID) @@ -4156,6 +4159,13 @@ void QQuickContext2D::init(QQuickCanvasItem *canvasItem, const QVariantMap &args } #endif + // Disable threaded background rendering if the platform has issues with it + if (m_renderTarget == QQuickCanvasItem::FramebufferObject + && m_renderStrategy == QQuickCanvasItem::Threaded + && !QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::ThreadedOpenGL)) { + m_renderTarget = QQuickCanvasItem::Image; + } + switch (m_renderTarget) { case QQuickCanvasItem::Image: m_texture = new QQuickContext2DImageTexture; -- cgit v1.2.3