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
83typedef enum VkLayerFunction_ {
88typedef struct VkLayerInstanceLink_ {
89 struct VkLayerInstanceLink_ *
pNext;
101typedef struct VkLayerDeviceInfo_ {
121typedef struct VkLayerDeviceLink_ {
162#if defined(__cplusplus)
164 return pfnNextLayer(
pNextLink, pLayerName, pPropertyCount, pProperties);
174#if defined(__cplusplus)
176 return pfnNextLayer(
pNextLink, pPropertyCount, pProperties);
186#if defined(__cplusplus)
188 return pfnNextLayer(
pNextLink, pApiVersion);
static SDL_AudioDeviceID device
const char uint32_t VkExtensionProperties *const struct VkEnumerateInstanceExtensionPropertiesChain * pNextLink
VkResult(VKAPI_PTR *pfnNextLayer)(const struct VkEnumerateInstanceExtensionPropertiesChain *
VkResult(VKAPI_PTR *pfnNextLayer)(const struct VkEnumerateInstanceLayerPropertiesChain *
uint32_t VkLayerProperties *const struct VkEnumerateInstanceLayerPropertiesChain * pNextLink
VkResult(VKAPI_PTR *pfnNextLayer)(const struct VkEnumerateInstanceVersionChain *
uint32_t *const struct VkEnumerateInstanceVersionChain * pNextLink
VkLayerDeviceLink * pLayerInfo
PFN_vkSetDeviceLoaderData pfnSetDeviceLoaderData
PFN_vkGetInstanceProcAddr pfnNextGetInstanceProcAddr
PFN_vkGetInstanceProcAddr pfnNextGetInstanceProcAddr
PFN_vkGetDeviceProcAddr pfnNextGetDeviceProcAddr
struct VkLayerDeviceLink_ * pNext
VkLayerInstanceLink * pLayerInfo
PFN_vkSetInstanceLoaderData pfnSetInstanceLoaderData
PFN_GetPhysicalDeviceProcAddr pfnNextGetPhysicalDeviceProcAddr
PFN_vkGetInstanceProcAddr pfnNextGetInstanceProcAddr
struct VkLayerInstanceLink_ * pNext
VkNegotiateLayerStructType sType
uint32_t loaderLayerInterfaceVersion
PFN_vkGetDeviceProcAddr pfnGetDeviceProcAddr
PFN_GetPhysicalDeviceProcAddr pfnGetPhysicalDeviceProcAddr
PFN_vkGetInstanceProcAddr pfnGetInstanceProcAddr
VKAPI_ATTR VkResult VKAPI_CALL vkNegotiateLoaderLayerInterfaceVersion(VkNegotiateLayerInterface *pVersionStruct)
VkResult(VKAPI_PTR * PFN_vkSetDeviceLoaderData)(VkDevice device, void *object)
VkResult(VKAPI_PTR * PFN_PhysDevExt)(VkPhysicalDevice phys_device)
@ VK_CHAIN_TYPE_ENUMERATE_INSTANCE_VERSION
@ VK_CHAIN_TYPE_ENUMERATE_INSTANCE_LAYER_PROPERTIES
@ VK_CHAIN_TYPE_ENUMERATE_INSTANCE_EXTENSION_PROPERTIES
@ VK_LOADER_DATA_CALLBACK
VkResult(VKAPI_PTR * PFN_vkSetInstanceLoaderData)(VkInstance instance, void *object)
PFN_vkVoidFunction(VKAPI_PTR * PFN_GetPhysicalDeviceProcAddr)(VkInstance instance, const char *pName)
VkResult(VKAPI_PTR * PFN_vkNegotiateLoaderLayerInterfaceVersion)(VkNegotiateLayerInterface *pVersionStruct)
VkNegotiateLayerStructType
@ LAYER_NEGOTIATE_INTERFACE_STRUCT
@ LAYER_NEGOTIATE_UNINTIALIZED
PFN_vkVoidFunction(VKAPI_PTR * PFN_vkGetDeviceProcAddr)(VkDevice device, const char *pName)
void(VKAPI_PTR * PFN_vkVoidFunction)(void)
PFN_vkVoidFunction(VKAPI_PTR * PFN_vkGetInstanceProcAddr)(VkInstance instance, const char *pName)