[SurfaceFlinger] Query per display SkipClientColorTransform.
Previously the ability of SkipClientColorTransform is a global capability.
However, some hardwares can't apply it for all displays. Thus we introduced per
display capability. This patch plumbs it in SurfaceFlinger.
BUG: 69911676
Test: Build, flash and boot, verify with color blindness
Change-Id: Ibde2c5fe16b090bb07594702dd450ab863414589
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp
index adc46cc..3e5920f 100644
--- a/services/surfaceflinger/SurfaceFlinger.cpp
+++ b/services/surfaceflinger/SurfaceFlinger.cpp
@@ -3085,8 +3085,10 @@
display->getHdrCapabilities().getDesiredMaxLuminance());
const bool hasDeviceComposition = getBE().mHwc->hasDeviceComposition(displayId);
- const bool skipClientColorTransform = getBE().mHwc->hasCapability(
- HWC2::Capability::SkipClientColorTransform);
+ const bool skipClientColorTransform =
+ getBE().mHwc
+ ->hasDisplayCapability(displayId,
+ HWC2::DisplayCapability::SkipClientColorTransform);
// Compute the global color transform matrix.
applyColorMatrix = !hasDeviceComposition && !skipClientColorTransform;