gpu: prefer 16bit floating point FBO formats to 16bit integer ones

According to earlier discussions, this can improve visual quality.
This only changes the preferred order of the formats, not the
formats themselves.
This commit is contained in:
Jan Ekström 2018-05-31 23:46:08 +03:00
parent 93ec08cc7f
commit 1a893e8257
2 changed files with 7 additions and 4 deletions

View File

@ -5005,9 +5005,12 @@ The following video options are currently all specific to ``--vo=gpu`` and
Selects the internal format of textures used for FBOs. The format can
influence performance and quality of the video output. ``fmt`` can be one
of: rgb8, rgb10, rgb10_a2, rgb16, rgb16f, rgb32f, rgba12, rgba16, rgba16f,
rgba16hf, rgba32f. Default: ``auto``, which maps to rgba16 on desktop GL,
and rgba16f or rgb10_a2 on GLES (e.g. ANGLE), unless GL_EXT_texture_norm16
is available.
rgba16hf, rgba32f.
Default: ``auto``, which first attempts to utilize 16bit float
(rgba16f, rgba16hf), and falls back to rgba16 if those are not available.
Finally, attempts to utilize rgb10_a2 or rgba8 if all of the previous formats
are not available.
``--gamma-factor=<0.1..2.0>``
Set an additional raw gamma factor (default: 1.0). If gamma is adjusted in

View File

@ -3519,7 +3519,7 @@ static void check_gl_features(struct gl_video *p)
bool have_ssbo = ra->caps & RA_CAP_BUF_RW;
bool have_fragcoord = ra->caps & RA_CAP_FRAGCOORD;
const char *auto_fbo_fmts[] = {"rgba16", "rgba16f", "rgba16hf",
const char *auto_fbo_fmts[] = {"rgba16f", "rgba16hf", "rgba16",
"rgb10_a2", "rgba8", 0};
const char *user_fbo_fmts[] = {p->opts.fbo_format, 0};
const char **fbo_fmts = user_fbo_fmts[0] && strcmp(user_fbo_fmts[0], "auto")