am a2ba428a: Disable the egl_khr_gl_colorspace extension

* commit 'a2ba428a22125558a129c6ba4001dfc2169de2fe':
  Disable the egl_khr_gl_colorspace extension
This commit is contained in:
Jesse Hall 2013-09-16 12:44:40 -07:00 committed by Android Git Automerger
commit fccb7ac596

View File

@ -49,6 +49,10 @@
using namespace android; using namespace android;
// This extension has not been ratified yet, so can't be shipped.
// Implementation is incomplete and untested.
#define ENABLE_EGL_KHR_GL_COLORSPACE 0
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
namespace android { namespace android {
@ -82,7 +86,9 @@ extern char const * const gExtensionString =
"EGL_KHR_image_base " // mandatory "EGL_KHR_image_base " // mandatory
"EGL_KHR_image_pixmap " "EGL_KHR_image_pixmap "
"EGL_KHR_lock_surface " "EGL_KHR_lock_surface "
#if (ENABLE_EGL_KHR_GL_COLORSPACE != 0)
"EGL_KHR_gl_colorspace " "EGL_KHR_gl_colorspace "
#endif
"EGL_KHR_gl_texture_2D_image " "EGL_KHR_gl_texture_2D_image "
"EGL_KHR_gl_texture_cubemap_image " "EGL_KHR_gl_texture_cubemap_image "
"EGL_KHR_gl_renderbuffer_image " "EGL_KHR_gl_renderbuffer_image "
@ -366,7 +372,7 @@ EGLBoolean eglGetConfigAttrib(EGLDisplay dpy, EGLConfig config,
// surfaces // surfaces
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// The EGL_KHR_gl_colorspace spec hasn't been published yet, so these haven't // The EGL_KHR_gl_colorspace spec hasn't been ratified yet, so these haven't
// been added to the Khronos egl.h. // been added to the Khronos egl.h.
#define EGL_GL_COLORSPACE_KHR EGL_VG_COLORSPACE #define EGL_GL_COLORSPACE_KHR EGL_VG_COLORSPACE
#define EGL_GL_COLORSPACE_SRGB_KHR EGL_VG_COLORSPACE_sRGB #define EGL_GL_COLORSPACE_SRGB_KHR EGL_VG_COLORSPACE_sRGB
@ -427,7 +433,17 @@ EGLSurface eglCreateWindowSurface( EGLDisplay dpy, EGLConfig config,
attr += 2) { attr += 2) {
if (*attr == EGL_GL_COLORSPACE_KHR && if (*attr == EGL_GL_COLORSPACE_KHR &&
dp->haveExtension("EGL_KHR_gl_colorspace")) { dp->haveExtension("EGL_KHR_gl_colorspace")) {
format = modifyFormatColorspace(format, *(attr+1)); if (ENABLE_EGL_KHR_GL_COLORSPACE) {
format = modifyFormatColorspace(format, *(attr+1));
} else {
// Normally we'd pass through unhandled attributes to
// the driver. But in case the driver implements this
// extension but we're disabling it, we want to prevent
// it getting through -- support will be broken without
// our help.
ALOGE("sRGB window surfaces not supported");
return setError(EGL_BAD_ATTRIBUTE, EGL_NO_SURFACE);
}
} }
} }
} }
@ -458,7 +474,17 @@ EGLSurface eglCreateWindowSurface( EGLDisplay dpy, EGLConfig config,
if (attrib_list && dp->haveExtension("EGL_KHR_gl_colorspace")) { if (attrib_list && dp->haveExtension("EGL_KHR_gl_colorspace")) {
for (const EGLint* attr = attrib_list; *attr != EGL_NONE; attr += 2) { for (const EGLint* attr = attrib_list; *attr != EGL_NONE; attr += 2) {
if (*attr == EGL_GL_COLORSPACE_KHR) { if (*attr == EGL_GL_COLORSPACE_KHR) {
format = modifyFormatColorspace(format, attr[1]); if (ENABLE_EGL_KHR_GL_COLORSPACE) {
format = modifyFormatColorspace(format, *(attr+1));
} else {
// Normally we'd pass through unhandled attributes to
// the driver. But in case the driver implements this
// extension but we're disabling it, we want to prevent
// it getting through -- support will be broken without
// our help.
ALOGE("sRGB window surfaces not supported");
return setError(EGL_BAD_ATTRIBUTE, EGL_NO_SURFACE);
}
} }
} }
} }