Skip to content

[3.0.x] opengl: vout_helper: use pl_gpu_dummy for shaders

Without specifying the version, libplacebo might generate shaders with a different version from the one we specified, leading to usage of function that might not be available.

A typical failure would lead to such error messages:

gl gl: Initialized libplacebo v3.120.3 (API v120)
gl gl error: shader 0: 0:22(13): error: no matching function for
call to `mix(vec3, vec3, bvec3)'; candidates are:

0:22(13): error:    float mix(float, float, float)
0:22(13): error:    vec2 mix(vec2, vec2, float)
0:22(13): error:    vec3 mix(vec3, vec3, float)
0:22(13): error:    vec4 mix(vec4, vec4, float)
0:22(13): error:    vec2 mix(vec2, vec2, vec2)
0:22(13): error:    vec3 mix(vec3, vec3, vec3)
0:22(13): error:    vec4 mix(vec4, vec4, vec4)

Fixes #25324 (closed)

I've mainly picked the patches from Louis from a while ago, and ported them to the 3.0.x branch, while contextualizing the issue. It still needs testing on Android and GLES2 in general.

Edited by Alexandre Janniaux

Merge request reports