[SurfaceFlinger] Extend HDR support.
Previously we stored HDR10 support in DisplayDevice. This patch extends and
generalizes the support to HLG and Dolby Vision.
Minor: Adapt Hdr type from HAL.
BUG: 73825729
BUG: 77156734
Test: Build, flash, watch Youtube HDR
Change-Id: Id642bc9482523b4646814dca9ecfb1f043987dc5
diff --git a/services/surfaceflinger/DisplayDevice.h b/services/surfaceflinger/DisplayDevice.h
index b8a8906..cd0bed6 100644
--- a/services/surfaceflinger/DisplayDevice.h
+++ b/services/surfaceflinger/DisplayDevice.h
@@ -85,7 +85,7 @@
int displayWidth,
int displayHeight,
bool hasWideColorGamut,
- bool hasHdr10,
+ const HdrCapabilities& hdrCapabilities,
int initialPowerMode);
// clang-format on
@@ -136,7 +136,9 @@
status_t beginFrame(bool mustRecompose) const;
status_t prepareFrame(HWComposer& hwc);
bool hasWideColorGamut() const { return mHasWideColorGamut; }
- bool hasHdr10() const { return mHasHdr10; }
+ bool hasHDR10Support() const { return mHasHdr10; }
+ bool hasHLGSupport() const { return mHasHLG; }
+ bool hasDolbyVisionSupport() const { return mHasDolbyVision; }
void swapBuffers(HWComposer& hwc) const;
@@ -255,6 +257,8 @@
// Fed to RenderEngine during composition.
bool mHasWideColorGamut;
bool mHasHdr10;
+ bool mHasHLG;
+ bool mHasDolbyVision;
};
struct DisplayDeviceState {