diff options
author | wm4 <wm4@nowhere> | 2015-09-10 20:53:47 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2015-09-10 20:53:47 +0200 |
commit | a8eae12af5064a823976e264b33c5a37bd447ef8 (patch) | |
tree | 2163cfd3924a79816bd00244cbf2419f13668e57 /video/out/opengl/video_shaders.c | |
parent | e2139488ff79c667e32b1eaf9984c5342eae0132 (diff) | |
download | mpv-a8eae12af5064a823976e264b33c5a37bd447ef8.tar.bz2 mpv-a8eae12af5064a823976e264b33c5a37bd447ef8.tar.xz |
vo_opengl: fix shader compilation with debanding and OSX hwdec
2 things are being stupid here: Apple for requiring rectangle textures
with their IOSurface interop for no reason, and OpenGL having a
different sampler type for rectangle textures.
Diffstat (limited to 'video/out/opengl/video_shaders.c')
-rw-r--r-- | video/out/opengl/video_shaders.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/video/out/opengl/video_shaders.c b/video/out/opengl/video_shaders.c index e517977b00..16ea2784cf 100644 --- a/video/out/opengl/video_shaders.c +++ b/video/out/opengl/video_shaders.c @@ -378,8 +378,8 @@ const struct m_sub_options deband_conf = { // Stochastically sample a debanded result from a given texture void pass_sample_deband(struct gl_shader_cache *sc, struct deband_opts *opts, - int tex_num, float tex_mul, float img_w, float img_h, - AVLFG *lfg) + int tex_num, GLenum tex_target, float tex_mul, + float img_w, float img_h, AVLFG *lfg) { // Set up common variables and initialize the PRNG GLSLF("// debanding (tex %d)\n", tex_num); @@ -388,7 +388,8 @@ void pass_sample_deband(struct gl_shader_cache *sc, struct deband_opts *opts, // Helper: Compute a stochastic approximation of the avg color around a // pixel - GLSLH(vec4 average(sampler2D tex, vec2 pos, float range, inout float h) {) + GLSLHF("vec4 average(%s tex, vec2 pos, float range, inout float h) {", + mp_sampler_type(tex_target)); // Compute a random rangle and distance GLSLH(float dist = rand(h) * range; h = permute(h);) GLSLH(float dir = rand(h) * 6.2831853; h = permute(h);) |