diff --git a/glamor/glamor_egl.c b/glamor/glamor_egl.c index ca7ea8c98..0f4edb5a3 100644 --- a/glamor/glamor_egl.c +++ b/glamor/glamor_egl.c @@ -905,6 +905,8 @@ glamor_egl_init(ScrnInfoPtr scrn, int fd) { struct glamor_egl_screen_private *glamor_egl; const GLubyte *renderer; + EGLConfig egl_config; + int n; glamor_egl = calloc(sizeof(*glamor_egl), 1); if (glamor_egl == NULL) @@ -983,8 +985,14 @@ glamor_egl_init(ScrnInfoPtr scrn, int fd) goto error; } + if (!eglChooseConfig(glamor_egl->display, NULL, &egl_config, 1, &n)) { + xf86DrvMsg(scrn->scrnIndex, X_ERROR, + "glamor: No acceptable EGL configs found\n"); + goto error; + } + glamor_egl->context = eglCreateContext(glamor_egl->display, - NULL, EGL_NO_CONTEXT, + egl_config, EGL_NO_CONTEXT, config_attribs); } if (glamor_egl->context == EGL_NO_CONTEXT) {