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

Loading