diff options
author | wm4 <wm4@mplayer2.org> | 2012-04-24 01:12:57 +0200 |
---|---|---|
committer | wm4 <wm4@mplayer2.org> | 2012-04-24 01:27:00 +0200 |
commit | 149d98d24495550f7ee1e187225e2924b1b90024 (patch) | |
tree | 3774942e2f1e6e8b6510670957324d7312ac2601 | |
parent | 025caa9fb502b0c8a274ec4c3f4be37a27275141 (diff) | |
download | mpv-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.c | 4 |
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) |