Github User Fetcher 1.0.0
C Application with Server and GUI
Loading...
Searching...
No Matches
vk_layer.h File Reference
#include "vulkan_core.h"

Go to the source code of this file.

Data Structures

struct  VkNegotiateLayerInterface
 
struct  VkLayerInstanceLink_
 
struct  VkLayerDeviceInfo_
 
struct  VkLayerInstanceCreateInfo
 
struct  VkLayerDeviceLink_
 
struct  VkLayerDeviceCreateInfo
 
struct  VkChainHeader
 
struct  VkEnumerateInstanceExtensionPropertiesChain
 
struct  VkEnumerateInstanceLayerPropertiesChain
 
struct  VkEnumerateInstanceVersionChain
 

Macros

#define MAX_NUM_UNKNOWN_EXTS   250
 
#define CURRENT_LOADER_LAYER_INTERFACE_VERSION   2
 
#define MIN_SUPPORTED_LOADER_LAYER_INTERFACE_VERSION   1
 
#define VK_CURRENT_CHAIN_VERSION   1
 

Typedefs

typedef PFN_vkVoidFunction(VKAPI_PTRPFN_GetPhysicalDeviceProcAddr) (VkInstance instance, const char *pName)
 
typedef enum VkNegotiateLayerStructType VkNegotiateLayerStructType
 
typedef struct VkNegotiateLayerInterface VkNegotiateLayerInterface
 
typedef VkResult(VKAPI_PTRPFN_vkNegotiateLoaderLayerInterfaceVersion) (VkNegotiateLayerInterface *pVersionStruct)
 
typedef VkResult(VKAPI_PTRPFN_PhysDevExt) (VkPhysicalDevice phys_device)
 
typedef enum VkLayerFunction_ VkLayerFunction
 
typedef struct VkLayerInstanceLink_ VkLayerInstanceLink
 
typedef struct VkLayerDeviceInfo_ VkLayerDeviceInfo
 
typedef VkResult(VKAPI_PTRPFN_vkSetInstanceLoaderData) (VkInstance instance, void *object)
 
typedef VkResult(VKAPI_PTRPFN_vkSetDeviceLoaderData) (VkDevice device, void *object)
 
typedef VkResult(VKAPI_PTRPFN_vkLayerCreateDevice) (VkInstance instance, VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDevice *pDevice, PFN_vkGetInstanceProcAddr layerGIPA, PFN_vkGetDeviceProcAddr *nextGDPA)
 
typedef void(VKAPI_PTRPFN_vkLayerDestroyDevice) (VkDevice physicalDevice, const VkAllocationCallbacks *pAllocator, PFN_vkDestroyDevice destroyFunction)
 
typedef enum VkLoaderFeastureFlagBits VkLoaderFlagBits
 
typedef VkFlags VkLoaderFeatureFlags
 
typedef struct VkLayerDeviceLink_ VkLayerDeviceLink
 
typedef enum VkChainType VkChainType
 
typedef struct VkChainHeader VkChainHeader
 
typedef struct VkEnumerateInstanceExtensionPropertiesChain VkEnumerateInstanceExtensionPropertiesChain
 
typedef struct VkEnumerateInstanceLayerPropertiesChain VkEnumerateInstanceLayerPropertiesChain
 
typedef struct VkEnumerateInstanceVersionChain VkEnumerateInstanceVersionChain
 

Enumerations

enum  VkNegotiateLayerStructType { LAYER_NEGOTIATE_UNINTIALIZED = 0 , LAYER_NEGOTIATE_INTERFACE_STRUCT = 1 }
 
enum  VkLayerFunction_ { VK_LAYER_LINK_INFO = 0 , VK_LOADER_DATA_CALLBACK = 1 , VK_LOADER_LAYER_CREATE_DEVICE_CALLBACK = 2 , VK_LOADER_FEATURES = 3 }
 
enum  VkLoaderFeastureFlagBits { VK_LOADER_FEATURE_PHYSICAL_DEVICE_SORTING = 0x00000001 }
 
enum  VkChainType { VK_CHAIN_TYPE_UNKNOWN = 0 , VK_CHAIN_TYPE_ENUMERATE_INSTANCE_EXTENSION_PROPERTIES = 1 , VK_CHAIN_TYPE_ENUMERATE_INSTANCE_LAYER_PROPERTIES = 2 , VK_CHAIN_TYPE_ENUMERATE_INSTANCE_VERSION = 3 }
 

Functions

VKAPI_ATTR VkResult VKAPI_CALL vkNegotiateLoaderLayerInterfaceVersion (VkNegotiateLayerInterface *pVersionStruct)
 

Macro Definition Documentation

◆ CURRENT_LOADER_LAYER_INTERFACE_VERSION

#define CURRENT_LOADER_LAYER_INTERFACE_VERSION   2

Definition at line 24 of file vk_layer.h.

◆ MAX_NUM_UNKNOWN_EXTS

#define MAX_NUM_UNKNOWN_EXTS   250

Definition at line 17 of file vk_layer.h.

◆ MIN_SUPPORTED_LOADER_LAYER_INTERFACE_VERSION

#define MIN_SUPPORTED_LOADER_LAYER_INTERFACE_VERSION   1

Definition at line 25 of file vk_layer.h.

◆ VK_CURRENT_CHAIN_VERSION

#define VK_CURRENT_CHAIN_VERSION   1

Definition at line 27 of file vk_layer.h.

Typedef Documentation

◆ PFN_GetPhysicalDeviceProcAddr

typedef PFN_vkVoidFunction(VKAPI_PTR * PFN_GetPhysicalDeviceProcAddr) (VkInstance instance, const char *pName)

