3 ms·
Sane defaults tend to evolve over time with the hardware architectures so it's probably not a very good idea to encode these into the API. A lot of what you re
by Zagitta 4y ago
Sane defaults tend to evolve over time with the hardware architectures so it's probably not a very good idea to encode these into the API.
A lot of what you request can be achieved by using Vulkan wrappers that simplifies these things without making the driver API more magic/implicit and regress back to the dx9/openGL style API's that mantle/vulkan/dx12 was made in opposition of.
- andrewmcwatters 4y agoI don't think Vulkan needs to specify hardware level defaults, but for instance, something all of the tutorials does is irrelevant: no one cares what your game engine information is. There's going to be a handful of major studios whose Vulkan metrics are going to be collected and vendors can study that data. 99% of tutorial readers are going to grab the first device exposed to them. On a system with a discrete GPU, which is what most people will want to use, they'll pick that. When it's not available, an integrated device will be exposed. You will almost never need to actually query for more device information. If you're working through a tutorial, you will almost never need to actually write your own validation layers. etc. Edit: A lot of these tutorials do things that you don't need to do simply because they read it from another tutorial! I seriously doubt everyone is actually reading the reference specification.
- thewebcount 4y agoYeah, this is easy to confirm. I've had a desktop with multiple GPUs in it for close to 10 years, and outside of Final Cut Pro and Motion, I haven't found a single app (definitely not any games) that would use both GPUs, even though they were there and waiting for data! I write my own code to use both of them and it screams. It's unfortunate that more developers don't use it. But it's certainly overkill for an intro tutorial to discuss it. All of this to say: I fully agree. The Vulkan tutorials I've found have put me off ever trying to use it again. I'm sticking to Metal which is much easier to understand and a delight to use.