| 543 | } |
| 544 | |
| 545 | static __fi void GSVSync() |
| 546 | { |
| 547 | // CSR is swapped and GS vBlank IRQ is triggered roughly 3.5 hblanks after VSync Start |
| 548 | if (GSSMODE1reg.SINT) |
| 549 | return; |
| 550 | |
| 551 | if (IsProgressiveVideoMode()) |
| 552 | CSRreg.SetField(); |
| 553 | else |
| 554 | CSRreg.SwapField(); |
| 555 | |
| 556 | if (!CSRreg.VSINT) |
| 557 | { |
| 558 | CSRreg.VSINT = true; |
| 559 | if (!GSIMR.VSMSK) |
| 560 | gsIrq(); |
| 561 | } |
| 562 | } |
| 563 | |
| 564 | static __fi void VSyncEnd(u64 sCycle) |
| 565 | { |
no test coverage detected