Bug 1337885 - Update the valid region in WebRenderPaintedLayer and mark related tests as passing. r=rhunt
authorEthan Lin <ethlin@mozilla.com>
Fri, 17 Feb 2017 19:17:43 +0800
changeset 373012 ce81b6b4c8f28a8aec74d71ed84915ecc1cd5807
parent 373011 473edb39ee1c69b0d0df685cec573f58891a1962
child 373013 f6a20aef8d1066dee2a351c069a6bf84355d8d72
push id10863
push userjlorenzo@mozilla.com
push dateMon, 06 Mar 2017 23:02:23 +0000
treeherdermozilla-aurora@0931190cd725 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersrhunt
bugs1337885
milestone54.0a1
Bug 1337885 - Update the valid region in WebRenderPaintedLayer and mark related tests as passing. r=rhunt
gfx/layers/wr/WebRenderPaintedLayer.cpp
layout/reftests/invalidation/reftest.list
layout/reftests/layers/reftest.list
--- a/gfx/layers/wr/WebRenderPaintedLayer.cpp
+++ b/gfx/layers/wr/WebRenderPaintedLayer.cpp
@@ -63,16 +63,18 @@ WebRenderPaintedLayer::PaintThebes()
 
     ctx = nullptr;
     mContentClient->ReturnDrawTargetToBuffer(target);
     didUpdate = true;
   }
   if (didUpdate) {
     Mutated();
 
+    mValidRegion.Or(mValidRegion, state.mRegionToDraw);
+
     ContentClientRemote* contentClientRemote = static_cast<ContentClientRemote*>(mContentClient.get());
 
     // Hold(this) ensures this layer is kept alive through the current transaction
     // The ContentClient assumes this layer is kept alive (e.g., in CreateBuffer),
     // so deleting this Hold for whatever reason will break things.
     Manager()->Hold(this);
 
     contentClientRemote->Updated(state.mRegionToDraw,
--- a/layout/reftests/invalidation/reftest.list
+++ b/layout/reftests/invalidation/reftest.list
@@ -35,45 +35,45 @@ pref(layout.animated-image-layers.enable
 == filter-userspace-offset.svg?offsetContainer=innerSVG&mask=boundingBox filter-userspace-offset.svg
 == filter-userspace-offset.svg?offsetContainer=foreignObject&mask=boundingBox filter-userspace-offset.svg
 == filter-userspace-offset.svg?offsetContainer=rect&mask=userSpace-at100 filter-userspace-offset.svg
 == filter-userspace-offset.svg?offsetContainer=use&mask=userSpace-atZero filter-userspace-offset.svg
 == filter-userspace-offset.svg?offsetContainer=innerSVG&mask=userSpace-atZero filter-userspace-offset.svg
 == filter-userspace-offset.svg?offsetContainer=foreignObject&mask=userSpace-at100 filter-userspace-offset.svg
 == filter-userspace-offset.svg?offsetContainer=rect&filter=matrix-fillPaint-boundingBox filter-userspace-offset.svg
 == filter-userspace-offset.svg?offsetContainer=rect&filter=matrix-fillPaint-userSpace-at100 filter-userspace-offset.svg
-fails-if(webrender) != scroll-inactive-layers.html about:blank
-fails-if(webrender) != scroll-inactive-layers-2.html about:blank
-fails-if(webrender) != inactive-layertree-visible-region-1.html about:blank
-fails-if(webrender) != inactive-layertree-visible-region-2.html about:blank
-fails-if(webrender) != transform-floating-point-invalidation.html about:blank
-fails-if(webrender) != transform-floating-point-invalidation.html?reverse about:blank
-fails-if(webrender) != nudge-to-integer-invalidation.html about:blank
-fails-if(webrender) != nudge-to-integer-invalidation.html?reverse about:blank
-fails-if(webrender) != clipped-animated-transform-1.html about:blank
-fails-if(webrender) != paintedlayer-recycling-1.html about:blank
-fails-if(webrender) != paintedlayer-recycling-2.html about:blank
-pref(layers.single-tile.enabled,false) fails-if(webrender) != paintedlayer-recycling-3.html about:blank
-fails-if(webrender) != paintedlayer-recycling-4.html about:blank
-fails-if(webrender) != paintedlayer-recycling-5.html about:blank
-fails-if(webrender) != paintedlayer-recycling-6.html about:blank
-fails-if(webrender) != paintedlayer-recycling-7.html about:blank
+!= scroll-inactive-layers.html about:blank
+!= scroll-inactive-layers-2.html about:blank
+!= inactive-layertree-visible-region-1.html about:blank
+!= inactive-layertree-visible-region-2.html about:blank
+!= transform-floating-point-invalidation.html about:blank
+!= transform-floating-point-invalidation.html?reverse about:blank
+!= nudge-to-integer-invalidation.html about:blank
+!= nudge-to-integer-invalidation.html?reverse about:blank
+!= clipped-animated-transform-1.html about:blank
+!= paintedlayer-recycling-1.html about:blank
+!= paintedlayer-recycling-2.html about:blank
+pref(layers.single-tile.enabled,false) != paintedlayer-recycling-3.html about:blank
+!= paintedlayer-recycling-4.html about:blank
+!= paintedlayer-recycling-5.html about:blank
+!= paintedlayer-recycling-6.html about:blank
+!= paintedlayer-recycling-7.html about:blank
 != masklayer-1.html about:blank
 != masklayer-2.html about:blank
-fails-if(webrender) != layer-splitting-1.html about:blank
-fails-if(webrender) != layer-splitting-2.html about:blank
-fails-if(webrender) != layer-splitting-3.html about:blank
+!= layer-splitting-1.html about:blank
+!= layer-splitting-2.html about:blank
+!= layer-splitting-3.html about:blank
 != layer-splitting-4.html about:blank
-fails-if(webrender) != layer-splitting-5.html about:blank
-fails-if(webrender) != layer-splitting-6.html about:blank
-fails-if(webrender) != layer-splitting-7.html about:blank
+!= layer-splitting-5.html about:blank
+!= layer-splitting-6.html about:blank
+!= layer-splitting-7.html about:blank
 fuzzy-if(gtkWidget,2,4) fuzzy-if(asyncPan,2,3955) fuzzy-if(OSX,179,30) fuzzy-if(skiaContent,16,3230) == image-scrolling-zoom-1.html image-scrolling-zoom-1-ref.html
 != image-scrolling-zoom-1-ref.html image-scrolling-zoom-1-notref.html
-pref(layers.single-tile.enabled,false) fails-if(webrender) != fast-scrolling.html about:blank
-fails-if(webrender) == background-position-1.html background-position-1-ref.html
+pref(layers.single-tile.enabled,false) != fast-scrolling.html about:blank
+== background-position-1.html background-position-1-ref.html
 == background-position-2a.html background-position-2-ref.html
 == background-position-2b.html background-position-2-ref.html
 == background-position-2c.html background-position-2-ref.html
 == background-position-2d.html background-position-2-ref.html
 == background-position-2e.html background-position-2-ref.html
 == background-position-2f.html background-position-2-ref.html
 == zero-opacity-animation.html about:blank
 == zero-opacity-text.html about:blank
--- a/layout/reftests/layers/reftest.list
+++ b/layout/reftests/layers/reftest.list
@@ -1,14 +1,14 @@
 == move-to-background-1.html move-to-background-1-ref.html
 fuzzy-if(cocoaWidget,2,6) random-if(Android) == component-alpha-exit-1.html component-alpha-exit-1-ref.html # bug 760275
 != pull-background-1.html about:blank
 != pull-background-2.html about:blank
-fails-if(webrender) != pull-background-3.html about:blank 
-fails-if(webrender) != pull-background-4.html about:blank 
+!= pull-background-3.html about:blank
+!= pull-background-4.html about:blank
 != pull-background-5.html about:blank
 != pull-background-6.html about:blank
 # The animated-position tests are disabled for intermittent failures / passes, bug 1150941
 skip != pull-background-animated-position-1.html about:blank # Fails with event regions
 skip != pull-background-animated-position-2.html about:blank
 skip != pull-background-animated-position-3.html about:blank # Fails because PaintedLayer item assignment doesn't recognize overflow:hidden clips
 skip != pull-background-animated-position-4.html about:blank # Fails because PaintedLayer item assignment and background pulling don't recognize overflow:hidden clips
 skip != pull-background-animated-position-5.html about:blank # Fails because ownLayer bounds don't anticipate changes of animated contents, but doesn't fail with event regions