Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 58ebdcc0 authored by Android (Google) Code Review's avatar Android (Google) Code Review
Browse files

Merge change 5625 into donut

* changes:
  fix [1947273] the DimLayer causes the whole screen to update during transactions
parents 66c2942a 2f157b19
Loading
Loading
Loading
Loading
+6 −5
Original line number Diff line number Diff line
@@ -771,10 +771,11 @@ void SurfaceFlinger::computeVisibleRegions(
            dirty.orSelf(layer->visibleRegionScreen);
            layer->contentDirty = false;
        } else {
            // compute the exposed region
            // dirty = what's visible now - what's wasn't covered before
            //       = what's visible now & what's was covered before
            dirty = visibleRegion.intersect(layer->coveredRegionScreen);            
            /* compute the exposed region:
             *    exposed = what's VISIBLE and NOT COVERED now 
             *    but was COVERED before
             */
            dirty = (visibleRegion - coveredRegion) & layer->coveredRegionScreen;
        }
        dirty.subtractSelf(aboveOpaqueLayers);

@@ -783,7 +784,7 @@ void SurfaceFlinger::computeVisibleRegions(

        // updade aboveOpaqueLayers/aboveCoveredLayers for next (lower) layer
        aboveOpaqueLayers.orSelf(opaqueRegion);
        aboveCoveredLayers.orSelf(bounds);
        aboveCoveredLayers.orSelf(visibleRegion);
        
        // Store the visible region is screen space
        layer->setVisibleRegion(visibleRegion);