vk_icd.h File Reference
`#include "vulkan.h"`
`#include <stdbool.h>`
Include dependency graph for vk_icd.h:

Go to the source code of this file.

## Data Structures

union | VK_LOADER_DATA
struct | VkIcdSurfaceBase
struct | VkIcdSurfaceDisplay

## Macros

#define | CURRENT_LOADER_ICD_INTERFACE_VERSION 5
#define | MIN_SUPPORTED_LOADER_ICD_INTERFACE_VERSION 0
#define | MIN_PHYS_DEV_EXTENSION_ICD_INTERFACE_VERSION 4
#define | ICD_LOADER_MAGIC 0x01CDC0DE

## Typedefs

typedef VkResult(VKAPI_PTR * | PFN_vkNegotiateLoaderICDInterfaceVersion) (uint32_t *pVersion)
typedef PFN_vkVoidFunction(VKAPI_PTR * | PFN_GetPhysicalDeviceProcAddr) (VkInstance instance, const char *pName)

## Enumerations

enum | VkIcdWsiPlatform { VK_ICD_WSI_PLATFORM_MIR, VK_ICD_WSI_PLATFORM_WAYLAND, VK_ICD_WSI_PLATFORM_WIN32, VK_ICD_WSI_PLATFORM_XCB, VK_ICD_WSI_PLATFORM_XLIB, VK_ICD_WSI_PLATFORM_ANDROID, VK_ICD_WSI_PLATFORM_MACOS, VK_ICD_WSI_PLATFORM_IOS, VK_ICD_WSI_PLATFORM_DISPLAY }

## Functions

static void | set_loader_magic_value (void *pNewObject)
static bool | valid_loader_magic_value (void *pNewObject)

## Macro Definition Documentation

## CURRENT_LOADER_ICD_INTERFACE_VERSION

#define CURRENT_LOADER_ICD_INTERFACE_VERSION 5

Definition at line 44 of file vk_icd.h.

## ICD_LOADER_MAGIC

#define ICD_LOADER_MAGIC 0x01CDC0DE

Definition at line 61 of file vk_icd.h.

## MIN_PHYS_DEV_EXTENSION_ICD_INTERFACE_VERSION

#define MIN_PHYS_DEV_EXTENSION_ICD_INTERFACE_VERSION 4

Definition at line 46 of file vk_icd.h.

## MIN_SUPPORTED_LOADER_ICD_INTERFACE_VERSION

#define MIN_SUPPORTED_LOADER_ICD_INTERFACE_VERSION 0

Definition at line 45 of file vk_icd.h.

## Typedef Documentation

## PFN_GetPhysicalDeviceProcAddr

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

Definition at line 52 of file vk_icd.h.

## PFN_vkNegotiateLoaderICDInterfaceVersion

typedef VkResult(VKAPI_PTR * PFN_vkNegotiateLoaderICDInterfaceVersion) (uint32_t *pVersion)

Definition at line 47 of file vk_icd.h.

## Enumeration Type Documentation

## VkIcdWsiPlatform

enum VkIcdWsiPlatform

Enumerator
VK_ICD_WSI_PLATFORM_MIR |
VK_ICD_WSI_PLATFORM_WAYLAND |
VK_ICD_WSI_PLATFORM_WIN32 |
VK_ICD_WSI_PLATFORM_XCB |
VK_ICD_WSI_PLATFORM_XLIB |
VK_ICD_WSI_PLATFORM_ANDROID |
VK_ICD_WSI_PLATFORM_MACOS |
VK_ICD_WSI_PLATFORM_IOS |
VK_ICD_WSI_PLATFORM_DISPLAY |

Definition at line 82 of file vk_icd.h.

{
VK_ICD_WSI_PLATFORM_MIR,
VK_ICD_WSI_PLATFORM_WAYLAND,
VK_ICD_WSI_PLATFORM_WIN32,
VK_ICD_WSI_PLATFORM_XCB,
VK_ICD_WSI_PLATFORM_XLIB,
VK_ICD_WSI_PLATFORM_ANDROID,
VK_ICD_WSI_PLATFORM_MACOS,
VK_ICD_WSI_PLATFORM_IOS,
VK_ICD_WSI_PLATFORM_DISPLAY
} VkIcdWsiPlatform;

## Function Documentation

## set_loader_magic_value()

static void set_loader_magic_value | ( | void * | pNewObject | ) |

inline static

Definition at line 68 of file vk_icd.h.

{
VK_LOADER_DATA *loader_info = (VK_LOADER_DATA *)pNewObject;
loader_info->loaderMagic = ICD_LOADER_MAGIC;
}

References ICD_LOADER_MAGIC, and VK_LOADER_DATA::loaderMagic.

## valid_loader_magic_value()

static bool valid_loader_magic_value | ( | void * | pNewObject | ) |

inline static

Definition at line 73 of file vk_icd.h.

{
const VK_LOADER_DATA *loader_info = (VK_LOADER_DATA *)pNewObject;
return (loader_info->loaderMagic & 0xffffffff) == ICD_LOADER_MAGIC;
}

References ICD_LOADER_MAGIC, and VK_LOADER_DATA::loaderMagic.

VK_ICD_WSI_PLATFORM_IOS
@ VK_ICD_WSI_PLATFORM_IOS
Definition: vk_icd.h:90
VK_ICD_WSI_PLATFORM_ANDROID
@ VK_ICD_WSI_PLATFORM_ANDROID
Definition: vk_icd.h:88
VK_LOADER_DATA
Definition: vk_icd.h:63
VK_ICD_WSI_PLATFORM_XLIB
@ VK_ICD_WSI_PLATFORM_XLIB
Definition: vk_icd.h:87
VK_LOADER_DATA::loaderMagic
uintptr_t loaderMagic
Definition: vk_icd.h:64
VK_ICD_WSI_PLATFORM_WIN32
@ VK_ICD_WSI_PLATFORM_WIN32
Definition: vk_icd.h:85
VK_ICD_WSI_PLATFORM_MACOS
@ VK_ICD_WSI_PLATFORM_MACOS
Definition: vk_icd.h:89
VK_ICD_WSI_PLATFORM_WAYLAND
@ VK_ICD_WSI_PLATFORM_WAYLAND
Definition: vk_icd.h:84
VK_ICD_WSI_PLATFORM_XCB
@ VK_ICD_WSI_PLATFORM_XCB
Definition: vk_icd.h:86
VK_ICD_WSI_PLATFORM_DISPLAY
@ VK_ICD_WSI_PLATFORM_DISPLAY
Definition: vk_icd.h:91
VK_ICD_WSI_PLATFORM_MIR
@ VK_ICD_WSI_PLATFORM_MIR
Definition: vk_icd.h:83
ICD_LOADER_MAGIC
#define ICD_LOADER_MAGIC
Definition: vk_icd.h:61
VkIcdWsiPlatform
VkIcdWsiPlatform
Definition: vk_icd.h:82