Bug 1555827. Disable disabling blob invalidation. r=kvark
authorJeff Muizelaar <jrmuizel@gmail.com>
Fri, 31 May 2019 19:07:17 +0000
changeset 476446 d0a95f14f1fe4a7a347ccbb87de1f67c9135661f
parent 476445 8e84effab739a15aed2443079f0b65a126bff1fd
child 476447 2043d85f5128008a36082d9ad2d49f7cf4f72bd5
push id36095
push userdvarga@mozilla.com
push dateSat, 01 Jun 2019 09:40:47 +0000
treeherdermozilla-central@219a897031a3 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerskvark
bugs1555827
milestone69.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1555827. Disable disabling blob invalidation. r=kvark Not using blob invalidation is broken. Having this pref accidentally flipped has wasted multiple people's time. Differential Revision: https://phabricator.services.mozilla.com/D33327
layout/painting/nsDisplayList.cpp
modules/libpref/init/StaticPrefList.h
modules/libpref/init/all.js
--- a/layout/painting/nsDisplayList.cpp
+++ b/layout/painting/nsDisplayList.cpp
@@ -10260,22 +10260,18 @@ already_AddRefed<Layer> nsDisplaySVGWrap
 }
 
 bool nsDisplaySVGWrapper::CreateWebRenderCommands(
     mozilla::wr::DisplayListBuilder& aBuilder,
     mozilla::wr::IpcResourceUpdateQueue& aResources,
     const StackingContextHelper& aSc,
     mozilla::layers::RenderRootStateManager* aManager,
     nsDisplayListBuilder* aDisplayListBuilder) {
-  if (StaticPrefs::WebRenderBlobInvalidation()) {
-    return nsDisplayWrapList::CreateWebRenderCommands(
-        aBuilder, aResources, aSc, aManager, aDisplayListBuilder);
-  }
-
-  return false;
+  return nsDisplayWrapList::CreateWebRenderCommands(
+      aBuilder, aResources, aSc, aManager, aDisplayListBuilder);
 }
 
 nsDisplayForeignObject::nsDisplayForeignObject(nsDisplayListBuilder* aBuilder,
                                                nsIFrame* aFrame,
                                                nsDisplayList* aList)
     : nsDisplayWrapList(aBuilder, aFrame, aList) {
   MOZ_COUNT_CTOR(nsDisplayForeignObject);
 }
@@ -10321,24 +10317,20 @@ already_AddRefed<Layer> nsDisplayForeign
 }
 
 bool nsDisplayForeignObject::CreateWebRenderCommands(
     mozilla::wr::DisplayListBuilder& aBuilder,
     mozilla::wr::IpcResourceUpdateQueue& aResources,
     const StackingContextHelper& aSc,
     mozilla::layers::RenderRootStateManager* aManager,
     nsDisplayListBuilder* aDisplayListBuilder) {
-  if (StaticPrefs::WebRenderBlobInvalidation()) {
-    AutoRestore<bool> restoreDoGrouping(aManager->CommandBuilder().mDoGrouping);
-    aManager->CommandBuilder().mDoGrouping = false;
-    return nsDisplayWrapList::CreateWebRenderCommands(
-        aBuilder, aResources, aSc, aManager, aDisplayListBuilder);
-  } else {
-    return false;
-  }
+  AutoRestore<bool> restoreDoGrouping(aManager->CommandBuilder().mDoGrouping);
+  aManager->CommandBuilder().mDoGrouping = false;
+  return nsDisplayWrapList::CreateWebRenderCommands(
+      aBuilder, aResources, aSc, aManager, aDisplayListBuilder);
 }
 
 void nsDisplayListCollection::SerializeWithCorrectZOrder(
     nsDisplayList* aOutResultList, nsIContent* aContent) {
   // Sort PositionedDescendants() in CSS 'z-order' order.  The list is already
   // in content document order and SortByZOrder is a stable sort which
   // guarantees that boxes produced by the same element are placed together
   // in the sort. Consider a position:relative inline element that breaks
--- a/modules/libpref/init/StaticPrefList.h
+++ b/modules/libpref/init/StaticPrefList.h
@@ -2923,23 +2923,16 @@ VARCACHE_PREF(
   Live,
   "gfx.webrender.blob-images",
   WebRenderBlobImages,
   RelaxedAtomicBool, true
 )
 
 VARCACHE_PREF(
   Live,
-  "gfx.webrender.blob.invalidation",
-  WebRenderBlobInvalidation,
-  RelaxedAtomicBool, false
-)
-
-VARCACHE_PREF(
-  Live,
   "gfx.webrender.blob.paint-flashing",
   WebRenderBlobPaintFlashing,
   RelaxedAtomicBool, false
 )
 
 VARCACHE_PREF(
   Live,
   "gfx.webrender.dl.dump-parent",
--- a/modules/libpref/init/all.js
+++ b/modules/libpref/init/all.js
@@ -898,17 +898,16 @@ pref("gfx.webrender.program-binary-disk"
 #endif
 
 #ifdef XP_MACOSX
 pref("gfx.compositor.glcontext.opaque", false);
 #endif
 
 pref("gfx.webrender.highlight-painted-layers", false);
 pref("gfx.webrender.blob-images", true);
-pref("gfx.webrender.blob.invalidation", true);
 pref("gfx.webrender.blob.paint-flashing", false);
 
 // WebRender debugging utilities.
 pref("gfx.webrender.debug.texture-cache", false);
 pref("gfx.webrender.debug.texture-cache.clear-evicted", true);
 pref("gfx.webrender.debug.render-targets", false);
 pref("gfx.webrender.debug.gpu-cache", false);
 pref("gfx.webrender.debug.alpha-primitives", false);