diff options
| author | Scott Mansell <phiren@gmail.com> | 2016-04-10 00:10:56 +1200 |
|---|---|---|
| committer | Scott Mansell <phiren@gmail.com> | 2016-04-10 00:10:56 +1200 |
| commit | 28e0607522ea46cfbced8cb9d86cf3ec7bcbce36 (patch) | |
| tree | 3892b8153125b4f67a2451a18ba8852f20fa19d7 /Source/Core/VideoCommon/PixelEngine.cpp | |
| parent | 94098a50c2a6c6eb76ed27b5ea9e5f9b69a459bc (diff) | |
Fix Metroid: Other M
During boot of Other M, there is momentarily a period when VICallback's
cycles late is larger than GetTicksPerHalfLine(). Because
GetTicksPerHalfLine() returns a u32 and c++'s weird type promotion rules,
cycleslate gets promoted from a s32 to a u32 and the result of the
substraction is a really large u32.
Before ScheduleEvent accuracy improvements, ScheduleEvent took a s32, so
the result got cast back to the small negitave we expect. But it now takes
a s64 and the u32 to s64 conversion gives us a really large number (around
two seconds) and Other M times out while waiting for something.
Diffstat (limited to 'Source/Core/VideoCommon/PixelEngine.cpp')
0 files changed, 0 insertions, 0 deletions
