-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
spu: Fixes #3526
spu: Fixes #3526
Conversation
kd-11
commented
Oct 3, 2017
- Implement FM for interpreter fast and asmjit
- Fixes a bug in FMA/FMS/FNMS where cmpunord was used as an optimization but inadvertently broke some corner cases :p
- Partially implement accurate FM - Fix FMA/FMS/FNMS by removing an optimization that does not work for INF (cmpunord)
|
@kd-11 What is missing in FM that it is "only" partially implemented? |
- cmpunord does not catch all cases of an extended result/overflow
|
Actually I set the wrong value for FLT_MAX. Fixing it should significantly improve accuracy. |
|
Spider man Edge of time blus 30760 shows no more black screen when i punch venom. F {SPU[0x2000004] Thread (GoliathInstCellSpursKernel4)} class std::runtime_error thrown: Branch-to-self (0x00eec) hmm should i post anything else? |
- Still does not handle corner cases well (e.g inf * 1.2 because SPU does not have concept of inf)
|
Tweaked to handle all corner cases except for INF. SPUs just process INF like a general value which breaks FM with INF. Auto-test only fails INF case for now, but I think it should be good enough. |
|
this is the build i used to give you the log in my above comment. it is sad to say this. but i tested a july build and it gave me same error as well :( i forgot to mention. after using interpreter fast to move paste venom stage. i again used ASMJIT. and then i took the screen shots above. i hope i am not confusing you :( edit... is it okay if i post stuff here? |




