mirror of https://github.com/mpv-player/mpv
vo_opengl: cache frames only in display-sync mode
vo_frame.num_vsyncs can be != 1 in some cases in normal sync mode too. This is not a very exact fix, but in exchange it's robust. (These vo_frame flags are way too tricky in combination with redrawing and such.)
This commit is contained in:
parent
67aab3a9f6
commit
8737732035
|
@ -1926,7 +1926,9 @@ void gl_video_render_frame(struct gl_video *p, struct vo_frame *frame, int fbo)
|
||||||
gl_video_upload_image(p, frame->current);
|
gl_video_upload_image(p, frame->current);
|
||||||
pass_render_frame(p);
|
pass_render_frame(p);
|
||||||
|
|
||||||
if (frame->num_vsyncs == 1 || p->opts.dumb_mode) {
|
if (frame->num_vsyncs == 1 || !frame->display_synced ||
|
||||||
|
p->opts.dumb_mode)
|
||||||
|
{
|
||||||
// Disable output_fbo_valid to signal that this frame
|
// Disable output_fbo_valid to signal that this frame
|
||||||
// does not require any redraws from the FBO.
|
// does not require any redraws from the FBO.
|
||||||
pass_draw_to_screen(p, fbo);
|
pass_draw_to_screen(p, fbo);
|
||||||
|
|
Loading…
Reference in New Issue