hrydgard / ppsspp

A PSP emulator for Android, Windows, Mac and Linux, written in C++. Want to contribute? Join us on Discord at https://discord.gg/5NJB6dD or just send pull requests / issues. For discussion use the forums at forums.ppsspp.org.
https://www.ppsspp.org
Other
10.77k stars 2.12k forks source link

Implement FPU rounding mode support in the IR interpreter #19280

Closed hrydgard closed 1 week ago

hrydgard commented 1 week ago

Implemented for x86/x64 and ARM64.

Should fix reported issues with unbeatable bosses in Metal Gear on iOS (which can only use the IR interpreter, so effectively re-fixing #2845 and also #3988 on this backend.

Also I'm noticing that our IR interpreter uses suboptimal methods to convert float to int, some inline assembly would help. However, I'll leave fixing that for a future change.