SDL  2.0
vk_layer.h File Reference
#include "vulkan.h"
+ Include dependency graph for vk_layer.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 VK_LAYER_EXPORT
 
#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 VkResult(VKAPI_PTRPFN_vkNegotiateLoaderLayerInterfaceVersion) (VkNegotiateLayerInterface *pVersionStruct)
 
typedef VkResult(VKAPI_PTRPFN_PhysDevExt) (VkPhysicalDevice phys_device)
 
typedef VkResult(VKAPI_PTRPFN_vkSetInstanceLoaderData) (VkInstance instance, void *object)
 
typedef VkResult(VKAPI_PTRPFN_vkSetDeviceLoaderData) (VkDevice device, void *object)
 

Enumerations

enum  VkNegotiateLayerStructType {
  LAYER_NEGOTIATE_UNINTIALIZED = 0,
  LAYER_NEGOTIATE_INTERFACE_STRUCT = 1
}
 
enum  VkLayerFunction_ {
  VK_LAYER_LINK_INFO = 0,
  VK_LOADER_DATA_CALLBACK = 1
}
 
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 45 of file vk_layer.h.

◆ MAX_NUM_UNKNOWN_EXTS

#define MAX_NUM_UNKNOWN_EXTS   250

Definition at line 38 of file vk_layer.h.

◆ MIN_SUPPORTED_LOADER_LAYER_INTERFACE_VERSION

#define MIN_SUPPORTED_LOADER_LAYER_INTERFACE_VERSION   1

Definition at line 46 of file vk_layer.h.

◆ VK_CURRENT_CHAIN_VERSION

#define VK_CURRENT_CHAIN_VERSION   1

Definition at line 48 of file vk_layer.h.

◆ VK_LAYER_EXPORT

#define VK_LAYER_EXPORT

Definition at line 35 of file vk_layer.h.

Typedef Documentation

◆ PFN_GetPhysicalDeviceProcAddr

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

Definition at line 51 of file vk_layer.h.

◆ PFN_PhysDevExt

typedef VkResult(VKAPI_PTR * PFN_PhysDevExt) (VkPhysicalDevice phys_device)

Definition at line 73 of file vk_layer.h.

◆ PFN_vkNegotiateLoaderLayerInterfaceVersion

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

Definition at line 70 of file vk_layer.h.

◆ PFN_vkSetDeviceLoaderData

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

Definition at line 108 of file vk_layer.h.

◆ PFN_vkSetInstanceLoaderData

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

Definition at line 106 of file vk_layer.h.

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 143 of file vk_layer.h.

◆ VkLayerFunction_

Enumerator
VK_LAYER_LINK_INFO 
VK_LOADER_DATA_CALLBACK 

Definition at line 83 of file vk_layer.h.

83  {
86 } VkLayerFunction;

◆ VkNegotiateLayerStructType

Enumerator
LAYER_NEGOTIATE_UNINTIALIZED 
LAYER_NEGOTIATE_INTERFACE_STRUCT 

Definition at line 54 of file vk_layer.h.

Function Documentation

◆ vkNegotiateLoaderLayerInterfaceVersion()

VKAPI_ATTR VkResult VKAPI_CALL vkNegotiateLoaderLayerInterfaceVersion ( VkNegotiateLayerInterface pVersionStruct)
LAYER_NEGOTIATE_INTERFACE_STRUCT
@ LAYER_NEGOTIATE_INTERFACE_STRUCT
Definition: vk_layer.h:56
VK_CHAIN_TYPE_ENUMERATE_INSTANCE_LAYER_PROPERTIES
@ VK_CHAIN_TYPE_ENUMERATE_INSTANCE_LAYER_PROPERTIES
Definition: vk_layer.h:146
VK_CHAIN_TYPE_ENUMERATE_INSTANCE_VERSION
@ VK_CHAIN_TYPE_ENUMERATE_INSTANCE_VERSION
Definition: vk_layer.h:147
VK_CHAIN_TYPE_UNKNOWN
@ VK_CHAIN_TYPE_UNKNOWN
Definition: vk_layer.h:144
VkChainType
VkChainType
Definition: vk_layer.h:143
VK_CHAIN_TYPE_ENUMERATE_INSTANCE_EXTENSION_PROPERTIES
@ VK_CHAIN_TYPE_ENUMERATE_INSTANCE_EXTENSION_PROPERTIES
Definition: vk_layer.h:145
VkNegotiateLayerStructType
VkNegotiateLayerStructType
Definition: vk_layer.h:54
VK_LAYER_LINK_INFO
@ VK_LAYER_LINK_INFO
Definition: vk_layer.h:84
LAYER_NEGOTIATE_UNINTIALIZED
@ LAYER_NEGOTIATE_UNINTIALIZED
Definition: vk_layer.h:55
VK_LOADER_DATA_CALLBACK
@ VK_LOADER_DATA_CALLBACK
Definition: vk_layer.h:85