summaryrefslogtreecommitdiffstats
path: root/video/out/opengl
diff options
context:
space:
mode:
authorNiklas Haas <git@haasn.xyz>2017-09-29 14:41:52 +0200
committerMartin Herkt <652892+lachs0r@users.noreply.github.com>2017-12-25 00:47:53 +0100
commita42b8b1142fd26e82ca0e8b0ea7ab6cafd78776d (patch)
treeae1aa6ea2fd2f91831e5fe671a9be2e018779389 /video/out/opengl
parent80540be211adbc9e19c6cb95a1ddfddd890847a9 (diff)
downloadmpv-a42b8b1142fd26e82ca0e8b0ea7ab6cafd78776d.tar.bz2
mpv-a42b8b1142fd26e82ca0e8b0ea7ab6cafd78776d.tar.xz
vo_gpu: attempt re-using the FBO format for p->output_tex
This allows RAs with support for non-opaque FBO formats to use a more appropriate FBO format for the output tex, possibly enabling a more efficient blit operation. This requires distinguishing between real formats (which can be used to create textures) and fake formats (e.g. ra_gl's FBO hack).
Diffstat (limited to 'video/out/opengl')
-rw-r--r--video/out/opengl/ra_gl.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/video/out/opengl/ra_gl.c b/video/out/opengl/ra_gl.c
index 37b7285235..72b411a16f 100644
--- a/video/out/opengl/ra_gl.c
+++ b/video/out/opengl/ra_gl.c
@@ -283,6 +283,8 @@ static struct ra_tex *gl_tex_create(struct ra *ra,
const struct ra_tex_params *params)
{
GL *gl = ra_gl_get(ra);
+ assert(!params->format->dummy_format);
+
struct ra_tex *tex = gl_tex_create_blank(ra, params);
if (!tex)
return NULL;
@@ -382,6 +384,7 @@ static const struct ra_format fbo_dummy_format = {
.flags = F_CR,
},
.renderable = true,
+ .dummy_format = true,
};
// Create a ra_tex that merely wraps an existing framebuffer. gl_fbo can be 0