Small optimization to GPU::SystemTicksToCRTCTicks

This commit is contained in:
valadaa48 2020-12-15 22:23:07 -05:00
parent 3ed429772d
commit f5f12fd76d

View file

@ -408,21 +408,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)
{ {