SF: Move/Refactor Layer::setPerFrameData
Moves functionality out of ColorLayer, BufferLayer, BufferStateLayer and BufferQueueLayer related to setting the per-frame data. Instead each of the front-end classes now implements a minimal function to set the per-frame state into the LayerFECompositionState structure. compositionengine::OutputLayer now takes care of sending the state to the HWC, and in particular with detecting when client composition needs to be forced due to lack of HWC support (though the front-end can also set a flag to force client composition for a few things it knows about). SurfaceFlinger::calculateWorkingSet is also refactored to work with the changes made, and prepare it to be moved over to CompositionEngine. Test: atest libsurfaceflinger_unittest libcompositionengine_test Test: atest CtsColorModeTestCases Test: atest CtsDisplayTestCases Test: atest CtsGraphicsTestCases Test: atest CtsUiRenderingTestCases Test: atest CtsViewTestCases Test: atest android.media.cts.EncodeVirtualDisplayWithCompositionTest Bug: 121291683 Change-Id: I2cb0442f68ec5c5f65f5b4cb418dda4c42e5dc39
Showing
- services/surfaceflinger/BufferLayer.cpp 11 additions, 80 deletionsservices/surfaceflinger/BufferLayer.cpp
- services/surfaceflinger/BufferLayer.h 2 additions, 6 deletionsservices/surfaceflinger/BufferLayer.h
- services/surfaceflinger/BufferQueueLayer.cpp 9 additions, 25 deletionsservices/surfaceflinger/BufferQueueLayer.cpp
- services/surfaceflinger/BufferQueueLayer.h 1 addition, 1 deletionservices/surfaceflinger/BufferQueueLayer.h
- services/surfaceflinger/BufferStateLayer.cpp 9 additions, 16 deletionsservices/surfaceflinger/BufferStateLayer.cpp
- services/surfaceflinger/BufferStateLayer.h 3 additions, 3 deletionsservices/surfaceflinger/BufferStateLayer.h
- services/surfaceflinger/ColorLayer.cpp 8 additions, 69 deletionsservices/surfaceflinger/ColorLayer.cpp
- services/surfaceflinger/ColorLayer.h 2 additions, 4 deletionsservices/surfaceflinger/ColorLayer.h
- services/surfaceflinger/CompositionEngine/include/compositionengine/DisplayColorProfile.h 8 additions, 0 deletions...ionEngine/include/compositionengine/DisplayColorProfile.h
- services/surfaceflinger/CompositionEngine/include/compositionengine/LayerFECompositionState.h 13 additions, 4 deletions...ngine/include/compositionengine/LayerFECompositionState.h
- services/surfaceflinger/CompositionEngine/include/compositionengine/Output.h 2 additions, 1 deletion...nger/CompositionEngine/include/compositionengine/Output.h
- services/surfaceflinger/CompositionEngine/include/compositionengine/OutputLayer.h 1 addition, 1 deletion...CompositionEngine/include/compositionengine/OutputLayer.h
- services/surfaceflinger/CompositionEngine/include/compositionengine/impl/Display.h 1 addition, 1 deletion...ompositionEngine/include/compositionengine/impl/Display.h
- services/surfaceflinger/CompositionEngine/include/compositionengine/impl/DisplayColorProfile.h 2 additions, 0 deletions...gine/include/compositionengine/impl/DisplayColorProfile.h
- services/surfaceflinger/CompositionEngine/include/compositionengine/impl/Output.h 1 addition, 1 deletion...CompositionEngine/include/compositionengine/impl/Output.h
- services/surfaceflinger/CompositionEngine/include/compositionengine/impl/OutputCompositionState.h 4 additions, 1 deletion...e/include/compositionengine/impl/OutputCompositionState.h
- services/surfaceflinger/CompositionEngine/include/compositionengine/impl/OutputLayer.h 16 additions, 3 deletions...sitionEngine/include/compositionengine/impl/OutputLayer.h
- services/surfaceflinger/CompositionEngine/include/compositionengine/impl/OutputLayerCompositionState.h 5 additions, 1 deletion...lude/compositionengine/impl/OutputLayerCompositionState.h
- services/surfaceflinger/CompositionEngine/include/compositionengine/mock/DisplayColorProfile.h 3 additions, 0 deletions...gine/include/compositionengine/mock/DisplayColorProfile.h
- services/surfaceflinger/CompositionEngine/include/compositionengine/mock/Output.h 6 additions, 5 deletions...CompositionEngine/include/compositionengine/mock/Output.h
Loading
Please register or sign in to comment