GS/SW: Don't use fast reciprocal stq calculation, it's too inaccurate #11248
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description of Changes
Replaces reciprocal Q with normal ST/Q division.
Rationale behind Changes
the original method is quite inaccurate, especially when you're dealing with interpolation and is just not adequate. Sten mentioned that it's likely that there would be a stall with the original multiplication anyway, so the performance difference is negligible. But this fixes a bunch of problems. Faster isn't better if it breaks things.
Suggested Testing Steps
Test games listed below in SW or any you know that have SW only issues. I've checked Armored Core's radar and GOW's controller screen, plus the lines problem in Mercenaries and Klonoa 2, Crash Twinsanity's weird pixels on curves.
Fixes #3295 Metal Gear Solid 2 Locker
Fixes #4825 Spider-Man 3 texture issues
Fixes #6156 Corrects Castlevania map in software mode (Hardware was already fixed)
Corrects #9151 Bonus Demo 08 images in software.
Note: All fixes are for Software ONLY
Bonus Demo 08:
Master:
PR:
Capcom Vs SNK 2 (Colouring on the healthbars corrected):
Master:
PR:
Castlevania - Curse of Darkness:
Master:
PR:
Metal Gear Solid 2:
Master:
PR:
Spider-Man 3:
Master:
PR: