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