summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJocelyn Turcotte <jocelyn.turcotte@digia.com>2014-11-11 16:15:36 +0100
committerJani Heikkinen <jani.heikkinen@theqtcompany.com>2014-11-11 17:33:51 +0100
commit4f4a33467f4d41b1224948cc4c5d8828232b141a (patch)
treee05ffbab0ab3604c8325babd7117fa871c693151
parenta4c77433176d9bd115f005645105f6dab1295e57 (diff)
Disable accelerated 2D canvas rendering with ANGLE
ANGLE isn't thread-safe and we're already taking a risk by letting Chromium do texture upload from the GPU thread with a shared GL context. Any kind of drawing happening concurrently between the GPU thread and the Qt scene graph thread might currently end up drawing on the same device context and this is creating visual artifacts and Direct3D errors. We're already disabling WebGL but we should also disable accelerated 2D canvas rendering to lower that risk. We should ultimately disable ANGLE from within Chromium or fix multithreading issues to properly support GL rendering scenarios across threads. Task-number: QTBUG-41627 Change-Id: I37a7a778f0e1066a454f51bb38e98df4dea8767e Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
-rw-r--r--src/core/web_engine_context.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/core/web_engine_context.cpp b/src/core/web_engine_context.cpp
index 20bf3e051..ac9a921e7 100644
--- a/src/core/web_engine_context.cpp
+++ b/src/core/web_engine_context.cpp
@@ -142,7 +142,11 @@ WebEngineContext::WebEngineContext()
#if defined(OS_WIN)
parsedCommandLine->AppendSwitch(switches::kDisableD3D11);
+ // ANGLE doesn't support multi-threading, doing texture upload from the GPU thread
+ // hasn't been causing problems yet but doing rendering there is conflicting with
+ // Qt's rendering of the scene graph.
parsedCommandLine->AppendSwitch(switches::kDisableExperimentalWebGL);
+ parsedCommandLine->AppendSwitch(switches::kDisableAccelerated2dCanvas);
#endif
#if defined(QTWEBENGINE_MOBILE_SWITCHES)