From 1c0bd59bc2da7ee11598bbb1d5b4e0c9797ccfbe Mon Sep 17 00:00:00 2001 From: wm4 Date: Mon, 3 Apr 2017 18:08:36 +0200 Subject: 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. --- video/out/opengl/utils.c | 6 +++++- video/out/opengl/video.c | 1 - 2 files changed, 5 insertions(+), 2 deletions(-) (limited to 'video') 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), }; -- cgit v1.2.3