summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--video/out/opengl/context_x11egl.c3
-rw-r--r--video/out/opengl/egl_helpers.c2
2 files changed, 4 insertions, 1 deletions
diff --git a/video/out/opengl/context_x11egl.c b/video/out/opengl/context_x11egl.c
index 812718a647..321df4039d 100644
--- a/video/out/opengl/context_x11egl.c
+++ b/video/out/opengl/context_x11egl.c
@@ -116,6 +116,9 @@ static bool mpegl_init(struct ra_ctx *ctx)
.refine_config = ctx->opts.want_alpha ? pick_xrgba_config : NULL,
};
+ if (!strcmp(eglQueryString(p->egl_display, EGL_VENDOR), "Mesa Project"))
+ ctx->opts.want_alpha = 0;
+
EGLConfig config;
if (!mpegl_create_context_cb(ctx, p->egl_display, cb, &p->egl_context, &config))
goto uninit;
diff --git a/video/out/opengl/egl_helpers.c b/video/out/opengl/egl_helpers.c
index 564068a448..ad026ba253 100644
--- a/video/out/opengl/egl_helpers.c
+++ b/video/out/opengl/egl_helpers.c
@@ -120,7 +120,7 @@ static bool create_context(struct ra_ctx *ctx, EGLDisplay display,
EGL_RED_SIZE, 8,
EGL_GREEN_SIZE, 8,
EGL_BLUE_SIZE, 8,
- EGL_ALPHA_SIZE, 0,
+ EGL_ALPHA_SIZE, ctx->opts.want_alpha ? 1 : 0,
EGL_RENDERABLE_TYPE, rend,
EGL_NONE
};