X-Git-Url: https://git.ralfj.de/gltest.git/blobdiff_plain/8dd990b1ed5cb3a4b78dfdf48b1f39d3f8bb0f0f..06ad8dcac2fac86d1f6715a51b50356a68ffe362:/eglbackend.cpp diff --git a/eglbackend.cpp b/eglbackend.cpp index a9e2019..c5d5bcb 100644 --- a/eglbackend.cpp +++ b/eglbackend.cpp @@ -59,7 +59,11 @@ static const EGLint config_attribs[] = { EGL_RED_SIZE, 4, EGL_GREEN_SIZE, 4, EGL_BLUE_SIZE, 4, +#ifdef USE_GLES + EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT, +#else EGL_RENDERABLE_TYPE, EGL_OPENGL_BIT, +#endif EGL_NONE, }; @@ -74,6 +78,10 @@ VisualID EGLBackend::initialize(Display *xDisplay) if (eglInitialize(display, &eglMajor, &eglMinor) == EGL_FALSE) exitEglError("Failed to initialize EGL"); printf("Using EGL version %d.%d\n", eglMajor, eglMinor); + if (eglMajor == 1 && eglMinor < 3) { + fprintf(stderr, "Need at least EGL 1.3 to function properly\n"); + exit(1); + } #ifdef USE_GLES if (eglBindAPI(EGL_OPENGL_ES_API) == EGL_FALSE) #else @@ -83,8 +91,13 @@ VisualID EGLBackend::initialize(Display *xDisplay) // get an appropriate config EGLConfig configs[1]; EGLint count; - if (eglChooseConfig(display, config_attribs, configs, 1, &count) == EGL_FALSE || count == 0) + if (eglChooseConfig(display, config_attribs, configs, 1, &count) == EGL_FALSE){ exitEglError("Failed to choose config"); + } + if (count == 0) { + fprintf(stderr, "Found no matching EGL configuration\n"); + exit(1); + } config = configs[0]; } // return visual ID