30 #if defined(__GNUC__) && __GNUC__ >= 4
31 #define VK_LAYER_EXPORT __attribute__((visibility("default")))
32 #elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590)
33 #define VK_LAYER_EXPORT __attribute__((visibility("default")))
35 #define VK_LAYER_EXPORT
38 #define MAX_NUM_UNKNOWN_EXTS 250
45 #define CURRENT_LOADER_LAYER_INTERFACE_VERSION 2
46 #define MIN_SUPPORTED_LOADER_LAYER_INTERFACE_VERSION 1
48 #define VK_CURRENT_CHAIN_VERSION 1
177 #if defined(__cplusplus)
179 return pfnNextLayer(
pNextLink, pLayerName, pPropertyCount, pProperties);
189 #if defined(__cplusplus)
191 return pfnNextLayer(
pNextLink, pPropertyCount, pProperties);
201 #if defined(__cplusplus)
202 inline VkResult CallDown(uint32_t *pApiVersion)
const {
203 return pfnNextLayer(
pNextLink, pApiVersion);
VkResult(VKAPI_PTR *pfnNextLayer)(const struct VkEnumerateInstanceLayerPropertiesChain *
struct VkLayerInstanceLink_ VkLayerInstanceLink
PFN_GetPhysicalDeviceProcAddr pfnGetPhysicalDeviceProcAddr
uint32_t VkLayerProperties *const struct VkEnumerateInstanceLayerPropertiesChain * pNextLink
VkFlags VkLoaderFeatureFlags
PFN_vkGetInstanceProcAddr pfnNextGetInstanceProcAddr
PFN_vkLayerCreateDevice pfnLayerCreateDevice
struct VkEnumerateInstanceVersionChain VkEnumerateInstanceVersionChain
struct VkEnumerateInstanceLayerPropertiesChain VkEnumerateInstanceLayerPropertiesChain
PFN_vkVoidFunction(VKAPI_PTR * PFN_vkGetDeviceProcAddr)(VkDevice device, const char *pName)
VkResult(VKAPI_PTR * PFN_PhysDevExt)(VkPhysicalDevice phys_device)
struct VkEnumerateInstanceExtensionPropertiesChain VkEnumerateInstanceExtensionPropertiesChain
const char uint32_t VkExtensionProperties *const struct VkEnumerateInstanceExtensionPropertiesChain * pNextLink
PFN_vkGetInstanceProcAddr pfnNextGetInstanceProcAddr
VkResult(VKAPI_PTR *pfnNextLayer)(const struct VkEnumerateInstanceVersionChain *
VkNegotiateLayerStructType sType
VkLoaderFeatureFlags loaderFeatures
PFN_vkVoidFunction(VKAPI_PTR * PFN_GetPhysicalDeviceProcAddr)(VkInstance instance, const char *pName)
struct VkLayerInstanceLink_ * pNext
PFN_vkSetInstanceLoaderData pfnSetInstanceLoaderData
VkNegotiateLayerStructType
struct VkChainHeader VkChainHeader
PFN_GetPhysicalDeviceProcAddr pfnNextGetPhysicalDeviceProcAddr
enum VkLoaderFeastureFlagBits VkLoaderFlagBits
void(VKAPI_PTR * PFN_vkVoidFunction)(void)
VkLayerInstanceLink * pLayerInfo
VkResult(VKAPI_PTR * PFN_vkLayerCreateDevice)(VkInstance instance, VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDevice *pDevice, PFN_vkGetInstanceProcAddr layerGIPA, PFN_vkGetDeviceProcAddr *nextGDPA)
PFN_vkVoidFunction(VKAPI_PTR * PFN_vkGetInstanceProcAddr)(VkInstance instance, const char *pName)
PFN_vkGetInstanceProcAddr pfnGetInstanceProcAddr
uint32_t *const struct VkEnumerateInstanceVersionChain * pNextLink
VkResult(VKAPI_PTR * PFN_vkSetDeviceLoaderData)(VkDevice device, void *object)
struct VkLayerDeviceInfo_ VkLayerDeviceInfo
uint32_t loaderLayerInterfaceVersion
PFN_vkLayerDestroyDevice pfnLayerDestroyDevice
void(VKAPI_PTR * PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks *pAllocator)
PFN_vkGetDeviceProcAddr pfnGetDeviceProcAddr
PFN_vkSetDeviceLoaderData pfnSetDeviceLoaderData
VKAPI_ATTR VkResult VKAPI_CALL vkNegotiateLoaderLayerInterfaceVersion(VkNegotiateLayerInterface *pVersionStruct)
VkResult(VKAPI_PTR *pfnNextLayer)(const struct VkEnumerateInstanceExtensionPropertiesChain *
PFN_vkGetInstanceProcAddr pfnNextGetInstanceProcAddr
void(VKAPI_PTR * PFN_vkLayerDestroyDevice)(VkDevice physicalDevice, const VkAllocationCallbacks *pAllocator, PFN_vkDestroyDevice destroyFunction)
struct VkLayerDeviceLink_ * pNext
VkResult(VKAPI_PTR * PFN_vkNegotiateLoaderLayerInterfaceVersion)(VkNegotiateLayerInterface *pVersionStruct)
struct VkLayerDeviceLink_ VkLayerDeviceLink
PFN_vkGetDeviceProcAddr pfnNextGetDeviceProcAddr
VkLayerDeviceLink * pLayerInfo
enum VkLayerFunction_ VkLayerFunction
VkResult(VKAPI_PTR * PFN_vkSetInstanceLoaderData)(VkInstance instance, void *object)
struct VkNegotiateLayerInterface VkNegotiateLayerInterface