Skip to content
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

GS/HW: Improve double half clear for strange strip drawing #9191

Merged
merged 1 commit into from
Jul 11, 2023

Conversation

refractionpcsx2
Copy link
Member

@refractionpcsx2 refractionpcsx2 commented Jul 7, 2023

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.

@refractionpcsx2 refractionpcsx2 merged commit 472f492 into master Jul 11, 2023
@refractionpcsx2 refractionpcsx2 deleted the gs_doublecleardetect branch July 11, 2023 01:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants