To query the available instance extensions, call:
// Provided by VK_VERSION_1_0 VkResult vkEnumerateInstanceExtensionProperties( const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties);
NULLor a pointer to a null-terminated UTF-8 string naming the layer to retrieve extensions from.
pPropertyCountis a pointer to an integer related to the number of extension properties available or queried, as described below.
NULLor a pointer to an array of VkExtensionProperties structures.
pLayerName parameter is
NULL, only extensions provided by the
Vulkan implementation or by implicitly enabled layers are returned.
pLayerName is the name of a layer, the instance extensions
provided by that layer are returned.
NULL, then the number of extensions properties
available is returned in
pPropertyCount must point to a variable set by the user to
the number of elements in the
pProperties array, and on return the
variable is overwritten with the number of structures actually written to
pPropertyCount is less than the number of extension properties
available, at most
pPropertyCount structures will be written, and
VK_INCOMPLETE will be returned instead of
indicate that not all the available properties were returned.
Because the list of available layers may change externally between calls to
vkEnumerateInstanceExtensionProperties, two calls may retrieve
different results if a
pLayerName is available in one call but not in
The extensions supported by a layer may also change between two calls, e.g.
if the layer implementation is replaced by a different version between those
Implementations must not advertise any pair of extensions that cannot be enabled together due to behavioral differences, or any extension that cannot be enabled against the advertised version.
For more information, see the Vulkan Specification
This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.