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

VideoCommon: Fix ubershaders on MoltenVK Intel #10749

Merged
merged 2 commits into from Jul 10, 2022

Conversation

TellowKrinkle
Copy link
Contributor

Intel's Metal driver seems to have issues with dynamic sampler indexing

Also includes a small performance fix for Intel on MoltenVK

Spirv-cross's MSL codegen makes the amazing choice of compiling calls to inout functions as `State temp = s; call_function(temp); s = temp`.  Not all Metal backends handle this mess well.  In particular, it causes register spills on Intel, losing about 5% in performance.
@MayImilae
Copy link
Contributor

What happens on an Intel Mac if this issue is encountered?

@OatmealDome
Copy link
Member

OatmealDome commented Jun 14, 2022

If I remember correctly: the GPU driver crashes, the system becomes temporarily unresponsive, and Dolphin locks up whenever you try to use Ubershaders. (MBP 16" 2019, Intel UHD Graphics 630)

@MayImilae
Copy link
Contributor

Is there a way for me to reproduce this? I could give this a quick before and after test.

@OatmealDome
Copy link
Member

Should be able to reproduce by activating Ubershaders of any type, selecting the Intel GPU in the devices dropdown, and starting a game.

@OatmealDome
Copy link
Member

@TellowKrinkle Is the second commit related to this PR? Seems to just be a performance fix

@TellowKrinkle
Copy link
Contributor Author

Only as related as it's also targeting Ubershaders on Metal+Intel

Should I move it to a separate PR?

@OatmealDome
Copy link
Member

Eh, if it's Intel and Ubershaders, good enough for me.

@JMC47 JMC47 merged commit cce6133 into dolphin-emu:master Jul 10, 2022
10 checks passed
@TellowKrinkle TellowKrinkle deleted the IntelUbershaders branch July 11, 2022 00:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
4 participants