SF: Update to composer@2.2 implementation
Bug: 63710530
Test: adb -d shell am start -n \
com.drawelements.deqp/android.app.NativeActivity \
-e cmdLine '"deqp --deqp-case=dEQP-EGL.functional.hdr_metadata.* \
--deqp-log-filename=/sdcard/dEQP-Log.qpa"'
Change-Id: I5412eae0a001406e058cd6687b02f3a37c82a7f1
diff --git a/services/surfaceflinger/DisplayHardware/HWC2.cpp b/services/surfaceflinger/DisplayHardware/HWC2.cpp
index 814b55e..f14c2fe 100644
--- a/services/surfaceflinger/DisplayHardware/HWC2.cpp
+++ b/services/surfaceflinger/DisplayHardware/HWC2.cpp
@@ -37,6 +37,7 @@
using android::FloatRect;
using android::GraphicBuffer;
using android::HdrCapabilities;
+using android::HdrMetadata;
using android::Rect;
using android::Region;
using android::sp;
@@ -687,8 +688,7 @@
// Layer methods
-Layer::Layer(android::Hwc2::Composer& composer,
- const std::unordered_set<Capability>& capabilities,
+Layer::Layer(android::Hwc2::Composer& composer, const std::unordered_set<Capability>& capabilities,
hwc2_display_t displayId, hwc2_layer_t layerId)
: mComposer(composer),
mCapabilities(capabilities),
@@ -788,6 +788,16 @@
return static_cast<Error>(intError);
}
+Error Layer::setHdrMetadata(const android::HdrMetadata& metadata) {
+ if (metadata == mHdrMetadata) {
+ return Error::None;
+ }
+
+ mHdrMetadata = metadata;
+ auto intError = mComposer.setLayerHdrMetadata(mDisplayId, mId, metadata);
+ return static_cast<Error>(intError);
+}
+
Error Layer::setDisplayFrame(const Rect& frame)
{
Hwc2::IComposerClient::Rect hwcRect{frame.left, frame.top,