You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
vlc/modules_video_output_opengl...

41 lines
1.8 KiB

X-Git-Url: https://git.videolan.org/?p=vlc%2Fvlc-3.0.git;a=blobdiff_plain;f=modules%2Fvideo_output%2Fopengl%2Ffragment_shaders.c;h=0c91a4db766314350178d5f566853a46f2a2188d;hp=f959d9a69c4f8493da9f7ec8ef10653586ae3ca9;hb=f33a7b19f0a55e70f1a6dd1fd3542cdec1d29ac6;hpb=674d5d6f4c04b3a099100b9869277362ca34e12d
diff --git a/modules/video_output/opengl/fragment_shaders.c b/modules/video_output/opengl/fragment_shaders.c
index f959d9a69c..0c91a4db76 100644
--- a/modules/video_output/opengl/fragment_shaders.c
+++ b/modules/video_output/opengl/fragment_shaders.c
@@ -399,11 +399,18 @@ tc_base_prepare_shader(const opengl_tex_converter_t *tc,
continue;
struct pl_shader_var sv = res->variables[i];
+#if PL_API_VER >= 4
+ struct pl_var var = sv.var;
+ // libplacebo doesn't need anything else anyway
+ if (var.type != PL_VAR_FLOAT)
+ continue;
+#else
struct ra_var var = sv.var;
-
// libplacebo doesn't need anything else anyway
if (var.type != RA_VAR_FLOAT)
continue;
+#endif
+
if (var.dim_m > 1 && var.dim_m != var.dim_v)
continue;
@@ -657,7 +664,12 @@ opengl_fragment_shader_init_impl(opengl_tex_converter_t *tc, GLenum tex_target,
tc->uloc.pl_vars = calloc(res->num_variables, sizeof(GLint));
for (int i = 0; i < res->num_variables; i++) {
struct pl_shader_var sv = res->variables[i];
- ADDF("uniform %s %s;\n", ra_var_glsl_type_name(sv.var), sv.var.name);
+#if PL_API_VER >= 4
+ const char *glsl_type_name = pl_var_glsl_type_name(sv.var);
+#else
+ const char *glsl_type_name = ra_var_glsl_type_name(sv.var);
+#endif
+ ADDF("uniform %s %s;\n", glsl_type_name, sv.var.name);
}
// We can't handle these yet, but nothing we use requires them, either