SF: Fix color transform for composited virtual displays
ag/6455586 inadvertently changed the condition to never skip it.
Bug: 149968803
Test: Overlay display is not doubly sepia when Night Light is on.
Test: libcompositionengine_test
Change-Id: Ic33ba3069be8544ada1304461ab881b39b9fd1f9
diff --git a/services/surfaceflinger/CompositionEngine/src/Display.cpp b/services/surfaceflinger/CompositionEngine/src/Display.cpp
index c345405..308ec5a 100644
--- a/services/surfaceflinger/CompositionEngine/src/Display.cpp
+++ b/services/surfaceflinger/CompositionEngine/src/Display.cpp
@@ -268,12 +268,9 @@
}
bool Display::getSkipColorTransform() const {
- if (!mId) {
- return false;
- }
-
- auto& hwc = getCompositionEngine().getHwComposer();
- return hwc.hasDisplayCapability(*mId, HWC2::DisplayCapability::SkipClientColorTransform);
+ const auto& hwc = getCompositionEngine().getHwComposer();
+ return mId ? hwc.hasDisplayCapability(*mId, HWC2::DisplayCapability::SkipClientColorTransform)
+ : hwc.hasCapability(HWC2::Capability::SkipClientColorTransform);
}
bool Display::anyLayersRequireClientComposition() const {