MoltenVK is pretty good though, and Apple already using the idea of Metal Feature Levels should make it pretty easy to have profiles to go with that too
I like their idea of profiles. If you're developing an app or an engine that you want to be usable on two classes of devices, you should be able to take the profiles for them and compute the intersection. That will tell you which features you can safely assume.
I wonder if there's a Vulkan API call for getting the list of current features in the JSON format these profiles use. Then, you could compute a profile for a range of different devices simply by collecting all of their complete profiles and finding their mutual intersection.
And if you were curious which features not to use in a desktop app that would break portability to mobile, you could intersect a desktop profile with the inverse of the Android profile. Or, if inversion is hard (i.e. because you don't have a complete profile), just compute the set of items in the desktop profile that aren't in the Android profile. Easy enough.
Probably not in JSON format. Since profile are just a group of extensions, I guess there would be a function to query extensions by profile, something similar to vkEnumerateInstanceExtensionProperties().
I wonder if this same construct will appear in other Khronos APIs, like OpenCL. Now that OpenCL 3.0 has a bunch of optional features, it seems like a similar mechanism is needed for developers to effectively target their apps at a given market segment.
We’ve updated our terms. By continuing to use the site and/or by logging into your account, you agree to the Site’s updated Terms of Use and Privacy Policy.
12 Comments
Back to Article
SydneyBlue120d - Tuesday, January 25, 2022 - link
Apple is still completely absent from Vulkan world, right?pthariensflame - Tuesday, January 25, 2022 - link
Barring MoltenVK or other implementations of Vulkan Portability, yeah.pthariensflame - Tuesday, January 25, 2022 - link
Or Mesa-to-AGX, since that's a thing too now: https://gitlab.freedesktop.org/mesa/mesa/-/blob/ma...casperes1996 - Tuesday, January 25, 2022 - link
MoltenVK is pretty good though, and Apple already using the idea of Metal Feature Levels should make it pretty easy to have profiles to go with that toomode_13h - Tuesday, January 25, 2022 - link
I like their idea of profiles. If you're developing an app or an engine that you want to be usable on two classes of devices, you should be able to take the profiles for them and compute the intersection. That will tell you which features you can safely assume.I wonder if there's a Vulkan API call for getting the list of current features in the JSON format these profiles use. Then, you could compute a profile for a range of different devices simply by collecting all of their complete profiles and finding their mutual intersection.
And if you were curious which features not to use in a desktop app that would break portability to mobile, you could intersect a desktop profile with the inverse of the Android profile. Or, if inversion is hard (i.e. because you don't have a complete profile), just compute the set of items in the desktop profile that aren't in the Android profile. Easy enough.
mr_tawan - Wednesday, January 26, 2022 - link
Probably not in JSON format. Since profile are just a group of extensions, I guess there would be a function to query extensions by profile, something similar to vkEnumerateInstanceExtensionProperties().mode_13h - Tuesday, January 25, 2022 - link
I wonder if this same construct will appear in other Khronos APIs, like OpenCL. Now that OpenCL 3.0 has a bunch of optional features, it seems like a similar mechanism is needed for developers to effectively target their apps at a given market segment.Unashamed_unoriginal_username_x86 - Wednesday, January 26, 2022 - link
Khronos has some of the best promotional art in the game, the lil Utah Teapot with a hammer is adorable AND funnymode_13h - Wednesday, January 26, 2022 - link
Oh, that *is* cute!Yeah, I think I've noticed things like that in their Vulkan logos, before.
FLORIDAMAN85 - Wednesday, January 26, 2022 - link
Good to see that Vulkan continues to harbor an open API with compatibility in mind, while not sacrificing it's sleek, streamlined approach to coding.watersb - Saturday, January 29, 2022 - link
More substance than I expected in the Pipeline. This should be a feature story.I suppose you wait for an actual implementation example to analyze, and may understandably not be able to say anything right now.
mode_13h - Monday, January 31, 2022 - link
The number of comments probably hints at the reason it's not a feature story. This is far too niche for most readers of this site.That said, I certainly appreciate the depth & detail.