Override buffer always sets blend mode and plane alpha
This fixes a caching issue where split screen chrome blanks out the other side of the split screen, because chrome uses an opaque layer and is the first layer of the cached set. The opaque bit must not be propagated to composer, since the cached buffer is allowed to blend with other layers if there are undamaged regions. Similarly, plane alpha is already applied when generating the override buffer, so we should not re-apply a non-zero plane alpha. Bug: 183480321 Test: libcompositionengine_test Test: split screen with chrome and recent screen Change-Id: I22ef304409f15f10435d824e5fab6d0c075d1b9a
Showing
- services/surfaceflinger/CompositionEngine/src/OutputLayer.cpp 8 additions, 5 deletions...ices/surfaceflinger/CompositionEngine/src/OutputLayer.cpp
- services/surfaceflinger/CompositionEngine/tests/OutputLayerTest.cpp 9 additions, 4 deletions...urfaceflinger/CompositionEngine/tests/OutputLayerTest.cpp
Loading
Please register or sign in to comment