SF: setCompositionType when Client composition
Make sure that the compositionType is set at the HWC
when the compositionType is HWC2::Composition::Client.
Test: run cts -m CtsViewTestCases, rotate screen
Change-Id: I299e7db9c98bc6e1b57bf1090aad79d1807ee566
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp
index 223a97b..767c859 100644
--- a/services/surfaceflinger/SurfaceFlinger.cpp
+++ b/services/surfaceflinger/SurfaceFlinger.cpp
@@ -2182,7 +2182,16 @@
switch (compositionInfo.compositionType)
{
case HWC2::Composition::Invalid:
+ break;
+
case HWC2::Composition::Client:
+ if (compositionInfo.hwc.hwcLayer) {
+ auto error = (compositionInfo.hwc.hwcLayer)->
+ setCompositionType(compositionInfo.compositionType);
+ ALOGE_IF(error != HWC2::Error::None,
+ "[SF] Failed to set composition type: %s (%d)",
+ to_string(error).c_str(), static_cast<int32_t>(error));
+ }
break;
case HWC2::Composition::Sideband: