diff options
author | Mathias Agopian <mathias@google.com> | 2011-01-19 18:26:15 -0800 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2011-01-19 18:26:15 -0800 |
commit | 3b6731b32dae652700a6908f5d838b62d39c0962 (patch) | |
tree | 77e41b56b1118fa8588d233075a302b45fbaf663 | |
parent | b362617f5f74ea86268cf1c2856229f39b7c5252 (diff) | |
parent | baf9af94a679f7e4b2273bce6c8f4645ef68015a (diff) | |
download | frameworks_base-3b6731b32dae652700a6908f5d838b62d39c0962.zip frameworks_base-3b6731b32dae652700a6908f5d838b62d39c0962.tar.gz frameworks_base-3b6731b32dae652700a6908f5d838b62d39c0962.tar.bz2 |
am baf9af94: Merge "Use EGL_NATIVE_VISUAL_ID to select EGLConfig" into honeycomb
* commit 'baf9af94a679f7e4b2273bce6c8f4645ef68015a':
Use EGL_NATIVE_VISUAL_ID to select EGLConfig
-rw-r--r-- | libs/ui/EGLUtils.cpp | 23 |
1 files changed, 4 insertions, 19 deletions
diff --git a/libs/ui/EGLUtils.cpp b/libs/ui/EGLUtils.cpp index 1663313..f24a71d 100644 --- a/libs/ui/EGLUtils.cpp +++ b/libs/ui/EGLUtils.cpp @@ -66,12 +66,6 @@ status_t EGLUtils::selectConfigForPixelFormat( if (outConfig == NULL) return BAD_VALUE; - int err; - PixelFormatInfo fbFormatInfo; - if ((err = getPixelFormatInfo(PixelFormat(format), &fbFormatInfo)) < 0) { - return err; - } - // Get all the "potential match" configs... if (eglGetConfigs(dpy, NULL, 0, &numConfigs) == EGL_FALSE) return BAD_VALUE; @@ -81,23 +75,14 @@ status_t EGLUtils::selectConfigForPixelFormat( free(configs); return BAD_VALUE; } - - const int fbSzA = fbFormatInfo.getSize(PixelFormatInfo::INDEX_ALPHA); - const int fbSzR = fbFormatInfo.getSize(PixelFormatInfo::INDEX_RED); - const int fbSzG = fbFormatInfo.getSize(PixelFormatInfo::INDEX_GREEN); - const int fbSzB = fbFormatInfo.getSize(PixelFormatInfo::INDEX_BLUE); int i; EGLConfig config = NULL; for (i=0 ; i<n ; i++) { - EGLint r,g,b,a; - EGLConfig curr = configs[i]; - eglGetConfigAttrib(dpy, curr, EGL_RED_SIZE, &r); - eglGetConfigAttrib(dpy, curr, EGL_GREEN_SIZE, &g); - eglGetConfigAttrib(dpy, curr, EGL_BLUE_SIZE, &b); - eglGetConfigAttrib(dpy, curr, EGL_ALPHA_SIZE, &a); - if (fbSzA == a && fbSzR == r && fbSzG == g && fbSzB == b) { - config = curr; + EGLint nativeVisualId = 0; + eglGetConfigAttrib(dpy, configs[i], EGL_NATIVE_VISUAL_ID, &nativeVisualId); + if (nativeVisualId>0 && format == nativeVisualId) { + config = configs[i]; break; } } |