summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2016-01-26 16:50:31 +0100
committerwm4 <wm4@nowhere>2016-01-26 21:35:16 +0100
commitfc3ca14ef70476762e321eb80e037c02e4bb41b5 (patch)
treed8fb4957f866e8a00553e31185e802af56ffab4b
parentd8aeeaa4b15e9adbbd021614848c40d4ff264124 (diff)
downloadmpv-fc3ca14ef70476762e321eb80e037c02e4bb41b5.tar.bz2
mpv-fc3ca14ef70476762e321eb80e037c02e4bb41b5.tar.xz
vo_opengl: default to rgba16f FBOs on ANGLE
Although it has only 1 bit more precission than rgba10_a2, it was reported to improve the visual quality.
-rw-r--r--DOCS/man/vo.rst4
-rw-r--r--video/out/opengl/video.c7
2 files changed, 7 insertions, 4 deletions
diff --git a/DOCS/man/vo.rst b/DOCS/man/vo.rst
index 00dde1e658..69c554fa16 100644
--- a/DOCS/man/vo.rst
+++ b/DOCS/man/vo.rst
@@ -832,8 +832,8 @@ Available video output drivers are:
influence performance and quality of the video output.
``fmt`` can be one of: rgb, rgba, rgb8, rgb10, rgb10_a2, rgb16, rgb16f,
rgb32f, rgba12, rgba16, rgba16f, rgba32f.
- Default: ``auto``, which maps to rgba16 on desktop GL, and rgb10_a2 on
- GLES (e.g. ANGLE).
+ Default: ``auto``, which maps to rgba16 on desktop GL, and rgba16f or
+ rgb10_a2 on GLES (e.g. ANGLE).
``gamma=<0.1..2.0>``
Set a gamma value (default: 1.0). If gamma is adjusted in other ways
diff --git a/video/out/opengl/video.c b/video/out/opengl/video.c
index c646a6306a..283a7cf0e5 100644
--- a/video/out/opengl/video.c
+++ b/video/out/opengl/video.c
@@ -2421,8 +2421,11 @@ static void check_gl_features(struct gl_video *p)
bool have_texrg = gl->mpgl_caps & MPGL_CAP_TEX_RG;
if (have_fbo) {
- if (!p->opts.fbo_format)
- p->opts.fbo_format = gl->es ? GL_RGB10_A2 : GL_RGBA16;
+ if (!p->opts.fbo_format) {
+ p->opts.fbo_format = GL_RGBA16;
+ if (gl->es)
+ p->opts.fbo_format = have_float_tex ? GL_RGBA16F : GL_RGB10_A2;
+ }
have_fbo = test_fbo(p);
}