Skip to content

Conversation

@unknownbrackets
Copy link
Collaborator

This notably doesn't handle it in the interpreter, and out of free time to try to make that happen.

Have some test mul.s ops which I plan to add to the cpu/fpu/fpu test.

I did not notice any obvious performance impact on Android but I did not test thoroughly. If performance does take a hit, could maybe only start setting the mode if the game ever sets the FCSR, since it's uncommon but usually done in game init if it is done.

Fixes #3988 (well, except in interp.) @thedax I am probably crazy to hope, but would love to know if Peace Walker is affected by this. VICTORY, fixes #2845.

-[Unknown]

Fixes Gods Eater Burst loading PSP savedata, but can no longer load old
savedata.
Not really used that often, anyway, but easy enough and good for testing
that we set the rounding mode correctly.
May also affect performance, so can be disabled for that.
@daniel229
Copy link
Collaborator

Great,Peace Walker is fixed.
01

@hrydgard
Copy link
Owner

Wow! Finally =) #2845

@unknownbrackets , I'm thinking we might be able to get away with resetting the rounding mode less - for example only when actually exiting the JIT loop (or entering C calls) instead of on every block exit.

@unknownbrackets
Copy link
Collaborator Author

Hmm, that might be fine, right. Would have to do it before Advance still.

-[Unknown]

@solarmystic
Copy link
Contributor

Great work [Unknown]. Did some prelim testing on my decrepit Core 2/ATI MR HD 4670 laptop and the performance hit is almost negligible.

This should be less often than doing it per block that uses fpu, unless
the game doesn't use fpu much at all.
@unknownbrackets
Copy link
Collaborator Author

Since there's no way to maintain a flag when it's done in the dispatch before Advance, I just made it always maintain the rounding mode around all C++.

This will of course be more often than before for games that don't use fpu at all, but it shouldn't be very much. And for games that do use the fpu, it will probably be a lot less often.

I'm also wondering what impact this does, or should (presumably should not), have on the vfpu...

-[Unknown]

@daniel229
Copy link
Collaborator

Don't see any speed impact on PC

@solarmystic
Copy link
Contributor

I concur with daniel229's findings. Always maintaining the rounding mode doesn't seem to have an additional speed impact on my laptop either.

Ultimately, one can always disable this function if a game is known not to require it since you've kindly exposed it as an option in the UI.

hrydgard added a commit that referenced this pull request Aug 23, 2014
Handle fpu rounding mode at least in jits
@hrydgard hrydgard merged commit b7da82e into hrydgard:master Aug 23, 2014
@hrydgard
Copy link
Owner

Hm, I might remove the option later if it turns out the speed impact is ~zero.

@unknownbrackets
Copy link
Collaborator Author

Well, the option's more about being able to load old Gods Eater Burst savegames. I don't expect any speed impact on desktop that will matter, much more worried as usual for mobile.

Even there, I think it is uncommon enough it won't matter.

-[Unknown]

@unknownbrackets unknownbrackets deleted the fpu-rounding branch August 23, 2014 08:57
@solarmystic
Copy link
Contributor

Ah yes, I forgot about the GEB saves. Was wondering why mine wouldn't load in the latest build until I disabled the option.

@unknownbrackets
Copy link
Collaborator Author

What you want to do is upgrade them (won't work on old PPSSPP versions though) by checking it again and then saving. This should make them load on a real PSP as well.

-[Unknown]

@solarmystic
Copy link
Contributor

Right, that worked perfectly. I had no idea you could toggle the FPU rounding option on and off when a game is active and running in real time.

@hrydgard
Copy link
Owner

@unknownbrackets right. I think I'll just kill off the option in a month or so then when everyone who still is likely to care has upgraded their saves.

@unknownbrackets
Copy link
Collaborator Author

What about people using 0.9.9 who want to upgrade to 1.0.0?

-[Unknown]

@DexMike
Copy link

DexMike commented Aug 23, 2014

Hi, I'm sorry I'm a total newb, how do I fix the PW Battle 2 issue? I'm running PPSSPP v0.9.9, thanks :)

@solarmystic
Copy link
Contributor

@DexMike Just grab the latest beta git build from the build bot here

@DexMike
Copy link

DexMike commented Aug 23, 2014

Perfect, it works now! Congratulations to the developers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Gods Eater Burst Broken Savegames Metal Gear Solid Peace Walker: Peace Walker 2 boss battle isn't able to be completed

5 participants