Github User Fetcher 1.0.0
C Application with Server and GUI
Loading...
Searching...
No Matches
vk_icd.h File Reference
#include "vulkan.h"
#include <stdbool.h>

Go to the source code of this file.

Data Structures

union  VK_LOADER_DATA
 
struct  VkIcdSurfaceBase
 
struct  VkIcdSurfaceDisplay
 
struct  VkIcdSurfaceHeadless
 

Macros

#define CURRENT_LOADER_ICD_INTERFACE_VERSION   7
 
#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_PTRPFN_vkNegotiateLoaderICDInterfaceVersion) (uint32_t *pVersion)
 
typedef PFN_vkVoidFunction(VKAPI_PTRPFN_GetPhysicalDeviceProcAddr) (VkInstance instance, const char *pName)
 
typedef VkResult(VKAPI_PTRPFN_vk_icdNegotiateLoaderICDInterfaceVersion) (uint32_t *pVersion)
 
typedef PFN_vkVoidFunction(VKAPI_PTRPFN_vk_icdGetInstanceProcAddr) (VkInstance instance, const char *pName)
 
typedef PFN_vkVoidFunction(VKAPI_PTRPFN_vk_icdGetPhysicalDeviceProcAddr) (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 , VK_ICD_WSI_PLATFORM_HEADLESS , VK_ICD_WSI_PLATFORM_METAL , VK_ICD_WSI_PLATFORM_DIRECTFB ,
  VK_ICD_WSI_PLATFORM_VI , VK_ICD_WSI_PLATFORM_GGP , VK_ICD_WSI_PLATFORM_SCREEN , VK_ICD_WSI_PLATFORM_FUCHSIA
}
 

Functions

VKAPI_ATTR VkResult VKAPI_CALL vk_icdNegotiateLoaderICDInterfaceVersion (uint32_t *pVersion)
 
VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vk_icdGetInstanceProcAddr (VkInstance instance, const char *pName)
 
VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vk_icdGetPhysicalDeviceProcAddr (VkInstance instance, const char *pName)
 
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   7

Definition at line 39 of file vk_icd.h.

◆ ICD_LOADER_MAGIC

#define ICD_LOADER_MAGIC   0x01CDC0DE

Definition at line 83 of file vk_icd.h.

Referenced by set_loader_magic_value(), and valid_loader_magic_value().

◆ MIN_PHYS_DEV_EXTENSION_ICD_INTERFACE_VERSION

#define MIN_PHYS_DEV_EXTENSION_ICD_INTERFACE_VERSION   4

Definition at line 41 of file vk_icd.h.

◆ MIN_SUPPORTED_LOADER_ICD_INTERFACE_VERSION

#define MIN_SUPPORTED_LOADER_ICD_INTERFACE_VERSION   0

Definition at line 40 of file vk_icd.h.

Typedef Documentation

◆ PFN_GetPhysicalDeviceProcAddr

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

Definition at line 48 of file vk_icd.h.

◆ PFN_vk_icdGetInstanceProcAddr

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

Definition at line 53 of file vk_icd.h.

◆ PFN_vk_icdGetPhysicalDeviceProcAddr

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

Definition at line 54 of file vk_icd.h.

◆ PFN_vk_icdNegotiateLoaderICDInterfaceVersion

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

Definition at line 52 of file vk_icd.h.

◆ PFN_vkNegotiateLoaderICDInterfaceVersion

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

Definition at line 44 of file vk_icd.h.

Enumeration Type Documentation

◆ 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 
VK_ICD_WSI_PLATFORM_HEADLESS 
VK_ICD_WSI_PLATFORM_METAL 
VK_ICD_WSI_PLATFORM_DIRECTFB 
VK_ICD_WSI_PLATFORM_VI 
VK_ICD_WSI_PLATFORM_GGP 
VK_ICD_WSI_PLATFORM_SCREEN 
VK_ICD_WSI_PLATFORM_FUCHSIA 

Definition at line 104 of file vk_icd.h.

104 {
VkIcdWsiPlatform
Definition vk_icd.h:104
@ VK_ICD_WSI_PLATFORM_HEADLESS
Definition vk_icd.h:114
@ VK_ICD_WSI_PLATFORM_METAL
Definition vk_icd.h:115
@ VK_ICD_WSI_PLATFORM_GGP
Definition vk_icd.h:118
@ VK_ICD_WSI_PLATFORM_MACOS
Definition vk_icd.h:111
@ VK_ICD_WSI_PLATFORM_DISPLAY
Definition vk_icd.h:113
@ VK_ICD_WSI_PLATFORM_SCREEN
Definition vk_icd.h:119
@ VK_ICD_WSI_PLATFORM_WAYLAND
Definition vk_icd.h:106
@ VK_ICD_WSI_PLATFORM_DIRECTFB
Definition vk_icd.h:116
@ VK_ICD_WSI_PLATFORM_XCB
Definition vk_icd.h:108
@ VK_ICD_WSI_PLATFORM_XLIB
Definition vk_icd.h:109
@ VK_ICD_WSI_PLATFORM_WIN32
Definition vk_icd.h:107
@ VK_ICD_WSI_PLATFORM_MIR
Definition vk_icd.h:105
@ VK_ICD_WSI_PLATFORM_VI
Definition vk_icd.h:117
@ VK_ICD_WSI_PLATFORM_IOS
Definition vk_icd.h:112
@ VK_ICD_WSI_PLATFORM_ANDROID
Definition vk_icd.h:110
@ VK_ICD_WSI_PLATFORM_FUCHSIA
Definition vk_icd.h:120

Function Documentation

◆ set_loader_magic_value()

static void set_loader_magic_value ( void * pNewObject)
inlinestatic

Definition at line 90 of file vk_icd.h.

90 {
91 VK_LOADER_DATA *loader_info = (VK_LOADER_DATA *)pNewObject;
92 loader_info->loaderMagic = ICD_LOADER_MAGIC;
93}
uintptr_t loaderMagic
Definition vk_icd.h:86
#define ICD_LOADER_MAGIC
Definition vk_icd.h:83

References ICD_LOADER_MAGIC, and VK_LOADER_DATA::loaderMagic.

◆ valid_loader_magic_value()

static bool valid_loader_magic_value ( void * pNewObject)
inlinestatic

Definition at line 95 of file vk_icd.h.

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

References ICD_LOADER_MAGIC, and VK_LOADER_DATA::loaderMagic.

◆ vk_icdGetInstanceProcAddr()

VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vk_icdGetInstanceProcAddr ( VkInstance instance,
const char * pName )

◆ vk_icdGetPhysicalDeviceProcAddr()

VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vk_icdGetPhysicalDeviceProcAddr ( VkInstance instance,
const char * pName )

◆ vk_icdNegotiateLoaderICDInterfaceVersion()

VKAPI_ATTR VkResult VKAPI_CALL vk_icdNegotiateLoaderICDInterfaceVersion ( uint32_t * pVersion)