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

AMD iGPUs are detected as DiscreteGpus for the DX12 backend. #2304

Closed
Elabajaba opened this issue Dec 18, 2021 · 4 comments · Fixed by #2305
Closed

AMD iGPUs are detected as DiscreteGpus for the DX12 backend. #2304

Elabajaba opened this issue Dec 18, 2021 · 4 comments · Fixed by #2305
Labels
type: bug Something isn't working

Comments

@Elabajaba
Copy link
Contributor

Description
On systems running AMD iGPUs, the iGPU's DX12 backend is labelled as a DiscreteGpu, while the Vulkan backend is labelled as an IntegratedGpu. This can cause issues when requesting a high power adapter as it will choose the DX12 backend over the Vulkan backend on systems that only have an AMD iGPU.

Repro steps
Run any wgpu application that requests a high power adapter on a laptop with an AMD iGPU and no discrete GPU on Windows.

Expected vs observed behavior
Expected: You get a Vulkan backend.
Observed: You get a DX12 backend.

Extra materials
https://gist.github.com/Elabajaba/0a4f6cd1202791f1a4ccfc544d130481
kvark's aha: https://matrix.to/#/!XFRnMvAfptAHthwBCx:matrix.org/$i9mLMKUQ4BP1YCSOM8kcOTlt55YxOIHCHAUOy6g_QRE

so it's not reporting to be cache-coherent... interesting

Platform
Windows 10, tested on wgpu 0.11 and wgpu 0.12. Laptop with a Vega8 AMD iGPU and no discrete GPU.

@kvark kvark added the type: bug Something isn't working label Dec 19, 2021
@kvark
Copy link
Member

kvark commented Dec 19, 2021

Could you try #2305 ?

@Elabajaba
Copy link
Contributor Author

@superdump
Copy link
Contributor

Interesting. I had noticed with certain AMD drivers on a laptop with AMD Vega iGPU and mobile RTX 3080 discrete GPU that wgpu would use the Vega with DX12, but if I updated the drivers to the latest from AMD, then it would use the RTX with Vulkan. I guess this logic and that the newer driver exposed the cache coherent UMA, whatever that is, is probably what was making the difference?

@kvark
Copy link
Member

kvark commented Dec 19, 2021

surprising but possible

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants