Merge pull request #1235 from valadaa48/CRTCTicksToSystemTicks_optimization

Small optimization to GPU::SystemTicksToCRTCTicks
This commit is contained in:
Connor McLaughlin 2020-12-17 11:36:21 +10:00 committed by GitHub
commit 9d7b63923a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 7 additions and 14 deletions

View File

@ -401,21 +401,14 @@ TickCount GPU::CRTCTicksToSystemTicks(TickCount gpu_ticks, TickCount fractional_
TickCount GPU::SystemTicksToCRTCTicks(TickCount sysclk_ticks, TickCount* fractional_ticks) const TickCount GPU::SystemTicksToCRTCTicks(TickCount sysclk_ticks, TickCount* fractional_ticks) const
{ {
if (!m_console_is_pal) u64 mul = u64(sysclk_ticks);
{ mul *= !m_console_is_pal ? u64(715909) : u64(709379);
const u64 mul = u64(sysclk_ticks) * u64(715909) + u64(*fractional_ticks); mul += u64(*fractional_ticks);
const TickCount ticks = static_cast<TickCount>(mul / u64(451584)); const TickCount ticks = static_cast<TickCount>(mul / u64(451584));
*fractional_ticks = static_cast<TickCount>(mul % u64(451584)); *fractional_ticks = static_cast<TickCount>(mul % u64(451584));
return ticks; return ticks;
} }
else
{
const u64 mul = u64(sysclk_ticks) * u64(709379) + u64(*fractional_ticks);
const TickCount ticks = static_cast<TickCount>(mul / u64(451584));
*fractional_ticks = static_cast<TickCount>(mul % u64(451584));
return ticks;
}
}
void GPU::AddCommandTicks(TickCount ticks) void GPU::AddCommandTicks(TickCount ticks)
{ {