summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichel Dänzer <michel.daenzer@amd.com>2012-08-07 18:16:58 +0200
committerZhigang Gong <zhigang.gong@linux.intel.com>2012-08-08 10:16:47 +0800
commitaa2b71332143fe7d62b3c3f16462f8335e3a7844 (patch)
tree11b1aa0961fe72aca2fc6f143ded359fe685ae3e
parent67fb454c47903d4dc9b439f2c5af73a331cbc3cb (diff)
Prefer KHR_surfaceless_context EGL extension over KHR_surfaceless_opengl/gles2.
Current Mesa Git only advertises the former instead of the latter. Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>
-rw-r--r--src/glamor_egl.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/glamor_egl.c b/src/glamor_egl.c
index 596470c..a9a92a7 100644
--- a/src/glamor_egl.c
+++ b/src/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)