Apply additional CachedSet rendering fixes
1. Properly set the viewport to be the layer stack content rectangle, rather than the cachedset bounds 2. The projection space of the output buffer must be stored alongside the override buffer. This must feed back into RenderEngine when re-rendering a CachedSet, as the displayFrame of the cached buffer has to map back into layer stack space 3. The Transform for override buffers must collapse to the IDENTITY transform, because cached buffers are in the same orientation as the client target so there's no need to apply a transform Bug: 180660547 Test: libcompositionengine_test Test: Youtube fullscreen playback Test: simulate virtual displays Change-Id: Ie78c61853b2a712060b5f17045157a457b461cb7
Showing
- services/surfaceflinger/CompositionEngine/include/compositionengine/impl/OutputLayerCompositionState.h 6 additions, 4 deletions...lude/compositionengine/impl/OutputLayerCompositionState.h
- services/surfaceflinger/CompositionEngine/include/compositionengine/impl/planner/CachedSet.h 2 additions, 0 deletions...Engine/include/compositionengine/impl/planner/CachedSet.h
- services/surfaceflinger/CompositionEngine/include/compositionengine/impl/planner/Flattener.h 1 addition, 0 deletions...Engine/include/compositionengine/impl/planner/Flattener.h
- services/surfaceflinger/CompositionEngine/src/OutputLayer.cpp 19 additions, 8 deletions...ices/surfaceflinger/CompositionEngine/src/OutputLayer.cpp
- services/surfaceflinger/CompositionEngine/src/OutputLayerCompositionState.cpp 1 addition, 0 deletions...ger/CompositionEngine/src/OutputLayerCompositionState.cpp
- services/surfaceflinger/CompositionEngine/src/planner/CachedSet.cpp 9 additions, 5 deletions...urfaceflinger/CompositionEngine/src/planner/CachedSet.cpp
- services/surfaceflinger/CompositionEngine/src/planner/Flattener.cpp 2 additions, 0 deletions...urfaceflinger/CompositionEngine/src/planner/Flattener.cpp
- services/surfaceflinger/CompositionEngine/tests/OutputLayerTest.cpp 6 additions, 3 deletions...urfaceflinger/CompositionEngine/tests/OutputLayerTest.cpp
- services/surfaceflinger/CompositionEngine/tests/planner/CachedSetTest.cpp 11 additions, 2 deletions...flinger/CompositionEngine/tests/planner/CachedSetTest.cpp
- services/surfaceflinger/CompositionEngine/tests/planner/FlattenerTest.cpp 29 additions, 4 deletions...flinger/CompositionEngine/tests/planner/FlattenerTest.cpp
Loading
Please register or sign in to comment