diff options
author | Bruno de Oliveira Abinader <bruno@mapbox.com> | 2016-11-11 16:37:44 +0200 |
---|---|---|
committer | Bruno de Oliveira Abinader <bruno@mapbox.com> | 2016-11-17 01:01:15 +0100 |
commit | ad38ff230b00fdd35dd7eaab79c26f160092af23 (patch) | |
tree | eae0d6fd33f4b98bb1177d6d1424eb44cf0e5e54 /platform/linux/src/headless_backend_egl.cpp | |
parent | 0ef52d7f7ceee670e8961e811364d215fde7e980 (diff) | |
download | qtlocation-mapboxgl-ad38ff230b00fdd35dd7eaab79c26f160092af23.tar.gz |
[linux] Ensure EGL uses OpenGL ES 2.0 client API
Diffstat (limited to 'platform/linux/src/headless_backend_egl.cpp')
-rw-r--r-- | platform/linux/src/headless_backend_egl.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/platform/linux/src/headless_backend_egl.cpp b/platform/linux/src/headless_backend_egl.cpp index 5c68976ada..0fb33ea0e0 100644 --- a/platform/linux/src/headless_backend_egl.cpp +++ b/platform/linux/src/headless_backend_egl.cpp @@ -58,11 +58,16 @@ void HeadlessBackend::createContext() { EGLDisplay display_ = display->attribute<EGLDisplay>(); EGLConfig& config = display->attribute<EGLConfig&>(); - if (!eglBindAPI(EGL_OPENGL_API)) { - throw std::runtime_error("Error setting the EGL rendering API.\n"); - } - - EGLContext glContext = eglCreateContext(display_, config, EGL_NO_CONTEXT, NULL); + // EGL initializes the context client version to 1 by default. We want to + // use OpenGL ES 2.0 which has the ability to create shader and program + // objects and also to write vertex and fragment shaders in the OpenGL ES + // Shading Language. + const EGLint attribs[] = { + EGL_CONTEXT_CLIENT_VERSION, 2, + EGL_NONE + }; + + EGLContext glContext = eglCreateContext(display_, config, EGL_NO_CONTEXT, attribs); if (glContext == EGL_NO_CONTEXT) { mbgl::Log::Error(mbgl::Event::OpenGL, "eglCreateContext() returned error 0x%04x", eglGetError()); |