diff options
author | Joen Chen <joenchen@google.com> | 2022-11-24 03:08:56 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2022-11-24 03:08:56 +0000 |
commit | 8b1e213b801d5664eb097c423238e766f62c7dfd (patch) | |
tree | adf2730a6f9f697648352d341ddf9c19a60bddef /libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp | |
parent | f6737e4ae290bffe2ea3705d731e04a3624b5271 (diff) | |
parent | 25e1343581cd6eee12258f62c71bb7e955ff8981 (diff) |
Merge "HWC boots in FHD resolution" into tm-qpr-dev am: 25e1343581
Original change: https://googleplex-android-review.googlesource.com/c/platform/hardware/google/graphics/common/+/20337006
Change-Id: Ibb17b48b3dad94368501aed9f555171fdb1795a7
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Diffstat (limited to 'libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp')
-rw-r--r-- | libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp b/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp index 1984d7b..62e6f16 100644 --- a/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp +++ b/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp @@ -832,15 +832,20 @@ int32_t ExynosDisplayDrmInterface::chosePreferredConfig() if (err != HWC2_ERROR_NONE || !num_configs) return err; - hwc2_config_t config; - int32_t bootConfig; - err = mExynosDisplay->getPreferredDisplayConfigInternal(&bootConfig); - if (err == HWC2_ERROR_NONE && property_get_bool("sys.boot_completed", false) == true) { - config = static_cast<hwc2_config_t>(bootConfig); + int32_t config = -1; + char modeStr[PROPERTY_VALUE_MAX] = "\0"; + int32_t width = 0, height = 0, fps = 0; + if (property_get("vendor.display.preferred_mode", modeStr, "") > 0 && + sscanf(modeStr, "%dx%d@%d", &width, &height, &fps) == 3) { + err = mExynosDisplay->lookupDisplayConfigs(width, height, fps, &config); } else { + err = HWC2_ERROR_BAD_CONFIG; + } + + if (err != HWC2_ERROR_NONE) { config = mDrmConnector->get_preferred_mode_id(); } - ALOGI("Preferred mode id: %d, state: %d", config, mDrmConnector->state()); + ALOGI("Preferred mode id: %d(%s), state: %d", config, modeStr, mDrmConnector->state()); if ((err = setActiveConfig(config)) < 0) { ALOGE("failed to set default config, err %d", err); |