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: Calculate alpha on updated areas on RT invalidation #10861

Merged
merged 1 commit into from
Feb 27, 2024

Conversation

refractionpcsx2
Copy link
Member

Description of Changes

Calculates the alpha values of the dirty areas being updated from GS memory, for keeping the RT information up to date.

Rationale behind Changes

We didn't do this before, and just assumed full range alpha on invalidation, but this isn't true and removes some optimisation situations. This will help potentially with #10853

Suggested Testing Steps

Smoke test, mostly. GS Dump run was fine, some very minor changes, probably due to doing things in shader rather than hardware.

Driv3r (look at the gradient on the left wall):
Master:
image
PR:
image

Evergrace 2:
Barriers: -133 [272=>139] (but this is only for one frame)

Forever Kingdom:
Barriers: -309 [320=>11]

Keroro Gunsou:
Draw Calls: -2 [178=>176]
Render Passes: -7 [83=>76]
Barriers: -10 [96=>86]

@refractionpcsx2 refractionpcsx2 merged commit de64f78 into master Feb 27, 2024
22 checks passed
@refractionpcsx2 refractionpcsx2 deleted the gs_invalidate32alpha branch February 27, 2024 18:19
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