summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@mplayer2.org>2012-04-24 01:12:57 +0200
committerwm4 <wm4@mplayer2.org>2012-04-24 01:27:00 +0200
commit149d98d24495550f7ee1e187225e2924b1b90024 (patch)
tree3774942e2f1e6e8b6510670957324d7312ac2601
parent025caa9fb502b0c8a274ec4c3f4be37a27275141 (diff)
downloadmpv-149d98d24495550f7ee1e187225e2924b1b90024.tar.bz2
mpv-149d98d24495550f7ee1e187225e2924b1b90024.tar.xz
vo_gl: reject MS Windows native OpenGL as software rasterizer
If the graphics driver doesn't provide its own OpenGL implementation, applications get Microsoft's OpenGL emulation. Even if it should be the case that it's not strictly a software renderer, it provides OpenGL 1.1 only, no shaders in any form, and has other limitations that make it almost completely useless for mplayer.
-rw-r--r--libvo/vo_gl.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/libvo/vo_gl.c b/libvo/vo_gl.c
index 1d8a22f77b..f72f1ae70c 100644
--- a/libvo/vo_gl.c
+++ b/libvo/vo_gl.c
@@ -432,8 +432,10 @@ static int isSoftwareGl(struct vo *vo)
{
struct gl_priv *p = vo->priv;
const char *renderer = p->gl->GetString(GL_RENDERER);
+ const char *vendor = p->gl->GetString(GL_VENDOR);
return !renderer || strcmp(renderer, "Software Rasterizer") == 0 ||
- strstr(renderer, "llvmpipe");
+ strstr(renderer, "llvmpipe") ||
+ strcmp(vendor, "Microsoft Corporation") == 0;
}
static void autodetectGlExtensions(struct vo *vo)