summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Turner <mattst88@gentoo.org>2012-09-12 05:24:56 +0000
committerMatt Turner <mattst88@gentoo.org>2012-09-12 05:24:56 +0000
commit11fa64314802738d63fffb9339b0f6764688bdf3 (patch)
tree77164263fa1be8275086ff4ac506fdc216dad4e3 /x11-libs/cairo/files
parentAdd AS_IF patches from 2.33.x to fix cross-compiling; bug #434770, thanks to ... (diff)
downloadgentoo-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.patch37
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);