-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
GPU: Document system requirements, add upfront Metal hardware support checks #11695
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A couple minor things for the docs but none of them super important. Part of me wishes there was a way we could sneak in more mentions of console support since I'm sure people will ask, but there's probably a better way to advertise it elsewhere...
36df7f1
to
6071b91
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1 on mentioning Xbox and I think we should explicitly mention Vulkan on Nintendo as well. Otherwise looks great
6071b91
to
722d071
Compare
Updated to mention console support, and made the OS version requirements more explicit! |
71db1eb
to
f6b97f4
Compare
I can't find any information about which devices support the Mac2 gpu family. Is it only supported on apple silicon? |
I've tested the GPU API on my 2012 Macbook Pro which has an Nvidia card in it, so maybe that's some indication? Apple is pretty unclear about this. |
f6b97f4
to
41cfdb2
Compare
The only place where Apple really defines what a "Mac2" device is is on the deprecated feature set page here. I've added a link to this page in the comment, hopefully that clarifies things. (We'll just have to hope that Apple doesn't take that page down anytime soon...) |
41cfdb2
to
b852f01
Compare
This PR adds documentation for the OS/driver/hardware requirements for each of the SDL_GPU backends. This should hopefully clear up a lot of ambiguity around "is this device supported" and gives developers something concrete to use for their own system requirements and support.
At runtime, to ensure the device meets SDL_GPU driver's system requirements, Vulkan and D3D12 perform a series of feature support queries during the device creation process. However, for Metal, we only performed a single OS version check. This allowed apps to get pretty far into their lifecycle on unsupported devices before they crashed by using an unsupported feature.
To fix this, I've added hardware support queries as early as possible (right after MTLDevice creation) to detect if the app is running on an unsupported device, so that apps can handle the failure gracefully. I also bumped up the minimum macOS version from 10.13 to 10.14 because lower versions don't have the hardware support query we need.
Resolves #11692