SF: Add back debug control of HWC use
My changes to refactor Layer::setPerFrameData ended up dropping the
ability to force client composition if either mDebugDisableHWC or
mDebugRegion were set.
This simply adds back a check on those flags to force client
composition.
Test: Set "Disable HW overlays" developer option
Bug: 38853920
Change-Id: Ia31cca8232a95b081b1565921b18acd69fb02757
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp
index 213160d..4ca940e 100644
--- a/services/surfaceflinger/SurfaceFlinger.cpp
+++ b/services/surfaceflinger/SurfaceFlinger.cpp
@@ -1904,6 +1904,10 @@
auto display = displayDevice->getCompositionDisplay();
for (auto& layer : display->getOutputLayersOrderedByZ()) {
+ if (mDebugDisableHWC || mDebugRegion) {
+ layer->editState().forceClientComposition = true;
+ }
+
// Update the composition state of the output layer, as needed
// recomputing it from the state given by the front-end layer.
layer->updateCompositionState(updatingGeometryThisFrame);