GS/HW: Improve double half clear for strange strip drawing #9191
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
Improves strip gap detection in weird cases where the game isn't drawing strips
Rationale behind Changes
Lord of the Rings - The Third Age draws 2048 sprites with an 8x8 size, going across 32 pixels, then down 8 pixels, repeat until it reaches 512 height, then skips 32 pixels and repeats until it fills the screen. This is a very over engineered way of doing a double half clear if I ever saw one, but our current master code assumes developers aren't batshit insane, but here we are.
Surprisingly even though I'm now checking 4096 vertices (but only when everything else required matches), it actually runs a tiny bit (2%) quicker than master.
Suggested Testing Steps
Test Powerdrome, GT4 Online and LOTR The Third Age, or any other double clear games you might know. GS dumps say all is good.