diff --git a/graphics/composer/2.1/utils/hwc2on1adapter/HWC2On1Adapter.cpp b/graphics/composer/2.1/utils/hwc2on1adapter/HWC2On1Adapter.cpp index d0167d9e03..366d6417e2 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;