Loading include/ui/EGLUtils.h +2 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,8 @@ class EGLUtils { public: static const char *strerror(EGLint err); static status_t selectConfigForPixelFormat( EGLDisplay dpy, EGLint const* attrs, Loading libs/ui/EGLUtils.cpp +29 −5 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ #define LOG_TAG "EGLUtils" #include <cutils/log.h> #include <utils/Errors.h> #include <ui/EGLUtils.h> Loading @@ -29,6 +30,28 @@ namespace android { // ---------------------------------------------------------------------------- const char *EGLUtils::strerror(EGLint err) { switch (err){ case EGL_SUCCESS: return "EGL_SUCCESS"; case EGL_NOT_INITIALIZED: return "EGL_NOT_INITIALIZED"; case EGL_BAD_ACCESS: return "EGL_BAD_ACCESS"; case EGL_BAD_ALLOC: return "EGL_BAD_ALLOC"; case EGL_BAD_ATTRIBUTE: return "EGL_BAD_ATTRIBUTE"; case EGL_BAD_CONFIG: return "EGL_BAD_CONFIG"; case EGL_BAD_CONTEXT: return "EGL_BAD_CONTEXT"; case EGL_BAD_CURRENT_SURFACE: return "EGL_BAD_CURRENT_SURFACE"; case EGL_BAD_DISPLAY: return "EGL_BAD_DISPLAY"; case EGL_BAD_MATCH: return "EGL_BAD_MATCH"; case EGL_BAD_NATIVE_PIXMAP: return "EGL_BAD_NATIVE_PIXMAP"; case EGL_BAD_NATIVE_WINDOW: return "EGL_BAD_NATIVE_WINDOW"; case EGL_BAD_PARAMETER: return "EGL_BAD_PARAMETER"; case EGL_BAD_SURFACE: return "EGL_BAD_SURFACE"; case EGL_CONTEXT_LOST: return "EGL_CONTEXT_LOST"; default: return "UNKNOWN"; } } status_t EGLUtils::selectConfigForPixelFormat( EGLDisplay dpy, EGLint const* attrs, Loading Loading @@ -68,12 +91,13 @@ status_t EGLUtils::selectConfigForPixelFormat( EGLConfig config = NULL; for (i=0 ; i<n ; i++) { EGLint r,g,b,a; eglGetConfigAttrib(dpy, configs[i], EGL_RED_SIZE, &r); eglGetConfigAttrib(dpy, configs[i], EGL_GREEN_SIZE, &g); eglGetConfigAttrib(dpy, configs[i], EGL_BLUE_SIZE, &b); eglGetConfigAttrib(dpy, configs[i], EGL_ALPHA_SIZE, &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 = configs[i]; config = curr; break; } } Loading Loading
include/ui/EGLUtils.h +2 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,8 @@ class EGLUtils { public: static const char *strerror(EGLint err); static status_t selectConfigForPixelFormat( EGLDisplay dpy, EGLint const* attrs, Loading
libs/ui/EGLUtils.cpp +29 −5 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ #define LOG_TAG "EGLUtils" #include <cutils/log.h> #include <utils/Errors.h> #include <ui/EGLUtils.h> Loading @@ -29,6 +30,28 @@ namespace android { // ---------------------------------------------------------------------------- const char *EGLUtils::strerror(EGLint err) { switch (err){ case EGL_SUCCESS: return "EGL_SUCCESS"; case EGL_NOT_INITIALIZED: return "EGL_NOT_INITIALIZED"; case EGL_BAD_ACCESS: return "EGL_BAD_ACCESS"; case EGL_BAD_ALLOC: return "EGL_BAD_ALLOC"; case EGL_BAD_ATTRIBUTE: return "EGL_BAD_ATTRIBUTE"; case EGL_BAD_CONFIG: return "EGL_BAD_CONFIG"; case EGL_BAD_CONTEXT: return "EGL_BAD_CONTEXT"; case EGL_BAD_CURRENT_SURFACE: return "EGL_BAD_CURRENT_SURFACE"; case EGL_BAD_DISPLAY: return "EGL_BAD_DISPLAY"; case EGL_BAD_MATCH: return "EGL_BAD_MATCH"; case EGL_BAD_NATIVE_PIXMAP: return "EGL_BAD_NATIVE_PIXMAP"; case EGL_BAD_NATIVE_WINDOW: return "EGL_BAD_NATIVE_WINDOW"; case EGL_BAD_PARAMETER: return "EGL_BAD_PARAMETER"; case EGL_BAD_SURFACE: return "EGL_BAD_SURFACE"; case EGL_CONTEXT_LOST: return "EGL_CONTEXT_LOST"; default: return "UNKNOWN"; } } status_t EGLUtils::selectConfigForPixelFormat( EGLDisplay dpy, EGLint const* attrs, Loading Loading @@ -68,12 +91,13 @@ status_t EGLUtils::selectConfigForPixelFormat( EGLConfig config = NULL; for (i=0 ; i<n ; i++) { EGLint r,g,b,a; eglGetConfigAttrib(dpy, configs[i], EGL_RED_SIZE, &r); eglGetConfigAttrib(dpy, configs[i], EGL_GREEN_SIZE, &g); eglGetConfigAttrib(dpy, configs[i], EGL_BLUE_SIZE, &b); eglGetConfigAttrib(dpy, configs[i], EGL_ALPHA_SIZE, &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 = configs[i]; config = curr; break; } } Loading