diff options
| author | 2021-12-02 15:01:48 -0800 | |
|---|---|---|
| committer | 2021-12-07 12:30:42 -0800 | |
| commit | 028676ae8621c7860f036ec05238a1019f14023b (patch) | |
| tree | ef042a34935376d67bd8ccb534f74aa65bb7d0d6 /libs/gui/BLASTBufferQueue.cpp | |
| parent | 387b08fe8eb093e7bb0007f4ac722eb3f9e3c6f4 (diff) | |
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
Diffstat (limited to 'libs/gui/BLASTBufferQueue.cpp')
0 files changed, 0 insertions, 0 deletions