These are done at VSync Start. Drawing is done when VSync is off, then output the screen when Vsync is on The GS needs to be told at the start of a vsync else it loses half of its picture (could be responsible for some halfscreen issues) We got away with it before i think due to our awful GS timing, but now we have it right (ish)
| 326 | //The GS needs to be told at the start of a vsync else it loses half of its picture (could be responsible for some halfscreen issues) |
| 327 | //We got away with it before i think due to our awful GS timing, but now we have it right (ish) |
| 328 | void gsPostVsyncStart() |
| 329 | { |
| 330 | //gifUnit.FlushToMTGS(); // Needed for some (broken?) homebrew game loaders |
| 331 | |
| 332 | const bool registers_written = s_GSRegistersWritten; |
| 333 | s_GSRegistersWritten = false; |
| 334 | MTGS::PostVsyncStart(registers_written); |
| 335 | } |
| 336 | |
| 337 | bool SaveStateBase::gsFreeze() |
| 338 | { |