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;