added EGLUtils::strerror
This commit is contained in:
@@ -31,6 +31,8 @@ class EGLUtils
|
||||
{
|
||||
public:
|
||||
|
||||
static const char *strerror(EGLint err);
|
||||
|
||||
static status_t selectConfigForPixelFormat(
|
||||
EGLDisplay dpy,
|
||||
EGLint const* attrs,
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user