From f579ea47aa9a742c21811fdaab303ad7176362ea Mon Sep 17 00:00:00 2001 From: huans Date: Fri, 1 Jun 2018 14:26:57 -0700 Subject: SetColorMode is not available for vendor hwc less than 1.4 Bug: 90510785 Test: VTS VtsHalGraphicsComposerV2_1Target SetColorMode(default) pass Change-Id: Ia295b3ef2f0f433a7e1b5179eb230b8f7c649400 --- .../2.1/utils/hwc2on1adapter/HWC2On1Adapter.cpp | 24 ++++++++++++---------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/graphics/composer/2.1/utils/hwc2on1adapter/HWC2On1Adapter.cpp b/graphics/composer/2.1/utils/hwc2on1adapter/HWC2On1Adapter.cpp index 77f06bbb..6551a99a 100644 --- a/graphics/composer/2.1/utils/hwc2on1adapter/HWC2On1Adapter.cpp +++ b/graphics/composer/2.1/utils/hwc2on1adapter/HWC2On1Adapter.cpp @@ -858,18 +858,20 @@ Error HWC2On1Adapter::Display::setColorMode(android_color_mode_t mode) { return Error::Unsupported; } - uint32_t hwc1Config = 0; - auto error = mActiveConfig->getHwc1IdForColorMode(mode, &hwc1Config); - if (error != Error::None) { - return error; - } + if (mDevice.mHwc1MinorVersion >= 4) { + uint32_t hwc1Config = 0; + auto error = mActiveConfig->getHwc1IdForColorMode(mode, &hwc1Config); + if (error != Error::None) { + return error; + } - ALOGV("[%" PRIu64 "] Setting HWC1 config %u", mId, hwc1Config); - int intError = mDevice.mHwc1Device->setActiveConfig(mDevice.mHwc1Device, - mHwc1Id, hwc1Config); - if (intError != 0) { - ALOGE("[%" PRIu64 "] Failed to set HWC1 config (%d)", mId, intError); - return Error::Unsupported; + ALOGV("[%" PRIu64 "] Setting HWC1 config %u", mId, hwc1Config); + int intError = + mDevice.mHwc1Device->setActiveConfig(mDevice.mHwc1Device, mHwc1Id, hwc1Config); + if (intError != 0) { + ALOGE("[%" PRIu64 "] Failed to set HWC1 config (%d)", mId, intError); + return Error::Unsupported; + } } mActiveColorMode = mode; -- cgit v1.2.3-54-g00ecf