Definition at line 30 of file vk_layer.h.

◆ PFN_PhysDevExt

typedef VkResult(VKAPI_PTR * PFN_PhysDevExt) (VkPhysicalDevice phys_device)

Definition at line 52 of file vk_layer.h.

◆ PFN_vkLayerCreateDevice

typedef VkResult(VKAPI_PTR * PFN_vkLayerCreateDevice) (VkInstance instance, VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDevice *pDevice, PFN_vkGetInstanceProcAddr layerGIPA, PFN_vkGetDeviceProcAddr *nextGDPA)

Definition at line 91 of file vk_layer.h.

◆ PFN_vkLayerDestroyDevice

typedef void(VKAPI_PTR * PFN_vkLayerDestroyDevice) (VkDevice physicalDevice, const VkAllocationCallbacks *pAllocator, PFN_vkDestroyDevice destroyFunction)

Definition at line 93 of file vk_layer.h.

◆ PFN_vkNegotiateLoaderLayerInterfaceVersion

typedef VkResult(VKAPI_PTR * PFN_vkNegotiateLoaderLayerInterfaceVersion) (VkNegotiateLayerInterface *pVersionStruct)

Definition at line 49 of file vk_layer.h.

◆ PFN_vkSetDeviceLoaderData

typedef VkResult(VKAPI_PTR * PFN_vkSetDeviceLoaderData) (VkDevice device, void *object)

Definition at line 89 of file vk_layer.h.

◆ PFN_vkSetInstanceLoaderData

typedef VkResult(VKAPI_PTR * PFN_vkSetInstanceLoaderData) (VkInstance instance, void *object)

Definition at line 87 of file vk_layer.h.

◆ VkChainHeader

typedef struct VkChainHeader VkChainHeader

◆ VkChainType

typedef enum VkChainType VkChainType

◆ VkEnumerateInstanceExtensionPropertiesChain

typedef struct VkEnumerateInstanceExtensionPropertiesChain VkEnumerateInstanceExtensionPropertiesChain

◆ VkEnumerateInstanceLayerPropertiesChain

typedef struct VkEnumerateInstanceLayerPropertiesChain VkEnumerateInstanceLayerPropertiesChain

◆ VkEnumerateInstanceVersionChain

typedef struct VkEnumerateInstanceVersionChain VkEnumerateInstanceVersionChain

◆ VkLayerDeviceInfo

◆ VkLayerDeviceLink

◆ VkLayerFunction

◆ VkLayerInstanceLink

◆ VkLoaderFeatureFlags

Definition at line 98 of file vk_layer.h.

◆ VkLoaderFlagBits

◆ VkNegotiateLayerInterface

typedef struct VkNegotiateLayerInterface VkNegotiateLayerInterface

◆ VkNegotiateLayerStructType

Enumeration Type Documentation

◆ VkChainType

Enumerator
VK_CHAIN_TYPE_UNKNOWN 
VK_CHAIN_TYPE_ENUMERATE_INSTANCE_EXTENSION_PROPERTIES 
VK_CHAIN_TYPE_ENUMERATE_INSTANCE_LAYER_PROPERTIES 
VK_CHAIN_TYPE_ENUMERATE_INSTANCE_VERSION 

Definition at line 137 of file vk_layer.h.

137 {
VkChainType
Definition vk_layer.h:137
@ VK_CHAIN_TYPE_UNKNOWN
Definition vk_layer.h:138
@ VK_CHAIN_TYPE_ENUMERATE_INSTANCE_VERSION
Definition vk_layer.h:141
@ VK_CHAIN_TYPE_ENUMERATE_INSTANCE_LAYER_PROPERTIES
Definition vk_layer.h:140
@ VK_CHAIN_TYPE_ENUMERATE_INSTANCE_EXTENSION_PROPERTIES
Definition vk_layer.h:139

◆ VkLayerFunction_

Enumerator
VK_LAYER_LINK_INFO 
VK_LOADER_DATA_CALLBACK 
VK_LOADER_LAYER_CREATE_DEVICE_CALLBACK 
VK_LOADER_FEATURES 

Definition at line 62 of file vk_layer.h.

62 {
@ VK_LAYER_LINK_INFO
Definition vk_layer.h:63
@ VK_LOADER_FEATURES
Definition vk_layer.h:66
@ VK_LOADER_DATA_CALLBACK
Definition vk_layer.h:64
@ VK_LOADER_LAYER_CREATE_DEVICE_CALLBACK
Definition vk_layer.h:65
enum VkLayerFunction_ VkLayerFunction

◆ VkLoaderFeastureFlagBits

Enumerator
VK_LOADER_FEATURE_PHYSICAL_DEVICE_SORTING 

Definition at line 95 of file vk_layer.h.

95 {
@ VK_LOADER_FEATURE_PHYSICAL_DEVICE_SORTING
Definition vk_layer.h:96
enum VkLoaderFeastureFlagBits VkLoaderFlagBits

◆ VkNegotiateLayerStructType

Enumerator
LAYER_NEGOTIATE_UNINTIALIZED 
LAYER_NEGOTIATE_INTERFACE_STRUCT 

Definition at line 33 of file vk_layer.h.

33 {
VkNegotiateLayerStructType
Definition vk_layer.h:33
@ LAYER_NEGOTIATE_INTERFACE_STRUCT
Definition vk_layer.h:35
@ LAYER_NEGOTIATE_UNINTIALIZED
Definition vk_layer.h:34

Function Documentation

◆ vkNegotiateLoaderLayerInterfaceVersion()

VKAPI_ATTR VkResult VKAPI_CALL vkNegotiateLoaderLayerInterfaceVersion ( VkNegotiateLayerInterface * pVersionStruct)