summaryrefslogtreecommitdiffstats
path: root/opengl/libs/EGL
diff options
context:
space:
mode:
Diffstat (limited to 'opengl/libs/EGL')
-rw-r--r--opengl/libs/EGL/Loader.cpp7
-rw-r--r--opengl/libs/EGL/eglApi.cpp19
2 files changed, 13 insertions, 13 deletions
diff --git a/opengl/libs/EGL/Loader.cpp b/opengl/libs/EGL/Loader.cpp
index 1fcc048..19cc1a7 100644
--- a/opengl/libs/EGL/Loader.cpp
+++ b/opengl/libs/EGL/Loader.cpp
@@ -86,7 +86,12 @@ checkGlesEmulationStatus(void)
char prop[PROPERTY_VALUE_MAX];
int result = -1;
- /* First, check for qemu=1 */
+ /* Check first if the device does not support hardware rendering */
+ property_get("ro.libagl",prop,"0");
+ if(atoi(prop) == 1)
+ return 0;
+
+ /* Then, check for qemu=1 */
property_get("ro.kernel.qemu",prop,"0");
if (atoi(prop) != 1)
return -1;
diff --git a/opengl/libs/EGL/eglApi.cpp b/opengl/libs/EGL/eglApi.cpp
index 2f6bc79..dc8dc9a 100644
--- a/opengl/libs/EGL/eglApi.cpp
+++ b/opengl/libs/EGL/eglApi.cpp
@@ -462,13 +462,7 @@ EGLSurface eglCreateWindowSurface( EGLDisplay dpy, EGLConfig config,
// modify the EGLconfig's format before setting the native window's
// format.
-#ifdef USE_BGRA_8888
- // by default, just pick BGRA_8888
- EGLint format = HAL_PIXEL_FORMAT_BGRA_8888;
-#else
- // by default, just pick RGBA_8888
- EGLint format = HAL_PIXEL_FORMAT_RGBA_8888;
-#endif
+ EGLint format;
android_dataspace dataSpace = HAL_DATASPACE_UNKNOWN;
#if WORKAROUND_BUG_10194508
@@ -483,11 +477,12 @@ EGLSurface eglCreateWindowSurface( EGLDisplay dpy, EGLConfig config,
cnx->egl.eglGetConfigAttrib(iDpy, config, EGL_ALPHA_SIZE, &a);
if (a > 0) {
// alpha-channel requested, there's really only one suitable format
-#ifdef USE_BGRA_8888
- format = HAL_PIXEL_FORMAT_BGRA_8888;
-#else
- format = HAL_PIXEL_FORMAT_RGBA_8888;
-#endif
+ if (!cnx->egl.eglGetConfigAttrib(iDpy, config, EGL_NATIVE_VISUAL_ID,
+ &format)) {
+ ALOGE("eglGetConfigAttrib(EGL_NATIVE_VISUAL_ID) failed: %#x",
+ eglGetError());
+ format = HAL_PIXEL_FORMAT_RGBA_8888;
+ }
} else {
EGLint r, g, b;
r = g = b = 0;