am a2ba428a
: Disable the egl_khr_gl_colorspace extension
* commit 'a2ba428a22125558a129c6ba4001dfc2169de2fe': Disable the egl_khr_gl_colorspace extension
This commit is contained in:
commit
fccb7ac596
@ -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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user