This isn't a problem but I don't really understand it and i'm feeling like i miss a important part in vulkan. My question is why is there a parameter for pLayerName in vkEnumerateInstanceExtensionProperties() function. Has this pLayerName anything to do with validation layers ? I've read the spec but it only told me that it would be a layer to retrieve extensions from. But for me this doesn't make sense because what does a validation layer(if this is meant for pLayerName) to do with extensions.
1
votes
1 Answers
2
votes
From the spec:
When
pLayerNameparameter is NULL, only extensions provided by the Vulkan implementation or by implicitly enabled layers are returned. WhenpLayerNameis the name of a layer, the instance extensions provided by that layer are returned.
Layers can expose extensions; by specifying the name of a layer, you can query which extensions it exposes through this function. You can then create an instance using that layer with that extension.
Note that the term "validation layers" represents Vulkan layers which are used to validate usages of the Vulkan API. Not every layer exists to do validation. And some validation layers themselves expose instance extensions.