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

Commit 99da6dd7 authored by Android (Google) Code Review's avatar Android (Google) Code Review Committed by The Android Open Source Project
Browse files

am 58ebdcc0: Merge change 5625 into donut

Merge commit '58ebdcc06eca06741460a7db2be4b79e3865eb88'

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


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


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