Skip to content

GS/HW: Clean up blend levels/conditions.#13373

Merged
lightningterror merged 2 commits intomasterfrom
gs_misc_hw
Oct 14, 2025
Merged

GS/HW: Clean up blend levels/conditions.#13373
lightningterror merged 2 commits intomasterfrom
gs_misc_hw

Conversation

@lightningterror
Copy link
Copy Markdown
Contributor

@lightningterror lightningterror commented Oct 10, 2025

Description of Changes

GS/HW: Enable any fbmask emulation if Blending is above minimum.
Since dx11/12 now supports sw blending and copies/draw area/quads optimizations have been made perf impact will be lower so we can use the same unified path if texture barriers are disabled.

GS/HW: Unify blend levels when barriers are and are not supported.
When barriers/multidraw fb copy is supported no change.
When barriers/multidraw fb copy isn't supported keep the same levels but only enable them if there's no overlap.

Rationale behind Changes

Cleanup.

Suggested Testing Steps

Smoke test blending levels with and without texture barriers disabled.

Did you use AI to help find, test, or implement this issue or feature?

No.

Since dx11/12 now supports sw blending and copies/draw area/quads optimizations have been made perf impact will be lower so we can use the same unified path if texture barriers are disabled.
Copy link
Copy Markdown
Member

@JordanTheToaster JordanTheToaster left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does not in fact explode.

When barriers/multidraw fb copy is supported no change.
When barriers/multidraw fb copy isn't supported keep the same levels but only enable them if there's no overlap.
@lightningterror lightningterror merged commit 0dc3fc6 into master Oct 14, 2025
22 checks passed
@lightningterror lightningterror deleted the gs_misc_hw branch October 14, 2025 00:19
@mahoneyt944
Copy link
Copy Markdown
Contributor

@lightningterror @JordanTheToaster I'm noticing a heavy impact on performance when updating from 2.4 stable to the nightly build. For reference, I'm using dx12 at 6x resolution, high blend and testing the "car selection" screen on burnout 3 ntsc (a known heavy hitter). On 2.4 no issue at all, full frame rate even when using 60fps patch. On the nightly dx12 is incredibly slow and choppy, dx11 no better. Vulcan does better at the car selection but drops at the start of the race. Dropping to basic blending helps all rendering but still can't provide flawless game play. Is this game getting over taxed with the new changes?

@JordanTheToaster
Copy link
Copy Markdown
Member

For reference, I'm using dx12 at 6x resolution, high blend and testing the "car selection" screen on burnout 3 ntsc

That's expected DX11/12 OpenGL and Vulkan are all the same accuracy wise now with DX being far heavier the more you push it.

@mahoneyt944
Copy link
Copy Markdown
Contributor

I'm just surprised to see the frame rate go from steady 60 to the low 20s on this car selection with these changes. I understand accuracy will impact performance but that's a very costly loss in performance. I typically stay up with the latest build, or close to, but I don't think I'll be able to now and I have fairly reasonable specs:

AMD Ryzen 7 7700X 8 core 16 thread
RX 6700XT 12GB

Perhaps I can experiment more with Vulkan with some different blending levels or something. Just wanted to make sure I wasn't missing anything as it tanked my performance to the point of being unplayable lol.

@JordanTheToaster
Copy link
Copy Markdown
Member

AMD Ryzen 7 7700X 8 core 16 thread RX 6700XT 12GB

With an AMD GPU you should be leaving renderer on automatic and blending on basic.

@mahoneyt944
Copy link
Copy Markdown
Contributor

I'm certainly not a hardware expert by any means, but it seems that this graphics card paired with windows seems to like dx12 the best. With the 2.4 stable release or prior, I haven't found a game yet that wouldn't play at full speed, 6x res, and high blend. In fact, I was using maximum blend for the longest time but found one game that had the slightest slow down at obscure points so I backed it down to high and it's been my default ever since.

With Vulkan or dx11, they seem to do well in most cases too for me but would stutter every now and then, especially with harder hitting games. Now idk if dx12's integration with windows adds the magic touch or what but that's been my experience.

Perhaps with 2.4's dx12 support being less accurate and also being well integrated into windows this kept me in the green with higher settings enabled. I would have to retest the lastest build with automatic rendering / basic blending, but I think even with that, burnout 3 wasn't 100%(I will re-check). Are there any bench mark tests (stable vs latest) to compare the average performance loss with dx12?

Thanks for your input

@JordanTheToaster
Copy link
Copy Markdown
Member

With the 2.4 stable release or prior, I haven't found a game yet that wouldn't play at full speed, 6x res, and high blend.

DX12 in 2.4 even on maximum blend was still worse accuracy than even basic blend on Vulkan or OpenGL that's why it was fast because it was inaccurate.

@mahoneyt944
Copy link
Copy Markdown
Contributor

Hmm interesting, I didn't realize there was that much of a gap. The G3DMark for my GPU is rated at 19756, which is over the 12000 recommended for "heavy use". Is it fair to say that this recommendation is now outdated?

@JordanTheToaster
Copy link
Copy Markdown
Member

Those as far as I'm aware only ever applied to out of the box defaults which is basic blending.

@mahoneyt944
Copy link
Copy Markdown
Contributor

I should have time this weekend to test again and get some results. Thank you.

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