GS/HW: Improve Native Scaling detection + Include direct mem reads
Description of Changes
Attempt to improve native scaling detection and include direct from GS memory draws. Plus detect recursive upscales (Xenosaga lights, unfortunately also Naruto Ultimate Ninja 3 shadows, so they look lower resolution now, not too distracting, though).
This may or may not go in as it currently is, we might need to add an additional option (Very aggressive?) as to not hurt the few games that are affected by it.
Also note some games will now have lines left and top where Align to Native is enabled and will need moving to ATNwTO.
Rationale behind Changes
Some games will generate texture atlases or upload FMV frames direct and if it's scaled up it can make a mess of it, so this attempts to keep it in native resolution for these draws.
Suggested Testing Steps
Test games with Native Scaling enabled, maybe try ones without by enabling native scaling that have broken textures when upscaled.
Did you use AI to help find, test, or implement this issue or feature?
No.
Wins:
Corvette, this is easier to see on the right:
Master:
PR:
Indiana Jones games:
Master:
PR:
Medal of Honor - European Assault:
Master:
PR;
Naruto Ultimate Ninja 5:
Master:
PR:
Xenosaga - Episode III:
Master:
PR:
Losses (kinda)
Naruto Ultimate Ninja 3:
Master:
PR: