diff options
Diffstat (limited to 'video/out/opengl/context_x11egl.c')
-rw-r--r-- | video/out/opengl/context_x11egl.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/video/out/opengl/context_x11egl.c b/video/out/opengl/context_x11egl.c index e6069b7839..2e4fd5fa90 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) { @@ -152,7 +163,6 @@ static int mpegl_init(struct MPGLContext *ctx, int flags) void *(*gpa)(const GLubyte*) = (void *(*)(const GLubyte*))eglGetProcAddress; mpgl_load_functions(ctx->gl, gpa, egl_exts, vo->log); - mp_egl_get_depth(ctx->gl, config); ctx->native_display_type = "x11"; ctx->native_display = vo->x11->display; |