-
-
Notifications
You must be signed in to change notification settings - Fork 21.8k
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
Metal rendering driver fails to run on Apple's software Metal implementation (paravirtual device) #101773
Comments
Interesting – as that suggests that the features check for using argument encoders is not working as expected in the virtualised environment. I would not expect the argument encoder API to be called at all on an Apple5 GPU. You can force-disable them by running with the following environment variable to see if that works:
I have also found VirtualBuddy, which allows us to run virtual macOS machines, so I can try it through that too. |
From reading that Julia link, it looks like it probably won't work anyhow. I'll still try and see how it goes. |
@Calinou interestingly, it works locally in a paravirtual device via VirtualBuddy:
|
It might be fixed in Sequoia VMs, but GitHub CI MoltenVK seems to have the same issue - KhronosGroup/MoltenVK#2373 (comment) |
#101994 is affected by the bug. |
For the reference: I have tested it in multiple UTM macOS VMs, it works on Sequoia and crashes on Sonoma and older. All have a GPU identified as Apple5. |
Tested versions
System information
GitHub Actions
Issue description
The Metal rendering driver fails to run on Apple's software Metal implementation (paravirtual device):
This is most likely because the GPU exposed via paravirtualization is only Apple5, but we need a newer GPU. See also JuliaGPU/Metal.jl#309. While it's unlikely we can cater to the Apple5 GPU, we should exit with a proper error message (one that refers to the paravirtualized device not being supported) instead of crashing.
For context, I'm looking to run the Metal renderer on CI so we can check for visual regressions. I have this working on Vulkan/OpenGL on Linux already using llvmpipe, and on D3D12 on Windows using WARP (the official software implementation of Direct3D).
This is the command line I'm using on CI as part of https://github.com/Calinou/godot/tree/ci-check-visual-regressions:
cc @stuartcarnie
Steps to reproduce
--rendering-driver metal
on a headless platform with no GPU (e.g. GitHub Actions). Do not use the--headless
flag at the same time.Minimal reproduction project (MRP)
N/A
The text was updated successfully, but these errors were encountered: