Allow for solid color layers to start some candidate cached sets.
This is for letterboxed holepunch: a typical layer stack would be: 1. A solid color letterbox in back 2. A solid color layer for SurfaceView's background protection 3. A game's SurfaceView which has rounded corners One of the constraints for creating a CachedSet is that it cannot begin with a solid color layer, under the assumption that if there is an idle layer on top of a solid color layer, then those two layers should not be merged into a cached set since displaying the color layer separately is already cheap. But, for the example layer stack above, this means that there cannot be a candidate cached set behind the game's SurfaceView, meaning that there is no hole punch generated, so the game is always in client composition. So, let's remove the constraint that a CachedSet cannot start with a solid color layer for hole punches, which resolves the issue. Bug: 208780233 Test: Hill Climb Racing with letterboxed rounded corners Test: libcompositionengine_test Change-Id: Ia5bcdec363f4401b9b9738c5f6ce335497d6362b
Loading
Please register or sign in to comment