[vlc-commits] gl: add an extra check to workaround HD3000 crashes

Thomas Guillem git at videolan.org
Tue Jul 10 13:44:40 CEST 2018


vlc/vlc-3.0 | branch: master | Thomas Guillem <thomas at gllm.fr> | Tue Jul 10 13:37:53 2018 +0200| [7d9ccb9b165d64a8a08d4cb4c6e49eb2b4051572] | committer: Thomas Guillem

gl: add an extra check to workaround HD3000 crashes

VLC 3.0 only

Fixes CD 6ec2362d-e648-4a5f-a98c-e70191525173

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=7d9ccb9b165d64a8a08d4cb4c6e49eb2b4051572
---

 modules/video_output/opengl/converter_sw.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/modules/video_output/opengl/converter_sw.c b/modules/video_output/opengl/converter_sw.c
index 8626024a65..4cf53fa07f 100644
--- a/modules/video_output/opengl/converter_sw.c
+++ b/modules/video_output/opengl/converter_sw.c
@@ -590,6 +590,17 @@ opengl_tex_converter_generic_init(opengl_tex_converter_t *tc, bool allow_dr)
     priv->has_unpack_subimage =
         !tc->is_gles || HasExtension(tc->glexts, "GL_EXT_unpack_subimage");
 
+    if (allow_dr)
+    {
+        const char *glrenderer = (const char *) tc->vt->GetString(GL_RENDERER);
+        assert(glrenderer);
+        if (strcmp(glrenderer, "Intel HD Graphics 3000 OpenGL Engine") == 0)
+        {
+            msg_Warn(tc->gl, "Disabling direct rendering because of buggy GPU/Driver");
+            allow_dr = false;
+        }
+    }
+
     if (allow_dr && priv->has_unpack_subimage)
     {
         bool supports_map_persistent = false;



More information about the vlc-commits mailing list