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_PTR * | PFN_GetPhysicalDeviceProcAddr) (VkInstance instance, const char *pName)
typedef VkResult(VKAPI_PTR * | PFN_vkNegotiateLoaderLayerInterfaceVersion) (VkNegotiateLayerInterface *pVersionStruct)
typedef VkResult(VKAPI_PTR * | PFN_PhysDevExt) (VkPhysicalDevice phys_device)
typedef VkResult(VKAPI_PTR * | PFN_vkSetInstanceLoaderData) (VkInstance instance, void *object)
typedef VkResult(VKAPI_PTR * | PFN_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

enum 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.

{
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,
} VkChainType;

## VkLayerFunction_

enum VkLayerFunction_

Enumerator
VK_LAYER_LINK_INFO |
VK_LOADER_DATA_CALLBACK |

Definition at line 83 of file vk_layer.h.

{
VK_LAYER_LINK_INFO = 0,
VK_LOADER_DATA_CALLBACK = 1
} VkLayerFunction;

## VkNegotiateLayerStructType

enum VkNegotiateLayerStructType

Enumerator
LAYER_NEGOTIATE_UNINTIALIZED |
LAYER_NEGOTIATE_INTERFACE_STRUCT |

Definition at line 54 of file vk_layer.h.

{
LAYER_NEGOTIATE_UNINTIALIZED = 0,
LAYER_NEGOTIATE_INTERFACE_STRUCT = 1,
} VkNegotiateLayerStructType;

## 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