diff options
author | Michel Dänzer <michel.daenzer@amd.com> | 2012-08-07 18:16:58 +0200 |
---|---|---|
committer | Zhigang Gong <zhigang.gong@linux.intel.com> | 2012-08-08 10:16:47 +0800 |
commit | aa2b71332143fe7d62b3c3f16462f8335e3a7844 (patch) | |
tree | 11b1aa0961fe72aca2fc6f143ded359fe685ae3e | |
parent | 67fb454c47903d4dc9b439f2c5af73a331cbc3cb (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.c | 13 |
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) |