diff options
author | wm4 <wm4@nowhere> | 2016-06-10 20:31:28 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2016-06-10 20:31:28 +0200 |
commit | bea2e39721e18eddcfd7c501f8e40fff0ecdfda0 (patch) | |
tree | 016b9eb8e0acd765fb2f4b42f65b322de4644ff6 | |
parent | 2b1656b1aced3d81b31c83e8c310a630ca5d5d1c (diff) |
vo_opengl: request core profile on X11/EGL too
Avoids that some OpenGL implementation will pin it to 3.0.
-rw-r--r-- | video/out/opengl/context_x11egl.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/video/out/opengl/context_x11egl.c b/video/out/opengl/context_x11egl.c index e6069b7839..14ca3f9e25 100644 --- a/video/out/opengl/context_x11egl.c +++ b/video/out/opengl/context_x11egl.c @@ -21,6 +21,11 @@ #include <EGL/egl.h> #include <EGL/eglext.h> +#ifndef EGL_VERSION_1_5 +#define EGL_CONTEXT_OPENGL_PROFILE_MASK 0x30FD +#define EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT 0x00000001 +#endif + #include "common/common.h" #include "video/out/x11_common.h" #include "context.h" @@ -79,9 +84,15 @@ static bool create_context_egl(MPGLContext *ctx, EGLConfig config, EGLint context_attributes[] = { // aka EGL_CONTEXT_MAJOR_VERSION_KHR EGL_CONTEXT_CLIENT_VERSION, es ? 2 : 3, + EGL_NONE, EGL_NONE, EGL_NONE }; + if (!es) { + context_attributes[2] = EGL_CONTEXT_OPENGL_PROFILE_MASK; + context_attributes[3] = EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT; + } + p->egl_surface = eglCreateWindowSurface(p->egl_display, config, window, NULL); if (p->egl_surface == EGL_NO_SURFACE) { |