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
83 typedef enum VkLayerFunction_ {
90 typedef struct VkLayerInstanceLink_ {
91 struct VkLayerInstanceLink_ *
pNext;
103 typedef struct VkLayerDeviceInfo_ {
116 typedef enum VkLoaderFeastureFlagBits {
136 typedef struct VkLayerDeviceLink_ {
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)
203 return pfnNextLayer(
pNextLink, pApiVersion);
SDL_PRINTF_FORMAT_STRING const char int SDL_PRINTF_FORMAT_STRING const char int SDL_PRINTF_FORMAT_STRING const char int SDL_PRINTF_FORMAT_STRING const char const char SDL_SCANF_FORMAT_STRING const char return SDL_ThreadFunction const char void return Uint32 return Uint32 void
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_vkLayerCreateDevice pfnLayerCreateDevice
VkLoaderFeatureFlags loaderFeatures
PFN_vkLayerDestroyDevice pfnLayerDestroyDevice
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_vkLayerCreateDevice)(VkInstance instance, VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDevice *pDevice, PFN_vkGetInstanceProcAddr layerGIPA, PFN_vkGetDeviceProcAddr *nextGDPA)
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
@ VK_LOADER_LAYER_CREATE_DEVICE_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
void(VKAPI_PTR * PFN_vkLayerDestroyDevice)(VkDevice physicalDevice, const VkAllocationCallbacks *pAllocator, PFN_vkDestroyDevice destroyFunction)
VkFlags VkLoaderFeatureFlags
@ VK_LOADER_FEATURE_PHYSICAL_DEVICE_SORTING
PFN_vkVoidFunction(VKAPI_PTR * PFN_vkGetDeviceProcAddr)(VkDevice device, const char *pName)
void(VKAPI_PTR * PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks *pAllocator)
void(VKAPI_PTR * PFN_vkVoidFunction)(void)
PFN_vkVoidFunction(VKAPI_PTR * PFN_vkGetInstanceProcAddr)(VkInstance instance, const char *pName)