[PATCH xserver] glamor: move 'dri3_capable' extension checks after eglMakeCurrent
Emil Velikov
emil.l.velikov at gmail.com
Fri Sep 25 06:04:34 PDT 2015
Otherwise we'll fail and/or crash as no context is bound.
Fixes: 64e6124f27e(glamor: move GL_OES_EGL_image check next to
EGL_EXT_image_dma_buf_import)
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92105
Cc: Michel Dänzer <michel at daenzer.net>
Cc: Nick Sarnie <commendsarnex at gmail.com>
Reported-by: Nick Sarnie <commendsarnex at gmail.com>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
---
Sorry about this guys - had a bit of a brain-freeze.
I opted to move the whole hunk, as 1) the egl extension checks above are
required, whist these are optional, and 2) having two GLAMOR_HAS_GBM
blocks seems a bit of an overkill.
-Emil
glamor/glamor_egl.c | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/glamor/glamor_egl.c b/glamor/glamor_egl.c
index dcff443..2e6c7bd 100644
--- a/glamor/glamor_egl.c
+++ b/glamor/glamor_egl.c
@@ -866,15 +866,6 @@ glamor_egl_init(ScrnInfoPtr scrn, int fd)
KHR_surfaceless_opengl);
#endif
-#ifdef GLAMOR_HAS_GBM
- if (epoxy_has_egl_extension(glamor_egl->display,
- "EGL_KHR_gl_texture_2D_image") &&
- epoxy_has_egl_extension(glamor_egl->display,
- "EGL_EXT_image_dma_buf_import") &&
- epoxy_has_gl_extension("GL_OES_EGL_image"))
- glamor_egl->dri3_capable = TRUE;
-#endif
-
glamor_egl->context = eglCreateContext(glamor_egl->display,
NULL, EGL_NO_CONTEXT,
config_attribs);
@@ -889,6 +880,15 @@ glamor_egl_init(ScrnInfoPtr scrn, int fd)
"Failed to make EGL context current\n");
goto error;
}
+#ifdef GLAMOR_HAS_GBM
+ if (epoxy_has_egl_extension(glamor_egl->display,
+ "EGL_KHR_gl_texture_2D_image") &&
+ epoxy_has_egl_extension(glamor_egl->display,
+ "EGL_EXT_image_dma_buf_import") &&
+ epoxy_has_gl_extension("GL_OES_EGL_image"))
+ glamor_egl->dri3_capable = TRUE;
+#endif
+
glamor_egl->saved_free_screen = scrn->FreeScreen;
scrn->FreeScreen = glamor_egl_free_screen;
#ifdef GLAMOR_GLES2
--
2.5.0
More information about the xorg-devel
mailing list