#Difference between ENGINE and APPLICATION in the VkApplicationInfo struct?
42 messages · Page 1 of 1 (latest)
In a real world application, Engine would be the name of the engine used to make the Application
Like, you can have multiple games made on the same engine so a driver might need to fix some things on this specific engine instead of fixing each app individually
Yes
oh so this is useful if you are creating a game engine intended to be able to be used for multiple games?
Yes, but especially useful for drivers devs
Not really useful if you're not a huge company
I still don't 100% get how the engine relates to Vulkan, like is there something like a VkEngine that you point to? Could you give me an example of how this could be used?
No it's just a string to put the name of the engine here
Ok but how would I be using an engine like Unity if I was developing using Vulkan? Like does it give me something that Unity has?
Ok I kind of get an intuition now, thanks.
Btw how do you know this? I tried searching on the web but no answers
like theres lots of info i want to know but sometimes no documentation
I can't find the link I'm looking for
In the open source driver Mesa, there is a place where they read these variables, and can add some changes to how the driver works depending on the name
I talk with the people on this server and learn things
is it this? https://gitlab.freedesktop.org/mesa/mesa seems interesting
noice
Yeah this
Ok found it
ok....
They apply minor fixes to specific games/engines
Alright, to be clear a driver like a graphics driver is something that connects the software to hardware right?
Yeah
alright thank you!
Line #916 onward has vulkan application/engine fixes, versus opengl fixes that work off the window title or binary name
For example if you report your engine name as starting with "UnrealEngine4." and engine version as 0-23, mesa will take the minImageCount in vkCreateSwapchain as a strict requirement instead of a minimum.
Harming performance but preventing applications using that engine from crashing (due to a bug in the engine)
ok thanks, im confused on what relationship a commercial engine like Unreal would have with Vulkan though.
I know that an engine like unreal could use a graphics api like vulkan, but this engine specification seems like its the other way around (vulkan uses an engine), so how would that work?
Unreal has a Vulkan graphics backend
So they put "Unreal Engine" in the pEngineName variable
So when the driver sees this, they can be like "Hey, I know this "Unreal Engine", they have some Vulkan issues here and there" to fix them
OHHHHH i think i finally start to get it now
is there a reason why unreal doesnt just fix the issue themselves tho?
this is just like the driver taking responsibilty for unreal (or any engine's) mistake
Yes, money
Either they have to spend developer time on fixing it, or the application authors (who are sepatate from unreal) have to spend developer time on it. Developer time for commercial game studios is expensive. Fixing bugs someone else can fix for them is seen as a waste of money.