drm_hwcomposer: Fix HDR metadata handling
Remove const qualifiers from luminance data variables.
Set an empty HDR_OUTPUT_METADATA blob to ensure the property is
cleared when switching color modes.
Change-Id: I15d1477a98a1f4e103ef0202c157b8dfb5af8f86
Signed-off-by: Sasha McIntosh <sashamcintosh@google.com>
diff --git a/hwc2_device/HwcDisplay.cpp b/hwc2_device/HwcDisplay.cpp
index 977ab1a..a438263 100644
--- a/hwc2_device/HwcDisplay.cpp
+++ b/hwc2_device/HwcDisplay.cpp
@@ -863,25 +863,25 @@
switch (mode) {
case HAL_COLOR_MODE_NATIVE:
- hdr_metadata_.reset();
+ hdr_metadata_ = std::make_shared<hdr_output_metadata>();
colorspace_ = Colorspace::kDefault;
break;
case HAL_COLOR_MODE_STANDARD_BT601_625:
case HAL_COLOR_MODE_STANDARD_BT601_625_UNADJUSTED:
case HAL_COLOR_MODE_STANDARD_BT601_525:
case HAL_COLOR_MODE_STANDARD_BT601_525_UNADJUSTED:
- hdr_metadata_.reset();
+ hdr_metadata_ = std::make_shared<hdr_output_metadata>();
// The DP spec does not say whether this is the 525 or the 625 line version.
colorspace_ = Colorspace::kBt601Ycc;
break;
case HAL_COLOR_MODE_STANDARD_BT709:
case HAL_COLOR_MODE_SRGB:
- hdr_metadata_.reset();
+ hdr_metadata_ = std::make_shared<hdr_output_metadata>();
colorspace_ = Colorspace::kBt709Ycc;
break;
case HAL_COLOR_MODE_DCI_P3:
case HAL_COLOR_MODE_DISPLAY_P3:
- hdr_metadata_.reset();
+ hdr_metadata_ = std::make_shared<hdr_output_metadata>();
colorspace_ = Colorspace::kDciP3RgbD65;
break;
case HAL_COLOR_MODE_DISPLAY_BT2020: {