From 84fba1df21577280078ab1db339d36019a4e419a Mon Sep 17 00:00:00 2001 From: James Ross-Gowan Date: Fri, 27 May 2016 22:56:56 +1000 Subject: vo_opengl: enable color management on GLES This requires the GL_EXT_texture_norm16 extension and works in ANGLE. A default precision had to be set for sampler3Ds, otherwise the shaders would fail to compile. --- video/out/opengl/utils.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'video/out/opengl/utils.c') diff --git a/video/out/opengl/utils.c b/video/out/opengl/utils.c index 3d41f0693c..cfb6eec679 100644 --- a/video/out/opengl/utils.c +++ b/video/out/opengl/utils.c @@ -902,8 +902,12 @@ void gl_sc_gen_shader_and_reset(struct gl_shader_cache *sc) ADD(header, "#version %d%s\n", gl->glsl_version, gl->es >= 300 ? " es" : ""); for (int n = 0; n < sc->num_exts; n++) ADD(header, "#extension %s : enable\n", sc->exts[n]); - if (gl->es) + if (gl->es) { ADD(header, "precision mediump float;\n"); + ADD(header, "precision mediump sampler2D;\n"); + if (gl->mpgl_caps & MPGL_CAP_3D_TEX) + ADD(header, "precision mediump sampler3D;\n"); + } ADD_BSTR(header, sc->prelude_text); char *vert_in = gl->glsl_version >= 130 ? "in" : "attribute"; char *vert_out = gl->glsl_version >= 130 ? "out" : "varying"; -- cgit v1.2.3