GS/HW: Round lookup rect to block boundary and improve overlap check. Fix up shuffle behaviour (Mostly Direct3D) #10974
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
Round up lookup rects to the ceiling block, but without the TextureMinMax adjustment. Also clean up the Tex in RT check and general formatting in the texture cache file.
Also fix up some shuffle behaviour to fix some issues when the texture can't be the framebuffer (like no barriers)
Rationale behind Changes
This is one thing that's been a bit of a bane for us, the cleaning up was just something I wanted to do.
Shuffles had problems with copying the framebuffer correctly and setting the coordinates/copy area, this fixes that up.
Suggested Testing Steps
Test many games, especially ones which use Tex in RT, make sure they're no worse.
Fixes Godfather (for reals)
Also fixes Godfather and 007 Russia With Love on Direct3D and probably Metal too.
Corrects the minimap on Steambot and PachiPara 13
Vulkan Comparisons:
Godfather:
Master:
PR:
Agnostic Comparisons:
PachiPara 13:
Master:
PR:
Steambot:
Master:
PR:
D3D Comparisons:
007 Russia With Love:
Master:
PR:
Ace Combat 04 (Clouds):
Master:
PR:
Ace Combat 04 (Shadows):
Master:
PR:
Armored Core - Last Raven:
Master:
PR:
Scarface (Left edge):
Master:
PR;