From 98c4ab6d1329c95ec7454e80cc9a4d51ffab3c36 Mon Sep 17 00:00:00 2001 From: wm4 Date: Thu, 1 Oct 2015 20:57:29 +0200 Subject: vo_opengl: make sw suboption work without explicit backend selection You needed to select a GL backend with the backend suboption. This was confusing. Fixes #2361. --- video/out/opengl/common.c | 2 +- video/out/vo.h | 1 + video/out/vo_opengl.c | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/video/out/opengl/common.c b/video/out/opengl/common.c index 7fced42d01..879aa7d879 100644 --- a/video/out/opengl/common.c +++ b/video/out/opengl/common.c @@ -619,7 +619,7 @@ static MPGLContext *init_backend(struct vo *vo, const struct backend *backend, if (ctx->gl->mpgl_caps & MPGL_CAP_SW) { MP_WARN(ctx->vo, "Suspected software renderer or indirect context.\n"); - if (vo->probing) + if (vo->probing && !(vo_flags & VOFLAG_SW)) goto cleanup; } diff --git a/video/out/vo.h b/video/out/vo.h index 4404500e67..1df3bc0e23 100644 --- a/video/out/vo.h +++ b/video/out/vo.h @@ -134,6 +134,7 @@ struct voctrl_get_equalizer_args { #define VOFLAG_GLES 0x20 // Hint to prefer GLES2 if possible #define VOFLAG_GL_DEBUG 0x40 // Hint to request debug OpenGL context #define VOFLAG_ALPHA 0x80 // Hint to request alpha framebuffer +#define VOFLAG_SW 0x100 // Hint to accept a software GL renderer // VO does handle mp_image_params.rotate in 90 degree steps #define VO_CAP_ROTATE90 1 diff --git a/video/out/vo_opengl.c b/video/out/vo_opengl.c index e41163be9c..7c287efc7c 100644 --- a/video/out/vo_opengl.c +++ b/video/out/vo_opengl.c @@ -395,7 +395,7 @@ static int preinit(struct vo *vo) vo_flags |= VOFLAG_GLES; if (p->allow_sw) - vo->probing = false; + vo_flags |= VOFLAG_SW; p->glctx = mpgl_init(vo, p->backend, vo_flags); if (!p->glctx) -- cgit v1.2.3