diff options
author | wm4 <wm4@nowhere> | 2017-08-07 16:44:15 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2017-08-07 16:44:15 +0200 |
commit | 346ac1e09f89bfbaac6329c89435e3c1faff6e8e (patch) | |
tree | 6288a19c964e27937043399b93c2fc94a5873628 /video/out/opengl/osd.h | |
parent | 46f7a4352e18b306d6cff7965c53150c5abcf20c (diff) | |
download | mpv-346ac1e09f89bfbaac6329c89435e3c1faff6e8e.tar.bz2 mpv-346ac1e09f89bfbaac6329c89435e3c1faff6e8e.tar.xz |
vo_opengl: simplify mirroring and fix it if glBlitFramebuffer is used
The vp_w/vp_h variables and parameters were not really used anymore
(they were redundant with ra_tex w/h) - but vp_h was still used to
identify whether rendering should be done mirrored.
Simplify this by adding a fbodst struct (some bad naming), which
contains the render target texture, and some parameters how it should be
rendered to (for now only flipping). It would not be appropriate to make
this a member of ra_tex, so it's a separate struct.
Introduces a weird regression for the first frame rendered after
interpolation is toggled at runtime, but seems to work otherwise. This
is possibly due to the change that blit() now mirrors, instead of just
copying. (This is also why ra_fns.blit is changed.)
Fixes #4719.
Diffstat (limited to 'video/out/opengl/osd.h')
-rw-r--r-- | video/out/opengl/osd.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/video/out/opengl/osd.h b/video/out/opengl/osd.h index 08c143ac0e..9763d7e03a 100644 --- a/video/out/opengl/osd.h +++ b/video/out/opengl/osd.h @@ -17,8 +17,8 @@ void mpgl_osd_generate(struct mpgl_osd *ctx, struct mp_osd_res res, double pts, void mpgl_osd_resize(struct mpgl_osd *ctx, struct mp_osd_res res, int stereo_mode); bool mpgl_osd_draw_prepare(struct mpgl_osd *ctx, int index, struct gl_shader_cache *sc); -void mpgl_osd_draw_finish(struct mpgl_osd *ctx, int vp_w, int vp_h, int index, - struct gl_shader_cache *sc, struct ra_tex *target); +void mpgl_osd_draw_finish(struct mpgl_osd *ctx, int index, + struct gl_shader_cache *sc, struct fbodst target); int64_t mpgl_get_change_counter(struct mpgl_osd *ctx); #endif |