From bcce313feab557ab7cbb06cc1de941a7bf6657b0 Mon Sep 17 00:00:00 2001 From: Ethan Chen Date: Thu, 15 Oct 2015 13:50:10 -0700 Subject: [PATCH] Revert "egl: Remove old tuna BGRA vs RGBA workaround." This reverts commit 733a80754786d39cdc0fee09509b194472c320bc. Change-Id: Ifb41720ed020489892a667914ea3bd3f1ac6504e --- opengl/libs/Android.mk | 3 +++ opengl/libs/EGL/eglApi.cpp | 9 +++++++++ 2 files changed, 12 insertions(+) diff --git a/opengl/libs/Android.mk b/opengl/libs/Android.mk index 18ad3003e..661b99ceb 100644 --- a/opengl/libs/Android.mk +++ b/opengl/libs/Android.mk @@ -47,6 +47,9 @@ LOCAL_CFLAGS += -DEGL_TRACE=1 ifeq ($(BOARD_ALLOW_EGL_HIBERNATION),true) LOCAL_CFLAGS += -DBOARD_ALLOW_EGL_HIBERNATION endif +ifeq ($(TARGET_BOARD_PLATFORM), omap4) + LOCAL_CFLAGS += -DWORKAROUND_BUG_10194508=1 +endif ifneq ($(MAX_EGL_CACHE_ENTRY_SIZE),) LOCAL_CFLAGS += -DMAX_EGL_CACHE_ENTRY_SIZE=$(MAX_EGL_CACHE_ENTRY_SIZE) endif diff --git a/opengl/libs/EGL/eglApi.cpp b/opengl/libs/EGL/eglApi.cpp index 837890759..0bc81b1de 100644 --- a/opengl/libs/EGL/eglApi.cpp +++ b/opengl/libs/EGL/eglApi.cpp @@ -466,6 +466,14 @@ EGLSurface eglCreateWindowSurface( EGLDisplay dpy, EGLConfig config, EGLint format = HAL_PIXEL_FORMAT_RGBA_8888; android_dataspace dataSpace = HAL_DATASPACE_UNKNOWN; +#if WORKAROUND_BUG_10194508 + if (!cnx->egl.eglGetConfigAttrib(iDpy, config, EGL_NATIVE_VISUAL_ID, + &format)) { + ALOGE("eglGetConfigAttrib(EGL_NATIVE_VISUAL_ID) failed: %#x", + eglGetError()); + format = 0; + } +#else EGLint a = 0; cnx->egl.eglGetConfigAttrib(iDpy, config, EGL_ALPHA_SIZE, &a); if (a > 0) { @@ -484,6 +492,7 @@ EGLSurface eglCreateWindowSurface( EGLDisplay dpy, EGLConfig config, format = HAL_PIXEL_FORMAT_RGBX_8888; } } +#endif // now select a corresponding sRGB format if needed if (attrib_list && dp->haveExtension("EGL_KHR_gl_colorspace")) {