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: Adjust blend mix for impossible blend. #10907

Merged
merged 1 commit into from
Mar 14, 2024

Conversation

lightningterror
Copy link
Contributor

@lightningterror lightningterror commented Mar 9, 2024

Description of Changes

Since we can't do Cd*(Alpha + 1) - Cs*Alpha in hw blend what we can do is adjust the Cs value that will be subtracted, this way we can get a better result in hw blend. Result is still wrong but less wrong than before.

Rationale behind Changes

Accuracy.

Suggested Testing Steps

This is mostly for dx11/12. Vulkan, GL will only hit this path if barriers are disabled.
Makes dx hw blend suck less.
Test DX blending, list of games in the text file.
Result will still be wrong but less wrong.
List.txt

@bigol83
Copy link

bigol83 commented Mar 9, 2024

Metal Gear Solid 3 Basic Blending DX11 Master

Metal Gear Solid 3 - Snake Eater_SLES-82024_20240309211959

Metal Gear Solid 3 Basic Blending DX11 PR

Metal Gear Solid 3 - Snake Eater_SLES-82024_20240309212106

Black spots are slightly less black

@refractionpcsx2 refractionpcsx2 force-pushed the gs_impossible_blend_correction branch from 3d73740 to d7059e0 Compare March 11, 2024 22:33
@lightningterror lightningterror force-pushed the gs_impossible_blend_correction branch 4 times, most recently from cf3a915 to a96c6e4 Compare March 12, 2024 22:06
@lightningterror
Copy link
Contributor Author

Some other images of big differences:
image
image

Other games only show a very slight difference in brightness.

Since we can't do Cd*(Alpha + 1) - Cs*Alpha in hw blend what we can do is adjust the Cs value that will be subtracted,
this way we can get a better result in hw blend. Result is still wrong but less wrong than before.
@lightningterror lightningterror force-pushed the gs_impossible_blend_correction branch from a96c6e4 to 6bb32a8 Compare March 13, 2024 00:21
@lightningterror lightningterror merged commit a7c5eeb into master Mar 14, 2024
22 checks passed
@lightningterror lightningterror deleted the gs_impossible_blend_correction branch March 14, 2024 16:35
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