What is the point of VkApplicationInfo? What is the point of VkApplicationInfo? c c

What is the point of VkApplicationInfo?


From the specification:

If not NULL, [pApplicationInfo] helps implementations recognize behavior inherent to classes of applications.

So that's what it is for.

IHVs (independent hardware vendors) are going to provide application-specific optimizations for any program that's popular enough to attract that kind of interest. That's inevitable.

So Vulkan has two choices: it can either pretend that the inevitable is somehow not going to happen, which means IHVs will do it anyway, using various heuristics to detect your application. Or your application can just introduce itself and cut out the middle-man.

Vulkan permits you to do the latter. And well-behaved engines will likely do likewise on your program's behalf.