Core: Call Movie::FrameUpdate per field, not per line

Fixes https://bugs.dolphin-emu.org/issues/12066.

I must've only tested the frame counter with an earlier version
of the PR that broke this, not the final version...
This commit is contained in:
JosJuice 2020-06-20 19:06:33 +02:00
parent 0bc7dcd172
commit 9eb36afeb0
1 changed files with 3 additions and 2 deletions

View File

@ -820,7 +820,8 @@ void Update(u64 ticks)
// Movie's frame counter should be updated before actually rendering the frame, // Movie's frame counter should be updated before actually rendering the frame,
// in case frame counter display is enabled // in case frame counter display is enabled
Movie::FrameUpdate(); if (s_half_line_count == 0 || s_half_line_count == GetHalfLinesPerEvenField())
Movie::FrameUpdate();
// If this half-line is at some boundary of the "active video lines" in either field, we either // If this half-line is at some boundary of the "active video lines" in either field, we either
// need to (a) send a request to the GPU thread to actually render the XFB, or (b) increment // need to (a) send a request to the GPU thread to actually render the XFB, or (b) increment
@ -843,7 +844,7 @@ void Update(u64 ticks)
EndField(); EndField();
} }
// If this half-line is at a field boundary, deal with updating movie state before potentially // If this half-line is at a field boundary, deal with frame stepping before potentially
// dealing with SI polls, but after potentially sending a swap request to the GPU thread // dealing with SI polls, but after potentially sending a swap request to the GPU thread
if (s_half_line_count == 0 || s_half_line_count == GetHalfLinesPerEvenField()) if (s_half_line_count == 0 || s_half_line_count == GetHalfLinesPerEvenField())