Bug 1378956 - Don't try starting WebRender on widgets that have transparency. r?jrmuizel draft
authorKartikaya Gupta <kgupta@mozilla.com>
Thu, 06 Jul 2017 16:00:43 -0400
changeset 604948 73c5afbd8d4322d953f43f1be99354577bb89ab7
parent 604915 e23f55311ecb5e0cd14c5010d1b40663b3a2e7d0
child 636347 d4e9b085b3bef342ca27283337e9031c28a76809
push id67248
push userkgupta@mozilla.com
push dateThu, 06 Jul 2017 20:03:03 +0000
reviewersjrmuizel
bugs1378956
milestone56.0a1
Bug 1378956 - Don't try starting WebRender on widgets that have transparency. r?jrmuizel MozReview-Commit-ID: 6AvsxxXCeVv
widget/nsBaseWidget.cpp
--- a/widget/nsBaseWidget.cpp
+++ b/widget/nsBaseWidget.cpp
@@ -1268,16 +1268,20 @@ void nsBaseWidget::CreateCompositor(int 
   // create a new compositor.
   if (!mShutdownObserver) {
     return;
   }
 
   CreateCompositorVsyncDispatcher();
 
   bool enableWR = gfx::gfxVars::UseWebRender();
+  if (enableWR && !WidgetTypeSupportsAcceleration()) {
+    // fall back to basic
+    return;
+  }
   bool enableAPZ = UseAPZ();
   CompositorOptions options(enableAPZ, enableWR);
 
   bool enableAL = gfx::gfxConfig::IsEnabled(gfx::Feature::ADVANCED_LAYERS);
   options.SetUseAdvancedLayers(enableAL);
 
   RefPtr<LayerManager> lm;
   if (options.UseWebRender()) {