From e040b29e861bb21604caf0a70b5aa89a3441e426 Mon Sep 17 00:00:00 2001 From: Leon Scroggins III Date: Tue, 14 Dec 2021 17:22:25 -0500 Subject: [PATCH] Defer initialization for mEglConfigA8 This will only be used by some devices, when requested by SystemUI. Defer initialization until its needed. This removes the unnecessary ALOGE. If the device needs A8 and doesn't have it, it will still emit a fatal log, which will enclude the EGL error. Bug: 210501051 Test: make Change-Id: I2c45d910a272e6bf434b8dae52da88fb927ac82a --- libs/hwui/renderthread/EglManager.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/libs/hwui/renderthread/EglManager.cpp b/libs/hwui/renderthread/EglManager.cpp index 2f8ddeecced0f..6c3541ee24f6a 100644 --- a/libs/hwui/renderthread/EglManager.cpp +++ b/libs/hwui/renderthread/EglManager.cpp @@ -354,10 +354,6 @@ void EglManager::loadConfigs() { ALOGW("Failed to initialize 101010-2 format, error = %s", eglErrorString()); } - mEglConfigA8 = loadA8Config(mEglDisplay, mSwapBehavior); - if (mEglConfigA8 == EGL_NO_CONFIG_KHR) { - ALOGE("Failed to initialize A8 format, error = %s", eglErrorString()); - } } void EglManager::createContext() { @@ -431,9 +427,13 @@ Result EglManager::createSurface(EGLNativeWindowType window, EGLConfig config = mEglConfig; if (colorMode == ColorMode::A8) { // A8 doesn't use a color space + if (!mEglConfigA8) { + mEglConfigA8 = loadA8Config(mEglDisplay, mSwapBehavior); + LOG_ALWAYS_FATAL_IF(!mEglConfigA8, + "Requested ColorMode::A8, but EGL lacks support! error = %s", + eglErrorString()); + } config = mEglConfigA8; - - LOG_ALWAYS_FATAL_IF(!mEglConfigA8, "Requested ColorMode::A8, but EGL lacks support!"); } else { if (!mHasWideColorGamutSupport) { colorMode = ColorMode::Default;