summarylogtreecommitdiffstats
path: root/call-eglBindAPI-after-eglInitialize.patch
diff options
context:
space:
mode:
Diffstat (limited to 'call-eglBindAPI-after-eglInitialize.patch')
-rw-r--r--call-eglBindAPI-after-eglInitialize.patch48
1 files changed, 48 insertions, 0 deletions
diff --git a/call-eglBindAPI-after-eglInitialize.patch b/call-eglBindAPI-after-eglInitialize.patch
new file mode 100644
index 000000000000..09773a2200f2
--- /dev/null
+++ b/call-eglBindAPI-after-eglInitialize.patch
@@ -0,0 +1,48 @@
+diff --git a/glamor/glamor_egl.c b/glamor/glamor_egl.c
+index 4bcd3ce..16a20a7 100644
+--- a/glamor/glamor_egl.c
++++ b/glamor/glamor_egl.c
+@@ -770,11 +770,6 @@ glamor_egl_init(ScrnInfoPtr scrn, int fd)
+
+ glamor_egl->has_gem = glamor_egl_check_has_gem(fd);
+
+-#ifndef GLAMOR_GLES2
+- eglBindAPI(EGL_OPENGL_API);
+-#else
+- eglBindAPI(EGL_OPENGL_ES_API);
+-#endif
+ if (!eglInitialize
+ (glamor_egl->display, &glamor_egl->major, &glamor_egl->minor)) {
+ xf86DrvMsg(scrn->scrnIndex, X_ERROR, "eglInitialize() failed\n");
+@@ -782,6 +777,12 @@ glamor_egl_init(ScrnInfoPtr scrn, int fd)
+ goto error;
+ }
+
++#ifndef GLAMOR_GLES2
++ eglBindAPI(EGL_OPENGL_API);
++#else
++ eglBindAPI(EGL_OPENGL_ES_API);
++#endif
++
+ version = eglQueryString(glamor_egl->display, EGL_VERSION);
+ xf86Msg(X_INFO, "%s: EGL version %s:\n", glamor_name, version);
+
+diff --git a/hw/xwayland/xwayland-glamor.c b/hw/xwayland/xwayland-glamor.c
+index ad66cf6..73ccd71 100644
+--- a/hw/xwayland/xwayland-glamor.c
++++ b/hw/xwayland/xwayland-glamor.c
+@@ -298,12 +298,13 @@ xwl_drm_init_egl(struct xwl_screen *xwl_screen)
+ return;
+ }
+
+- eglBindAPI(EGL_OPENGL_API);
+ if (!eglInitialize(xwl_screen->egl_display, &major, &minor)) {
+ ErrorF("eglInitialize() failed\n");
+ return;
+ }
+
++ eglBindAPI(EGL_OPENGL_API);
++
+ version = eglQueryString(xwl_screen->egl_display, EGL_VERSION);
+ ErrorF("glamor: EGL version %s:\n", version);
+