diff options
author | Matt Turner <mattst88@gentoo.org> | 2012-09-12 05:24:56 +0000 |
---|---|---|
committer | Matt Turner <mattst88@gentoo.org> | 2012-09-12 05:24:56 +0000 |
commit | 11fa64314802738d63fffb9339b0f6764688bdf3 (patch) | |
tree | 77164263fa1be8275086ff4ac506fdc216dad4e3 /x11-libs/cairo/files | |
parent | Add AS_IF patches from 2.33.x to fix cross-compiling; bug #434770, thanks to ... (diff) | |
download | gentoo-2-11fa64314802738d63fffb9339b0f6764688bdf3.tar.gz gentoo-2-11fa64314802738d63fffb9339b0f6764688bdf3.tar.bz2 gentoo-2-11fa64314802738d63fffb9339b0f6764688bdf3.zip |
Add patch for bug 431014 to fix EGL surfaceless extension detection.
(Portage version: 2.1.11.9/cvs/Linux x86_64)
Diffstat (limited to 'x11-libs/cairo/files')
-rw-r--r-- | x11-libs/cairo/files/cairo-1.12.2-surfaceless-extension.patch | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/x11-libs/cairo/files/cairo-1.12.2-surfaceless-extension.patch b/x11-libs/cairo/files/cairo-1.12.2-surfaceless-extension.patch new file mode 100644 index 000000000000..4222d8935ab2 --- /dev/null +++ b/x11-libs/cairo/files/cairo-1.12.2-surfaceless-extension.patch @@ -0,0 +1,37 @@ +commit f59b0914f4ddbff0d116c918343a6726d5f4317b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 11 17:38:36 2012 +0100 + + egl: s/EGL_KHR_surfaceless_opengl/EGL_KHR_surfaceless_context/ + + Mesa changed the name of the extension it invented, so check for the + real name and the old name before falling back to pbuffers which are not + supported by most EGL implementations. + + References: https://bugs.freedesktop.org/show_bug.cgi?id=53361 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + +diff --git a/src/cairo-egl-context.c b/src/cairo-egl-context.c +index eb1ef29..b24bc80 100644 +--- a/src/cairo-egl-context.c ++++ b/src/cairo-egl-context.c +@@ -122,8 +122,10 @@ _egl_make_current_surfaceless(cairo_egl_context_t *ctx) + const char *extensions; + + extensions = eglQueryString(ctx->display, EGL_EXTENSIONS); +- if (!strstr(extensions, "EGL_KHR_surfaceless_opengl")) ++ if (strstr(extensions, "EGL_KHR_surfaceless_context") == NULL && ++ strstr(extensions, "EGL_KHR_surfaceless_opengl") == NULL) + return FALSE; ++ + if (!eglMakeCurrent(ctx->display, + EGL_NO_SURFACE, EGL_NO_SURFACE, ctx->context)) + return FALSE; +@@ -174,7 +176,6 @@ cairo_egl_device_create (EGLDisplay dpy, EGLContext egl) + eglChooseConfig (dpy, config_attribs, &config, 1, &numConfigs); + + ctx->dummy_surface = eglCreatePbufferSurface (dpy, config, attribs); +- + if (ctx->dummy_surface == NULL) { + free (ctx); + return _cairo_gl_context_create_in_error (CAIRO_STATUS_NO_MEMORY); |