[vlc-commits] vout/opengl: set the correct GLSL shader version for libplacebo

Niklas Haas git at videolan.org
Fri May 15 09:11:57 CEST 2020


vlc | branch: master | Niklas Haas <git at haasn.xyz> | Wed May 13 22:29:22 2020 +0200| [6623e1cf213cf7348d1c7812427ef2d12b2babf3] | committer: Thomas Guillem

vout/opengl: set the correct GLSL shader version for libplacebo

This prevents shader compilation errors when VLC requests old versions
of GLSL, by forwarding the correct GLSL version to the libplacebo shader
generators.

Signed-off-by: Thomas Guillem <thomas at gllm.fr>

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=6623e1cf213cf7348d1c7812427ef2d12b2babf3
---

 modules/video_output/opengl/renderer.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/modules/video_output/opengl/renderer.c b/modules/video_output/opengl/renderer.c
index ae4179be4a..57a8d3ce0e 100644
--- a/modules/video_output/opengl/renderer.c
+++ b/modules/video_output/opengl/renderer.c
@@ -464,7 +464,14 @@ vlc_gl_renderer_New(vlc_gl_t *gl, const struct vlc_gl_api *api,
     renderer->pl_ctx = vlc_placebo_Create(VLC_OBJECT(gl));
     if (renderer->pl_ctx) {
 #   if PL_API_VER >= 20
-        renderer->pl_sh = pl_shader_alloc(renderer->pl_ctx, NULL);
+        renderer->pl_sh = pl_shader_alloc(renderer->pl_ctx, &(struct pl_shader_params) {
+            .glsl = {
+                .version = renderer->glsl_version,
+#       ifdef USE_OPENGL_ES2
+                .gles = true,
+#       endif
+            },
+        });
 #   elif PL_API_VER >= 6
         renderer->pl_sh = pl_shader_alloc(renderer->pl_ctx, NULL, 0);
 #   else



More information about the vlc-commits mailing list