From 7eb434918bd7d58162c53fac9316aceda136cb6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michel=20D=C3=A4nzer?= Date: Tue, 7 Aug 2012 18:16:58 +0200 Subject: [PATCH] Prefer KHR_surfaceless_context EGL extension over KHR_surfaceless_opengl/gles2. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Current Mesa Git only advertises the former instead of the latter. Signed-off-by: Michel Dänzer Signed-off-by: Zhigang Gong --- glamor/glamor_egl.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/glamor/glamor_egl.c b/glamor/glamor_egl.c index 596470cd7..a9a92a7f2 100644 --- a/glamor/glamor_egl.c +++ b/glamor/glamor_egl.c @@ -397,7 +397,7 @@ glamor_egl_close_screen(CLOSE_SCREEN_ARGS_DECL) static Bool glamor_egl_has_extension(struct glamor_egl_screen_private *glamor_egl, - char *extension) + const char *extension) { const char *egl_extensions; char *pext; @@ -512,12 +512,19 @@ glamor_egl_init(ScrnInfoPtr scrn, int fd) return FALSE; \ } +#define GLAMOR_CHECK_EGL_EXTENSIONS(EXT1, EXT2) \ + if (!glamor_egl_has_extension(glamor_egl, "EGL_" #EXT1) && \ + !glamor_egl_has_extension(glamor_egl, "EGL_" #EXT2)) { \ + ErrorF("EGL_" #EXT1 " or EGL_" #EXT2 " required.\n"); \ + return FALSE; \ + } + GLAMOR_CHECK_EGL_EXTENSION(MESA_drm_image); GLAMOR_CHECK_EGL_EXTENSION(KHR_gl_renderbuffer_image); #ifdef GLAMOR_GLES2 - GLAMOR_CHECK_EGL_EXTENSION(KHR_surfaceless_gles2); + GLAMOR_CHECK_EGL_EXTENSIONS(KHR_surfaceless_context, KHR_surfaceless_gles2); #else - GLAMOR_CHECK_EGL_EXTENSION(KHR_surfaceless_opengl); + GLAMOR_CHECK_EGL_EXTENSIONS(KHR_surfaceless_context, KHR_surfaceless_opengl); #endif glamor_egl->egl_create_image_khr = (PFNEGLCREATEIMAGEKHRPROC)