Backed out changeset f936a4baa698 (bug 1493616) for build bustages WebRenderCommandBuilder.cpp CLOSED TREE
authorCiure Andrei <aciure@mozilla.com>
Sat, 06 Oct 2018 05:17:41 +0300
changeset 439887 d4cd818673005e926f505b82eccb89b0b46045f7
parent 439886 f936a4baa698ac02c3ae215f61dee51c595cb37b
child 439888 497bb152e567c56bca163d258d83b4bc9087fb37
push id70502
push useraciure@mozilla.com
push dateSat, 06 Oct 2018 02:18:19 +0000
treeherderautoland@d4cd81867300 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1493616
milestone64.0a1
backs outf936a4baa698ac02c3ae215f61dee51c595cb37b
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
Backed out changeset f936a4baa698 (bug 1493616) for build bustages WebRenderCommandBuilder.cpp CLOSED TREE
gfx/layers/wr/WebRenderCommandBuilder.cpp
--- a/gfx/layers/wr/WebRenderCommandBuilder.cpp
+++ b/gfx/layers/wr/WebRenderCommandBuilder.cpp
@@ -731,16 +731,17 @@ struct DIGroup
       if (!mInvalidRect.Contains(bounds)) {
         GP("Passing\n");
         dirty = false;
       }
 
       if (mInvalidRect.Contains(bounds)) {
         GP("Wholely contained\n");
         BlobItemData* data = GetBlobItemData(item);
+        data->mInvalid = false;
       } else {
         BlobItemData* data = GetBlobItemData(item);
         if (data->mInvalid) {
           if (item->GetType() == DisplayItemType::TYPE_TRANSFORM) {
             nsDisplayTransform* transformItem = static_cast<nsDisplayTransform*>(item);
             const Matrix4x4Flagged& t = transformItem->GetTransform();
             Matrix t2d;
             bool is2D = t.Is2D(&t2d);
@@ -1094,21 +1095,16 @@ Grouper::ConstructItemInsideInactive(Web
                                      wr::DisplayListBuilder& aBuilder,
                                      wr::IpcResourceUpdateQueue& aResources,
                                      DIGroup* aGroup, nsDisplayItem* aItem,
                                      const StackingContextHelper& aSc)
 {
   nsDisplayList* children = aItem->GetChildren();
   BlobItemData* data = GetBlobItemDataForGroup(aItem, aGroup);
 
-  /* mInvalid unfortunately persists across paints. Clear it so that if we don't
-   * set it to 'true' we ensure that we're not using the value from the last
-   * time that we painted */
-  data->mInvalid = false;
-
   if (aItem->GetType() == DisplayItemType::TYPE_FILTER) {
     gfx::Size scale(1, 1);
     // If ComputeDifferences finds any change, we invalidate the entire container item.
     // This is needed because blob merging requires the entire item to be within the invalid region.
     data->mInvalid = BuildLayer(aItem, data, mDisplayListBuilder, scale);
   } else if (aItem->GetType() == DisplayItemType::TYPE_TRANSFORM) {
     nsDisplayTransform* transformItem = static_cast<nsDisplayTransform*>(aItem);
     const Matrix4x4Flagged& t = transformItem->GetTransform();