SF: Move/refactor presentation loop to CompositionEngine
This introduces CompositionEngine::present(), which will be the entry
point for performing all composition related work.
Test: atest libsurfaceflinger_unittest libcompositionengine_test
Bug: 121291683
Change-Id: I5980da7fd471ad0920f6737698c214ed5ee07c60
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp
index 8760bb0..e0d1609 100644
--- a/services/surfaceflinger/SurfaceFlinger.cpp
+++ b/services/surfaceflinger/SurfaceFlinger.cpp
@@ -1802,14 +1802,7 @@
mCompositionEngine->preComposition(refreshArgs);
rebuildLayerStacks();
calculateWorkingSet(refreshArgs);
- for (const auto& [token, displayDevice] : mDisplays) {
- auto display = displayDevice->getCompositionDisplay();
- display->beginFrame();
- display->prepareFrame();
- display->devOptRepaintFlash(refreshArgs);
- display->finishFrame(refreshArgs);
- display->postFramebuffer();
- }
+ mCompositionEngine->present(refreshArgs);
postFrame();
postComposition();