summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2017-04-03 18:08:36 +0200
committerwm4 <wm4@nowhere>2017-04-03 18:12:42 +0200
commit1c0bd59bc2da7ee11598bbb1d5b4e0c9797ccfbe (patch)
treecc9f830b4609d969e4d78c045849e61ee3f7d088
parent31611fc46b29e0704004e21f1e25de2f9608e109 (diff)
downloadmpv-1c0bd59bc2da7ee11598bbb1d5b4e0c9797ccfbe.tar.bz2
mpv-1c0bd59bc2da7ee11598bbb1d5b4e0c9797ccfbe.tar.xz
vo_opengl: use 16 bit textures with angle
Regression due to 03fe506. It accidentally changed the default value if glGetTexLevelParameteriv() is not available, which is the case with ANGLE.
-rw-r--r--video/out/opengl/utils.c6
-rw-r--r--video/out/opengl/video.c1
2 files changed, 5 insertions, 2 deletions
diff --git a/video/out/opengl/utils.c b/video/out/opengl/utils.c
index 2ec8f43898..36e63e03ff 100644
--- a/video/out/opengl/utils.c
+++ b/video/out/opengl/utils.c
@@ -1255,8 +1255,12 @@ void gl_pbo_upload_uninit(struct gl_pbo_upload *pbo)
int gl_determine_16bit_tex_depth(GL *gl)
{
const struct gl_format *fmt = gl_find_unorm_format(gl, 2, 1);
- if (!gl->GetTexLevelParameteriv || !fmt)
+ if (!gl->GetTexLevelParameteriv || !fmt) {
+ // ANGLE supports ES 3.0 and the extension, but lacks the function above.
+ if (gl->mpgl_caps & MPGL_CAP_EXT16)
+ return 16;
return -1;
+ }
GLuint tex;
gl->GenTextures(1, &tex);
diff --git a/video/out/opengl/video.c b/video/out/opengl/video.c
index 14b1150207..38d3d413e2 100644
--- a/video/out/opengl/video.c
+++ b/video/out/opengl/video.c
@@ -3310,7 +3310,6 @@ struct gl_video *gl_video_init(GL *gl, struct mp_log *log, struct mpv_global *g)
.gl = gl,
.global = g,
.log = log,
- .texture_16bit_depth = 16,
.sc = gl_sc_create(gl, log),
.opts_cache = m_config_cache_alloc(p, g, &gl_video_conf),
};