Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8c12c7ae authored by Mathias Agopian's avatar Mathias Agopian
Browse files

added EGLUtils::strerror

parent 42db9dce
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -31,6 +31,8 @@ class EGLUtils
{
public:

    static const char *strerror(EGLint err);

    static status_t selectConfigForPixelFormat(
            EGLDisplay dpy,
            EGLint const* attrs,
+29 −5
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@

#define LOG_TAG "EGLUtils"

#include <cutils/log.h>
#include <utils/Errors.h>

#include <ui/EGLUtils.h>
@@ -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,
@@ -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;
        }
    }