[vlc-commits] [Git][videolan/vlc][master] opengl: don't crash on no-op libplacebo shader

Jean-Baptiste Kempf (@jbk) gitlab at videolan.org
Mon Nov 29 19:36:21 UTC 2021



Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
6efc345d by Niklas Haas at 2021-11-29T19:21:06+00:00
opengl: don't crash on no-op libplacebo shader

As of libplacebo 80a07bf48, the color map operation can end up as a
true no-op. In this case, this results in a blank shader with no
signature. Don't crash on this case, but simply omit the call to the
libplacebo shader entirely.

Fixes #26326

- - - - -


1 changed file:

- modules/video_output/opengl/sampler.c


Changes:

=====================================
modules/video_output/opengl/sampler.c
=====================================
@@ -786,9 +786,11 @@ opengl_fragment_shader_init(struct vlc_gl_sampler *sampler, bool expose_planes)
 #ifdef HAVE_LIBPLACEBO
     if (priv->pl_sh_res) {
         const struct pl_shader_res *res = priv->pl_sh_res;
-        assert(res->input  == PL_SHADER_SIG_COLOR);
-        assert(res->output == PL_SHADER_SIG_COLOR);
-        ADDF(" result = %s(result);\n", res->name);
+        if (res->input != PL_SHADER_SIG_NONE) {
+            assert(res->input  == PL_SHADER_SIG_COLOR);
+            assert(res->output == PL_SHADER_SIG_COLOR);
+            ADDF(" result = %s(result);\n", res->name);
+        }
     }
 #endif
 



View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/6efc345d81a123eb98c8c379c909179df43304ad

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/6efc345d81a123eb98c8c379c909179df43304ad
You're receiving this email because of your account on code.videolan.org.




More information about the vlc-commits mailing list