volk.c 143 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968
  1. /* This file is part of volk library; see volk.h for version/license details */
  2. /* clang-format off */
  3. #include "volk.h"
  4. #ifdef _WIN32
  5. typedef const char* LPCSTR;
  6. typedef struct HINSTANCE__* HINSTANCE;
  7. typedef HINSTANCE HMODULE;
  8. #ifdef _WIN64
  9. typedef __int64 (__stdcall* FARPROC)(void);
  10. #else
  11. typedef int (__stdcall* FARPROC)(void);
  12. #endif
  13. #else
  14. # include <dlfcn.h>
  15. #endif
  16. #ifdef __cplusplus
  17. extern "C" {
  18. #endif
  19. #ifdef _WIN32
  20. __declspec(dllimport) HMODULE __stdcall LoadLibraryA(LPCSTR);
  21. __declspec(dllimport) FARPROC __stdcall GetProcAddress(HMODULE, LPCSTR);
  22. #endif
  23. static VkInstance loadedInstance = VK_NULL_HANDLE;
  24. static VkDevice loadedDevice = VK_NULL_HANDLE;
  25. static void volkGenLoadLoader(void* context, PFN_vkVoidFunction (*load)(void*, const char*));
  26. static void volkGenLoadInstance(void* context, PFN_vkVoidFunction (*load)(void*, const char*));
  27. static void volkGenLoadDevice(void* context, PFN_vkVoidFunction (*load)(void*, const char*));
  28. static void volkGenLoadDeviceTable(struct VolkDeviceTable* table, void* context, PFN_vkVoidFunction (*load)(void*, const char*));
  29. static PFN_vkVoidFunction vkGetInstanceProcAddrStub(void* context, const char* name)
  30. {
  31. return vkGetInstanceProcAddr((VkInstance)context, name);
  32. }
  33. static PFN_vkVoidFunction vkGetDeviceProcAddrStub(void* context, const char* name)
  34. {
  35. return vkGetDeviceProcAddr((VkDevice)context, name);
  36. }
  37. VkResult volkInitialize(void)
  38. {
  39. #if defined(_WIN32)
  40. HMODULE module = LoadLibraryA("vulkan-1.dll");
  41. if (!module)
  42. return VK_ERROR_INITIALIZATION_FAILED;
  43. // note: function pointer is cast through void function pointer to silence cast-function-type warning on gcc8
  44. vkGetInstanceProcAddr = (PFN_vkGetInstanceProcAddr)(void(*)(void))GetProcAddress(module, "vkGetInstanceProcAddr");
  45. #elif defined(__APPLE__)
  46. void* module = dlopen("libvulkan.dylib", RTLD_NOW | RTLD_LOCAL);
  47. if (!module)
  48. module = dlopen("libvulkan.1.dylib", RTLD_NOW | RTLD_LOCAL);
  49. if (!module)
  50. module = dlopen("libMoltenVK.dylib", RTLD_NOW | RTLD_LOCAL);
  51. if (!module)
  52. return VK_ERROR_INITIALIZATION_FAILED;
  53. vkGetInstanceProcAddr = (PFN_vkGetInstanceProcAddr)dlsym(module, "vkGetInstanceProcAddr");
  54. #else
  55. void* module = dlopen("libvulkan.so.1", RTLD_NOW | RTLD_LOCAL);
  56. if (!module)
  57. module = dlopen("libvulkan.so", RTLD_NOW | RTLD_LOCAL);
  58. if (!module)
  59. return VK_ERROR_INITIALIZATION_FAILED;
  60. vkGetInstanceProcAddr = (PFN_vkGetInstanceProcAddr)dlsym(module, "vkGetInstanceProcAddr");
  61. #endif
  62. volkGenLoadLoader(NULL, vkGetInstanceProcAddrStub);
  63. return VK_SUCCESS;
  64. }
  65. void volkInitializeCustom(PFN_vkGetInstanceProcAddr handler)
  66. {
  67. vkGetInstanceProcAddr = handler;
  68. volkGenLoadLoader(NULL, vkGetInstanceProcAddrStub);
  69. }
  70. uint32_t volkGetInstanceVersion(void)
  71. {
  72. #if defined(VK_VERSION_1_1)
  73. uint32_t apiVersion = 0;
  74. if (vkEnumerateInstanceVersion && vkEnumerateInstanceVersion(&apiVersion) == VK_SUCCESS)
  75. return apiVersion;
  76. #endif
  77. if (vkCreateInstance)
  78. return VK_API_VERSION_1_0;
  79. return 0;
  80. }
  81. void volkLoadInstance(VkInstance instance)
  82. {
  83. loadedInstance = instance;
  84. volkGenLoadInstance(instance, vkGetInstanceProcAddrStub);
  85. volkGenLoadDevice(instance, vkGetInstanceProcAddrStub);
  86. }
  87. void volkLoadInstanceOnly(VkInstance instance)
  88. {
  89. loadedInstance = instance;
  90. volkGenLoadInstance(instance, vkGetInstanceProcAddrStub);
  91. }
  92. VkInstance volkGetLoadedInstance()
  93. {
  94. return loadedInstance;
  95. }
  96. void volkLoadDevice(VkDevice device)
  97. {
  98. loadedDevice = device;
  99. volkGenLoadDevice(device, vkGetDeviceProcAddrStub);
  100. }
  101. VkDevice volkGetLoadedDevice()
  102. {
  103. return loadedDevice;
  104. }
  105. void volkLoadDeviceTable(struct VolkDeviceTable* table, VkDevice device)
  106. {
  107. volkGenLoadDeviceTable(table, device, vkGetDeviceProcAddrStub);
  108. }
  109. static void volkGenLoadLoader(void* context, PFN_vkVoidFunction (*load)(void*, const char*))
  110. {
  111. /* VOLK_GENERATE_LOAD_LOADER */
  112. #if defined(VK_VERSION_1_0)
  113. vkCreateInstance = (PFN_vkCreateInstance)load(context, "vkCreateInstance");
  114. vkEnumerateInstanceExtensionProperties = (PFN_vkEnumerateInstanceExtensionProperties)load(context, "vkEnumerateInstanceExtensionProperties");
  115. vkEnumerateInstanceLayerProperties = (PFN_vkEnumerateInstanceLayerProperties)load(context, "vkEnumerateInstanceLayerProperties");
  116. #endif /* defined(VK_VERSION_1_0) */
  117. #if defined(VK_VERSION_1_1)
  118. vkEnumerateInstanceVersion = (PFN_vkEnumerateInstanceVersion)load(context, "vkEnumerateInstanceVersion");
  119. #endif /* defined(VK_VERSION_1_1) */
  120. /* VOLK_GENERATE_LOAD_LOADER */
  121. }
  122. static void volkGenLoadInstance(void* context, PFN_vkVoidFunction (*load)(void*, const char*))
  123. {
  124. /* VOLK_GENERATE_LOAD_INSTANCE */
  125. #if defined(VK_VERSION_1_0)
  126. vkCreateDevice = (PFN_vkCreateDevice)load(context, "vkCreateDevice");
  127. vkDestroyInstance = (PFN_vkDestroyInstance)load(context, "vkDestroyInstance");
  128. vkEnumerateDeviceExtensionProperties = (PFN_vkEnumerateDeviceExtensionProperties)load(context, "vkEnumerateDeviceExtensionProperties");
  129. vkEnumerateDeviceLayerProperties = (PFN_vkEnumerateDeviceLayerProperties)load(context, "vkEnumerateDeviceLayerProperties");
  130. vkEnumeratePhysicalDevices = (PFN_vkEnumeratePhysicalDevices)load(context, "vkEnumeratePhysicalDevices");
  131. vkGetDeviceProcAddr = (PFN_vkGetDeviceProcAddr)load(context, "vkGetDeviceProcAddr");
  132. vkGetPhysicalDeviceFeatures = (PFN_vkGetPhysicalDeviceFeatures)load(context, "vkGetPhysicalDeviceFeatures");
  133. vkGetPhysicalDeviceFormatProperties = (PFN_vkGetPhysicalDeviceFormatProperties)load(context, "vkGetPhysicalDeviceFormatProperties");
  134. vkGetPhysicalDeviceImageFormatProperties = (PFN_vkGetPhysicalDeviceImageFormatProperties)load(context, "vkGetPhysicalDeviceImageFormatProperties");
  135. vkGetPhysicalDeviceMemoryProperties = (PFN_vkGetPhysicalDeviceMemoryProperties)load(context, "vkGetPhysicalDeviceMemoryProperties");
  136. vkGetPhysicalDeviceProperties = (PFN_vkGetPhysicalDeviceProperties)load(context, "vkGetPhysicalDeviceProperties");
  137. vkGetPhysicalDeviceQueueFamilyProperties = (PFN_vkGetPhysicalDeviceQueueFamilyProperties)load(context, "vkGetPhysicalDeviceQueueFamilyProperties");
  138. vkGetPhysicalDeviceSparseImageFormatProperties = (PFN_vkGetPhysicalDeviceSparseImageFormatProperties)load(context, "vkGetPhysicalDeviceSparseImageFormatProperties");
  139. #endif /* defined(VK_VERSION_1_0) */
  140. #if defined(VK_VERSION_1_1)
  141. vkEnumeratePhysicalDeviceGroups = (PFN_vkEnumeratePhysicalDeviceGroups)load(context, "vkEnumeratePhysicalDeviceGroups");
  142. vkGetPhysicalDeviceExternalBufferProperties = (PFN_vkGetPhysicalDeviceExternalBufferProperties)load(context, "vkGetPhysicalDeviceExternalBufferProperties");
  143. vkGetPhysicalDeviceExternalFenceProperties = (PFN_vkGetPhysicalDeviceExternalFenceProperties)load(context, "vkGetPhysicalDeviceExternalFenceProperties");
  144. vkGetPhysicalDeviceExternalSemaphoreProperties = (PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)load(context, "vkGetPhysicalDeviceExternalSemaphoreProperties");
  145. vkGetPhysicalDeviceFeatures2 = (PFN_vkGetPhysicalDeviceFeatures2)load(context, "vkGetPhysicalDeviceFeatures2");
  146. vkGetPhysicalDeviceFormatProperties2 = (PFN_vkGetPhysicalDeviceFormatProperties2)load(context, "vkGetPhysicalDeviceFormatProperties2");
  147. vkGetPhysicalDeviceImageFormatProperties2 = (PFN_vkGetPhysicalDeviceImageFormatProperties2)load(context, "vkGetPhysicalDeviceImageFormatProperties2");
  148. vkGetPhysicalDeviceMemoryProperties2 = (PFN_vkGetPhysicalDeviceMemoryProperties2)load(context, "vkGetPhysicalDeviceMemoryProperties2");
  149. vkGetPhysicalDeviceProperties2 = (PFN_vkGetPhysicalDeviceProperties2)load(context, "vkGetPhysicalDeviceProperties2");
  150. vkGetPhysicalDeviceQueueFamilyProperties2 = (PFN_vkGetPhysicalDeviceQueueFamilyProperties2)load(context, "vkGetPhysicalDeviceQueueFamilyProperties2");
  151. vkGetPhysicalDeviceSparseImageFormatProperties2 = (PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)load(context, "vkGetPhysicalDeviceSparseImageFormatProperties2");
  152. #endif /* defined(VK_VERSION_1_1) */
  153. #if defined(VK_EXT_acquire_xlib_display)
  154. vkAcquireXlibDisplayEXT = (PFN_vkAcquireXlibDisplayEXT)load(context, "vkAcquireXlibDisplayEXT");
  155. vkGetRandROutputDisplayEXT = (PFN_vkGetRandROutputDisplayEXT)load(context, "vkGetRandROutputDisplayEXT");
  156. #endif /* defined(VK_EXT_acquire_xlib_display) */
  157. #if defined(VK_EXT_calibrated_timestamps)
  158. vkGetPhysicalDeviceCalibrateableTimeDomainsEXT = (PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)load(context, "vkGetPhysicalDeviceCalibrateableTimeDomainsEXT");
  159. #endif /* defined(VK_EXT_calibrated_timestamps) */
  160. #if defined(VK_EXT_debug_report)
  161. vkCreateDebugReportCallbackEXT = (PFN_vkCreateDebugReportCallbackEXT)load(context, "vkCreateDebugReportCallbackEXT");
  162. vkDebugReportMessageEXT = (PFN_vkDebugReportMessageEXT)load(context, "vkDebugReportMessageEXT");
  163. vkDestroyDebugReportCallbackEXT = (PFN_vkDestroyDebugReportCallbackEXT)load(context, "vkDestroyDebugReportCallbackEXT");
  164. #endif /* defined(VK_EXT_debug_report) */
  165. #if defined(VK_EXT_debug_utils)
  166. vkCmdBeginDebugUtilsLabelEXT = (PFN_vkCmdBeginDebugUtilsLabelEXT)load(context, "vkCmdBeginDebugUtilsLabelEXT");
  167. vkCmdEndDebugUtilsLabelEXT = (PFN_vkCmdEndDebugUtilsLabelEXT)load(context, "vkCmdEndDebugUtilsLabelEXT");
  168. vkCmdInsertDebugUtilsLabelEXT = (PFN_vkCmdInsertDebugUtilsLabelEXT)load(context, "vkCmdInsertDebugUtilsLabelEXT");
  169. vkCreateDebugUtilsMessengerEXT = (PFN_vkCreateDebugUtilsMessengerEXT)load(context, "vkCreateDebugUtilsMessengerEXT");
  170. vkDestroyDebugUtilsMessengerEXT = (PFN_vkDestroyDebugUtilsMessengerEXT)load(context, "vkDestroyDebugUtilsMessengerEXT");
  171. vkQueueBeginDebugUtilsLabelEXT = (PFN_vkQueueBeginDebugUtilsLabelEXT)load(context, "vkQueueBeginDebugUtilsLabelEXT");
  172. vkQueueEndDebugUtilsLabelEXT = (PFN_vkQueueEndDebugUtilsLabelEXT)load(context, "vkQueueEndDebugUtilsLabelEXT");
  173. vkQueueInsertDebugUtilsLabelEXT = (PFN_vkQueueInsertDebugUtilsLabelEXT)load(context, "vkQueueInsertDebugUtilsLabelEXT");
  174. vkSetDebugUtilsObjectNameEXT = (PFN_vkSetDebugUtilsObjectNameEXT)load(context, "vkSetDebugUtilsObjectNameEXT");
  175. vkSetDebugUtilsObjectTagEXT = (PFN_vkSetDebugUtilsObjectTagEXT)load(context, "vkSetDebugUtilsObjectTagEXT");
  176. vkSubmitDebugUtilsMessageEXT = (PFN_vkSubmitDebugUtilsMessageEXT)load(context, "vkSubmitDebugUtilsMessageEXT");
  177. #endif /* defined(VK_EXT_debug_utils) */
  178. #if defined(VK_EXT_direct_mode_display)
  179. vkReleaseDisplayEXT = (PFN_vkReleaseDisplayEXT)load(context, "vkReleaseDisplayEXT");
  180. #endif /* defined(VK_EXT_direct_mode_display) */
  181. #if defined(VK_EXT_directfb_surface)
  182. vkCreateDirectFBSurfaceEXT = (PFN_vkCreateDirectFBSurfaceEXT)load(context, "vkCreateDirectFBSurfaceEXT");
  183. vkGetPhysicalDeviceDirectFBPresentationSupportEXT = (PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT)load(context, "vkGetPhysicalDeviceDirectFBPresentationSupportEXT");
  184. #endif /* defined(VK_EXT_directfb_surface) */
  185. #if defined(VK_EXT_display_surface_counter)
  186. vkGetPhysicalDeviceSurfaceCapabilities2EXT = (PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)load(context, "vkGetPhysicalDeviceSurfaceCapabilities2EXT");
  187. #endif /* defined(VK_EXT_display_surface_counter) */
  188. #if defined(VK_EXT_full_screen_exclusive)
  189. vkGetPhysicalDeviceSurfacePresentModes2EXT = (PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT)load(context, "vkGetPhysicalDeviceSurfacePresentModes2EXT");
  190. #endif /* defined(VK_EXT_full_screen_exclusive) */
  191. #if defined(VK_EXT_headless_surface)
  192. vkCreateHeadlessSurfaceEXT = (PFN_vkCreateHeadlessSurfaceEXT)load(context, "vkCreateHeadlessSurfaceEXT");
  193. #endif /* defined(VK_EXT_headless_surface) */
  194. #if defined(VK_EXT_metal_surface)
  195. vkCreateMetalSurfaceEXT = (PFN_vkCreateMetalSurfaceEXT)load(context, "vkCreateMetalSurfaceEXT");
  196. #endif /* defined(VK_EXT_metal_surface) */
  197. #if defined(VK_EXT_sample_locations)
  198. vkGetPhysicalDeviceMultisamplePropertiesEXT = (PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)load(context, "vkGetPhysicalDeviceMultisamplePropertiesEXT");
  199. #endif /* defined(VK_EXT_sample_locations) */
  200. #if defined(VK_EXT_tooling_info)
  201. vkGetPhysicalDeviceToolPropertiesEXT = (PFN_vkGetPhysicalDeviceToolPropertiesEXT)load(context, "vkGetPhysicalDeviceToolPropertiesEXT");
  202. #endif /* defined(VK_EXT_tooling_info) */
  203. #if defined(VK_FUCHSIA_imagepipe_surface)
  204. vkCreateImagePipeSurfaceFUCHSIA = (PFN_vkCreateImagePipeSurfaceFUCHSIA)load(context, "vkCreateImagePipeSurfaceFUCHSIA");
  205. #endif /* defined(VK_FUCHSIA_imagepipe_surface) */
  206. #if defined(VK_GGP_stream_descriptor_surface)
  207. vkCreateStreamDescriptorSurfaceGGP = (PFN_vkCreateStreamDescriptorSurfaceGGP)load(context, "vkCreateStreamDescriptorSurfaceGGP");
  208. #endif /* defined(VK_GGP_stream_descriptor_surface) */
  209. #if defined(VK_KHR_android_surface)
  210. vkCreateAndroidSurfaceKHR = (PFN_vkCreateAndroidSurfaceKHR)load(context, "vkCreateAndroidSurfaceKHR");
  211. #endif /* defined(VK_KHR_android_surface) */
  212. #if defined(VK_KHR_device_group_creation)
  213. vkEnumeratePhysicalDeviceGroupsKHR = (PFN_vkEnumeratePhysicalDeviceGroupsKHR)load(context, "vkEnumeratePhysicalDeviceGroupsKHR");
  214. #endif /* defined(VK_KHR_device_group_creation) */
  215. #if defined(VK_KHR_display)
  216. vkCreateDisplayModeKHR = (PFN_vkCreateDisplayModeKHR)load(context, "vkCreateDisplayModeKHR");
  217. vkCreateDisplayPlaneSurfaceKHR = (PFN_vkCreateDisplayPlaneSurfaceKHR)load(context, "vkCreateDisplayPlaneSurfaceKHR");
  218. vkGetDisplayModePropertiesKHR = (PFN_vkGetDisplayModePropertiesKHR)load(context, "vkGetDisplayModePropertiesKHR");
  219. vkGetDisplayPlaneCapabilitiesKHR = (PFN_vkGetDisplayPlaneCapabilitiesKHR)load(context, "vkGetDisplayPlaneCapabilitiesKHR");
  220. vkGetDisplayPlaneSupportedDisplaysKHR = (PFN_vkGetDisplayPlaneSupportedDisplaysKHR)load(context, "vkGetDisplayPlaneSupportedDisplaysKHR");
  221. vkGetPhysicalDeviceDisplayPlanePropertiesKHR = (PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)load(context, "vkGetPhysicalDeviceDisplayPlanePropertiesKHR");
  222. vkGetPhysicalDeviceDisplayPropertiesKHR = (PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)load(context, "vkGetPhysicalDeviceDisplayPropertiesKHR");
  223. #endif /* defined(VK_KHR_display) */
  224. #if defined(VK_KHR_external_fence_capabilities)
  225. vkGetPhysicalDeviceExternalFencePropertiesKHR = (PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)load(context, "vkGetPhysicalDeviceExternalFencePropertiesKHR");
  226. #endif /* defined(VK_KHR_external_fence_capabilities) */
  227. #if defined(VK_KHR_external_memory_capabilities)
  228. vkGetPhysicalDeviceExternalBufferPropertiesKHR = (PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)load(context, "vkGetPhysicalDeviceExternalBufferPropertiesKHR");
  229. #endif /* defined(VK_KHR_external_memory_capabilities) */
  230. #if defined(VK_KHR_external_semaphore_capabilities)
  231. vkGetPhysicalDeviceExternalSemaphorePropertiesKHR = (PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)load(context, "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR");
  232. #endif /* defined(VK_KHR_external_semaphore_capabilities) */
  233. #if defined(VK_KHR_fragment_shading_rate)
  234. vkGetPhysicalDeviceFragmentShadingRatesKHR = (PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR)load(context, "vkGetPhysicalDeviceFragmentShadingRatesKHR");
  235. #endif /* defined(VK_KHR_fragment_shading_rate) */
  236. #if defined(VK_KHR_get_display_properties2)
  237. vkGetDisplayModeProperties2KHR = (PFN_vkGetDisplayModeProperties2KHR)load(context, "vkGetDisplayModeProperties2KHR");
  238. vkGetDisplayPlaneCapabilities2KHR = (PFN_vkGetDisplayPlaneCapabilities2KHR)load(context, "vkGetDisplayPlaneCapabilities2KHR");
  239. vkGetPhysicalDeviceDisplayPlaneProperties2KHR = (PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR)load(context, "vkGetPhysicalDeviceDisplayPlaneProperties2KHR");
  240. vkGetPhysicalDeviceDisplayProperties2KHR = (PFN_vkGetPhysicalDeviceDisplayProperties2KHR)load(context, "vkGetPhysicalDeviceDisplayProperties2KHR");
  241. #endif /* defined(VK_KHR_get_display_properties2) */
  242. #if defined(VK_KHR_get_physical_device_properties2)
  243. vkGetPhysicalDeviceFeatures2KHR = (PFN_vkGetPhysicalDeviceFeatures2KHR)load(context, "vkGetPhysicalDeviceFeatures2KHR");
  244. vkGetPhysicalDeviceFormatProperties2KHR = (PFN_vkGetPhysicalDeviceFormatProperties2KHR)load(context, "vkGetPhysicalDeviceFormatProperties2KHR");
  245. vkGetPhysicalDeviceImageFormatProperties2KHR = (PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)load(context, "vkGetPhysicalDeviceImageFormatProperties2KHR");
  246. vkGetPhysicalDeviceMemoryProperties2KHR = (PFN_vkGetPhysicalDeviceMemoryProperties2KHR)load(context, "vkGetPhysicalDeviceMemoryProperties2KHR");
  247. vkGetPhysicalDeviceProperties2KHR = (PFN_vkGetPhysicalDeviceProperties2KHR)load(context, "vkGetPhysicalDeviceProperties2KHR");
  248. vkGetPhysicalDeviceQueueFamilyProperties2KHR = (PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)load(context, "vkGetPhysicalDeviceQueueFamilyProperties2KHR");
  249. vkGetPhysicalDeviceSparseImageFormatProperties2KHR = (PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)load(context, "vkGetPhysicalDeviceSparseImageFormatProperties2KHR");
  250. #endif /* defined(VK_KHR_get_physical_device_properties2) */
  251. #if defined(VK_KHR_get_surface_capabilities2)
  252. vkGetPhysicalDeviceSurfaceCapabilities2KHR = (PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)load(context, "vkGetPhysicalDeviceSurfaceCapabilities2KHR");
  253. vkGetPhysicalDeviceSurfaceFormats2KHR = (PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)load(context, "vkGetPhysicalDeviceSurfaceFormats2KHR");
  254. #endif /* defined(VK_KHR_get_surface_capabilities2) */
  255. #if defined(VK_KHR_performance_query)
  256. vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = (PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR)load(context, "vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR");
  257. vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR = (PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR)load(context, "vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR");
  258. #endif /* defined(VK_KHR_performance_query) */
  259. #if defined(VK_KHR_surface)
  260. vkDestroySurfaceKHR = (PFN_vkDestroySurfaceKHR)load(context, "vkDestroySurfaceKHR");
  261. vkGetPhysicalDeviceSurfaceCapabilitiesKHR = (PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)load(context, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR");
  262. vkGetPhysicalDeviceSurfaceFormatsKHR = (PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)load(context, "vkGetPhysicalDeviceSurfaceFormatsKHR");
  263. vkGetPhysicalDeviceSurfacePresentModesKHR = (PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)load(context, "vkGetPhysicalDeviceSurfacePresentModesKHR");
  264. vkGetPhysicalDeviceSurfaceSupportKHR = (PFN_vkGetPhysicalDeviceSurfaceSupportKHR)load(context, "vkGetPhysicalDeviceSurfaceSupportKHR");
  265. #endif /* defined(VK_KHR_surface) */
  266. #if defined(VK_KHR_wayland_surface)
  267. vkCreateWaylandSurfaceKHR = (PFN_vkCreateWaylandSurfaceKHR)load(context, "vkCreateWaylandSurfaceKHR");
  268. vkGetPhysicalDeviceWaylandPresentationSupportKHR = (PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR)load(context, "vkGetPhysicalDeviceWaylandPresentationSupportKHR");
  269. #endif /* defined(VK_KHR_wayland_surface) */
  270. #if defined(VK_KHR_win32_surface)
  271. vkCreateWin32SurfaceKHR = (PFN_vkCreateWin32SurfaceKHR)load(context, "vkCreateWin32SurfaceKHR");
  272. vkGetPhysicalDeviceWin32PresentationSupportKHR = (PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR)load(context, "vkGetPhysicalDeviceWin32PresentationSupportKHR");
  273. #endif /* defined(VK_KHR_win32_surface) */
  274. #if defined(VK_KHR_xcb_surface)
  275. vkCreateXcbSurfaceKHR = (PFN_vkCreateXcbSurfaceKHR)load(context, "vkCreateXcbSurfaceKHR");
  276. vkGetPhysicalDeviceXcbPresentationSupportKHR = (PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR)load(context, "vkGetPhysicalDeviceXcbPresentationSupportKHR");
  277. #endif /* defined(VK_KHR_xcb_surface) */
  278. #if defined(VK_KHR_xlib_surface)
  279. vkCreateXlibSurfaceKHR = (PFN_vkCreateXlibSurfaceKHR)load(context, "vkCreateXlibSurfaceKHR");
  280. vkGetPhysicalDeviceXlibPresentationSupportKHR = (PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR)load(context, "vkGetPhysicalDeviceXlibPresentationSupportKHR");
  281. #endif /* defined(VK_KHR_xlib_surface) */
  282. #if defined(VK_MVK_ios_surface)
  283. vkCreateIOSSurfaceMVK = (PFN_vkCreateIOSSurfaceMVK)load(context, "vkCreateIOSSurfaceMVK");
  284. #endif /* defined(VK_MVK_ios_surface) */
  285. #if defined(VK_MVK_macos_surface)
  286. vkCreateMacOSSurfaceMVK = (PFN_vkCreateMacOSSurfaceMVK)load(context, "vkCreateMacOSSurfaceMVK");
  287. #endif /* defined(VK_MVK_macos_surface) */
  288. #if defined(VK_NN_vi_surface)
  289. vkCreateViSurfaceNN = (PFN_vkCreateViSurfaceNN)load(context, "vkCreateViSurfaceNN");
  290. #endif /* defined(VK_NN_vi_surface) */
  291. #if defined(VK_NV_acquire_winrt_display)
  292. vkAcquireWinrtDisplayNV = (PFN_vkAcquireWinrtDisplayNV)load(context, "vkAcquireWinrtDisplayNV");
  293. vkGetWinrtDisplayNV = (PFN_vkGetWinrtDisplayNV)load(context, "vkGetWinrtDisplayNV");
  294. #endif /* defined(VK_NV_acquire_winrt_display) */
  295. #if defined(VK_NV_cooperative_matrix)
  296. vkGetPhysicalDeviceCooperativeMatrixPropertiesNV = (PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV)load(context, "vkGetPhysicalDeviceCooperativeMatrixPropertiesNV");
  297. #endif /* defined(VK_NV_cooperative_matrix) */
  298. #if defined(VK_NV_coverage_reduction_mode)
  299. vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV = (PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV)load(context, "vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV");
  300. #endif /* defined(VK_NV_coverage_reduction_mode) */
  301. #if defined(VK_NV_external_memory_capabilities)
  302. vkGetPhysicalDeviceExternalImageFormatPropertiesNV = (PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)load(context, "vkGetPhysicalDeviceExternalImageFormatPropertiesNV");
  303. #endif /* defined(VK_NV_external_memory_capabilities) */
  304. #if (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1))
  305. vkGetPhysicalDevicePresentRectanglesKHR = (PFN_vkGetPhysicalDevicePresentRectanglesKHR)load(context, "vkGetPhysicalDevicePresentRectanglesKHR");
  306. #endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */
  307. /* VOLK_GENERATE_LOAD_INSTANCE */
  308. }
  309. static void volkGenLoadDevice(void* context, PFN_vkVoidFunction (*load)(void*, const char*))
  310. {
  311. /* VOLK_GENERATE_LOAD_DEVICE */
  312. #if defined(VK_VERSION_1_0)
  313. vkAllocateCommandBuffers = (PFN_vkAllocateCommandBuffers)load(context, "vkAllocateCommandBuffers");
  314. vkAllocateDescriptorSets = (PFN_vkAllocateDescriptorSets)load(context, "vkAllocateDescriptorSets");
  315. vkAllocateMemory = (PFN_vkAllocateMemory)load(context, "vkAllocateMemory");
  316. vkBeginCommandBuffer = (PFN_vkBeginCommandBuffer)load(context, "vkBeginCommandBuffer");
  317. vkBindBufferMemory = (PFN_vkBindBufferMemory)load(context, "vkBindBufferMemory");
  318. vkBindImageMemory = (PFN_vkBindImageMemory)load(context, "vkBindImageMemory");
  319. vkCmdBeginQuery = (PFN_vkCmdBeginQuery)load(context, "vkCmdBeginQuery");
  320. vkCmdBeginRenderPass = (PFN_vkCmdBeginRenderPass)load(context, "vkCmdBeginRenderPass");
  321. vkCmdBindDescriptorSets = (PFN_vkCmdBindDescriptorSets)load(context, "vkCmdBindDescriptorSets");
  322. vkCmdBindIndexBuffer = (PFN_vkCmdBindIndexBuffer)load(context, "vkCmdBindIndexBuffer");
  323. vkCmdBindPipeline = (PFN_vkCmdBindPipeline)load(context, "vkCmdBindPipeline");
  324. vkCmdBindVertexBuffers = (PFN_vkCmdBindVertexBuffers)load(context, "vkCmdBindVertexBuffers");
  325. vkCmdBlitImage = (PFN_vkCmdBlitImage)load(context, "vkCmdBlitImage");
  326. vkCmdClearAttachments = (PFN_vkCmdClearAttachments)load(context, "vkCmdClearAttachments");
  327. vkCmdClearColorImage = (PFN_vkCmdClearColorImage)load(context, "vkCmdClearColorImage");
  328. vkCmdClearDepthStencilImage = (PFN_vkCmdClearDepthStencilImage)load(context, "vkCmdClearDepthStencilImage");
  329. vkCmdCopyBuffer = (PFN_vkCmdCopyBuffer)load(context, "vkCmdCopyBuffer");
  330. vkCmdCopyBufferToImage = (PFN_vkCmdCopyBufferToImage)load(context, "vkCmdCopyBufferToImage");
  331. vkCmdCopyImage = (PFN_vkCmdCopyImage)load(context, "vkCmdCopyImage");
  332. vkCmdCopyImageToBuffer = (PFN_vkCmdCopyImageToBuffer)load(context, "vkCmdCopyImageToBuffer");
  333. vkCmdCopyQueryPoolResults = (PFN_vkCmdCopyQueryPoolResults)load(context, "vkCmdCopyQueryPoolResults");
  334. vkCmdDispatch = (PFN_vkCmdDispatch)load(context, "vkCmdDispatch");
  335. vkCmdDispatchIndirect = (PFN_vkCmdDispatchIndirect)load(context, "vkCmdDispatchIndirect");
  336. vkCmdDraw = (PFN_vkCmdDraw)load(context, "vkCmdDraw");
  337. vkCmdDrawIndexed = (PFN_vkCmdDrawIndexed)load(context, "vkCmdDrawIndexed");
  338. vkCmdDrawIndexedIndirect = (PFN_vkCmdDrawIndexedIndirect)load(context, "vkCmdDrawIndexedIndirect");
  339. vkCmdDrawIndirect = (PFN_vkCmdDrawIndirect)load(context, "vkCmdDrawIndirect");
  340. vkCmdEndQuery = (PFN_vkCmdEndQuery)load(context, "vkCmdEndQuery");
  341. vkCmdEndRenderPass = (PFN_vkCmdEndRenderPass)load(context, "vkCmdEndRenderPass");
  342. vkCmdExecuteCommands = (PFN_vkCmdExecuteCommands)load(context, "vkCmdExecuteCommands");
  343. vkCmdFillBuffer = (PFN_vkCmdFillBuffer)load(context, "vkCmdFillBuffer");
  344. vkCmdNextSubpass = (PFN_vkCmdNextSubpass)load(context, "vkCmdNextSubpass");
  345. vkCmdPipelineBarrier = (PFN_vkCmdPipelineBarrier)load(context, "vkCmdPipelineBarrier");
  346. vkCmdPushConstants = (PFN_vkCmdPushConstants)load(context, "vkCmdPushConstants");
  347. vkCmdResetEvent = (PFN_vkCmdResetEvent)load(context, "vkCmdResetEvent");
  348. vkCmdResetQueryPool = (PFN_vkCmdResetQueryPool)load(context, "vkCmdResetQueryPool");
  349. vkCmdResolveImage = (PFN_vkCmdResolveImage)load(context, "vkCmdResolveImage");
  350. vkCmdSetBlendConstants = (PFN_vkCmdSetBlendConstants)load(context, "vkCmdSetBlendConstants");
  351. vkCmdSetDepthBias = (PFN_vkCmdSetDepthBias)load(context, "vkCmdSetDepthBias");
  352. vkCmdSetDepthBounds = (PFN_vkCmdSetDepthBounds)load(context, "vkCmdSetDepthBounds");
  353. vkCmdSetEvent = (PFN_vkCmdSetEvent)load(context, "vkCmdSetEvent");
  354. vkCmdSetLineWidth = (PFN_vkCmdSetLineWidth)load(context, "vkCmdSetLineWidth");
  355. vkCmdSetScissor = (PFN_vkCmdSetScissor)load(context, "vkCmdSetScissor");
  356. vkCmdSetStencilCompareMask = (PFN_vkCmdSetStencilCompareMask)load(context, "vkCmdSetStencilCompareMask");
  357. vkCmdSetStencilReference = (PFN_vkCmdSetStencilReference)load(context, "vkCmdSetStencilReference");
  358. vkCmdSetStencilWriteMask = (PFN_vkCmdSetStencilWriteMask)load(context, "vkCmdSetStencilWriteMask");
  359. vkCmdSetViewport = (PFN_vkCmdSetViewport)load(context, "vkCmdSetViewport");
  360. vkCmdUpdateBuffer = (PFN_vkCmdUpdateBuffer)load(context, "vkCmdUpdateBuffer");
  361. vkCmdWaitEvents = (PFN_vkCmdWaitEvents)load(context, "vkCmdWaitEvents");
  362. vkCmdWriteTimestamp = (PFN_vkCmdWriteTimestamp)load(context, "vkCmdWriteTimestamp");
  363. vkCreateBuffer = (PFN_vkCreateBuffer)load(context, "vkCreateBuffer");
  364. vkCreateBufferView = (PFN_vkCreateBufferView)load(context, "vkCreateBufferView");
  365. vkCreateCommandPool = (PFN_vkCreateCommandPool)load(context, "vkCreateCommandPool");
  366. vkCreateComputePipelines = (PFN_vkCreateComputePipelines)load(context, "vkCreateComputePipelines");
  367. vkCreateDescriptorPool = (PFN_vkCreateDescriptorPool)load(context, "vkCreateDescriptorPool");
  368. vkCreateDescriptorSetLayout = (PFN_vkCreateDescriptorSetLayout)load(context, "vkCreateDescriptorSetLayout");
  369. vkCreateEvent = (PFN_vkCreateEvent)load(context, "vkCreateEvent");
  370. vkCreateFence = (PFN_vkCreateFence)load(context, "vkCreateFence");
  371. vkCreateFramebuffer = (PFN_vkCreateFramebuffer)load(context, "vkCreateFramebuffer");
  372. vkCreateGraphicsPipelines = (PFN_vkCreateGraphicsPipelines)load(context, "vkCreateGraphicsPipelines");
  373. vkCreateImage = (PFN_vkCreateImage)load(context, "vkCreateImage");
  374. vkCreateImageView = (PFN_vkCreateImageView)load(context, "vkCreateImageView");
  375. vkCreatePipelineCache = (PFN_vkCreatePipelineCache)load(context, "vkCreatePipelineCache");
  376. vkCreatePipelineLayout = (PFN_vkCreatePipelineLayout)load(context, "vkCreatePipelineLayout");
  377. vkCreateQueryPool = (PFN_vkCreateQueryPool)load(context, "vkCreateQueryPool");
  378. vkCreateRenderPass = (PFN_vkCreateRenderPass)load(context, "vkCreateRenderPass");
  379. vkCreateSampler = (PFN_vkCreateSampler)load(context, "vkCreateSampler");
  380. vkCreateSemaphore = (PFN_vkCreateSemaphore)load(context, "vkCreateSemaphore");
  381. vkCreateShaderModule = (PFN_vkCreateShaderModule)load(context, "vkCreateShaderModule");
  382. vkDestroyBuffer = (PFN_vkDestroyBuffer)load(context, "vkDestroyBuffer");
  383. vkDestroyBufferView = (PFN_vkDestroyBufferView)load(context, "vkDestroyBufferView");
  384. vkDestroyCommandPool = (PFN_vkDestroyCommandPool)load(context, "vkDestroyCommandPool");
  385. vkDestroyDescriptorPool = (PFN_vkDestroyDescriptorPool)load(context, "vkDestroyDescriptorPool");
  386. vkDestroyDescriptorSetLayout = (PFN_vkDestroyDescriptorSetLayout)load(context, "vkDestroyDescriptorSetLayout");
  387. vkDestroyDevice = (PFN_vkDestroyDevice)load(context, "vkDestroyDevice");
  388. vkDestroyEvent = (PFN_vkDestroyEvent)load(context, "vkDestroyEvent");
  389. vkDestroyFence = (PFN_vkDestroyFence)load(context, "vkDestroyFence");
  390. vkDestroyFramebuffer = (PFN_vkDestroyFramebuffer)load(context, "vkDestroyFramebuffer");
  391. vkDestroyImage = (PFN_vkDestroyImage)load(context, "vkDestroyImage");
  392. vkDestroyImageView = (PFN_vkDestroyImageView)load(context, "vkDestroyImageView");
  393. vkDestroyPipeline = (PFN_vkDestroyPipeline)load(context, "vkDestroyPipeline");
  394. vkDestroyPipelineCache = (PFN_vkDestroyPipelineCache)load(context, "vkDestroyPipelineCache");
  395. vkDestroyPipelineLayout = (PFN_vkDestroyPipelineLayout)load(context, "vkDestroyPipelineLayout");
  396. vkDestroyQueryPool = (PFN_vkDestroyQueryPool)load(context, "vkDestroyQueryPool");
  397. vkDestroyRenderPass = (PFN_vkDestroyRenderPass)load(context, "vkDestroyRenderPass");
  398. vkDestroySampler = (PFN_vkDestroySampler)load(context, "vkDestroySampler");
  399. vkDestroySemaphore = (PFN_vkDestroySemaphore)load(context, "vkDestroySemaphore");
  400. vkDestroyShaderModule = (PFN_vkDestroyShaderModule)load(context, "vkDestroyShaderModule");
  401. vkDeviceWaitIdle = (PFN_vkDeviceWaitIdle)load(context, "vkDeviceWaitIdle");
  402. vkEndCommandBuffer = (PFN_vkEndCommandBuffer)load(context, "vkEndCommandBuffer");
  403. vkFlushMappedMemoryRanges = (PFN_vkFlushMappedMemoryRanges)load(context, "vkFlushMappedMemoryRanges");
  404. vkFreeCommandBuffers = (PFN_vkFreeCommandBuffers)load(context, "vkFreeCommandBuffers");
  405. vkFreeDescriptorSets = (PFN_vkFreeDescriptorSets)load(context, "vkFreeDescriptorSets");
  406. vkFreeMemory = (PFN_vkFreeMemory)load(context, "vkFreeMemory");
  407. vkGetBufferMemoryRequirements = (PFN_vkGetBufferMemoryRequirements)load(context, "vkGetBufferMemoryRequirements");
  408. vkGetDeviceMemoryCommitment = (PFN_vkGetDeviceMemoryCommitment)load(context, "vkGetDeviceMemoryCommitment");
  409. vkGetDeviceQueue = (PFN_vkGetDeviceQueue)load(context, "vkGetDeviceQueue");
  410. vkGetEventStatus = (PFN_vkGetEventStatus)load(context, "vkGetEventStatus");
  411. vkGetFenceStatus = (PFN_vkGetFenceStatus)load(context, "vkGetFenceStatus");
  412. vkGetImageMemoryRequirements = (PFN_vkGetImageMemoryRequirements)load(context, "vkGetImageMemoryRequirements");
  413. vkGetImageSparseMemoryRequirements = (PFN_vkGetImageSparseMemoryRequirements)load(context, "vkGetImageSparseMemoryRequirements");
  414. vkGetImageSubresourceLayout = (PFN_vkGetImageSubresourceLayout)load(context, "vkGetImageSubresourceLayout");
  415. vkGetPipelineCacheData = (PFN_vkGetPipelineCacheData)load(context, "vkGetPipelineCacheData");
  416. vkGetQueryPoolResults = (PFN_vkGetQueryPoolResults)load(context, "vkGetQueryPoolResults");
  417. vkGetRenderAreaGranularity = (PFN_vkGetRenderAreaGranularity)load(context, "vkGetRenderAreaGranularity");
  418. vkInvalidateMappedMemoryRanges = (PFN_vkInvalidateMappedMemoryRanges)load(context, "vkInvalidateMappedMemoryRanges");
  419. vkMapMemory = (PFN_vkMapMemory)load(context, "vkMapMemory");
  420. vkMergePipelineCaches = (PFN_vkMergePipelineCaches)load(context, "vkMergePipelineCaches");
  421. vkQueueBindSparse = (PFN_vkQueueBindSparse)load(context, "vkQueueBindSparse");
  422. vkQueueSubmit = (PFN_vkQueueSubmit)load(context, "vkQueueSubmit");
  423. vkQueueWaitIdle = (PFN_vkQueueWaitIdle)load(context, "vkQueueWaitIdle");
  424. vkResetCommandBuffer = (PFN_vkResetCommandBuffer)load(context, "vkResetCommandBuffer");
  425. vkResetCommandPool = (PFN_vkResetCommandPool)load(context, "vkResetCommandPool");
  426. vkResetDescriptorPool = (PFN_vkResetDescriptorPool)load(context, "vkResetDescriptorPool");
  427. vkResetEvent = (PFN_vkResetEvent)load(context, "vkResetEvent");
  428. vkResetFences = (PFN_vkResetFences)load(context, "vkResetFences");
  429. vkSetEvent = (PFN_vkSetEvent)load(context, "vkSetEvent");
  430. vkUnmapMemory = (PFN_vkUnmapMemory)load(context, "vkUnmapMemory");
  431. vkUpdateDescriptorSets = (PFN_vkUpdateDescriptorSets)load(context, "vkUpdateDescriptorSets");
  432. vkWaitForFences = (PFN_vkWaitForFences)load(context, "vkWaitForFences");
  433. #endif /* defined(VK_VERSION_1_0) */
  434. #if defined(VK_VERSION_1_1)
  435. vkBindBufferMemory2 = (PFN_vkBindBufferMemory2)load(context, "vkBindBufferMemory2");
  436. vkBindImageMemory2 = (PFN_vkBindImageMemory2)load(context, "vkBindImageMemory2");
  437. vkCmdDispatchBase = (PFN_vkCmdDispatchBase)load(context, "vkCmdDispatchBase");
  438. vkCmdSetDeviceMask = (PFN_vkCmdSetDeviceMask)load(context, "vkCmdSetDeviceMask");
  439. vkCreateDescriptorUpdateTemplate = (PFN_vkCreateDescriptorUpdateTemplate)load(context, "vkCreateDescriptorUpdateTemplate");
  440. vkCreateSamplerYcbcrConversion = (PFN_vkCreateSamplerYcbcrConversion)load(context, "vkCreateSamplerYcbcrConversion");
  441. vkDestroyDescriptorUpdateTemplate = (PFN_vkDestroyDescriptorUpdateTemplate)load(context, "vkDestroyDescriptorUpdateTemplate");
  442. vkDestroySamplerYcbcrConversion = (PFN_vkDestroySamplerYcbcrConversion)load(context, "vkDestroySamplerYcbcrConversion");
  443. vkGetBufferMemoryRequirements2 = (PFN_vkGetBufferMemoryRequirements2)load(context, "vkGetBufferMemoryRequirements2");
  444. vkGetDescriptorSetLayoutSupport = (PFN_vkGetDescriptorSetLayoutSupport)load(context, "vkGetDescriptorSetLayoutSupport");
  445. vkGetDeviceGroupPeerMemoryFeatures = (PFN_vkGetDeviceGroupPeerMemoryFeatures)load(context, "vkGetDeviceGroupPeerMemoryFeatures");
  446. vkGetDeviceQueue2 = (PFN_vkGetDeviceQueue2)load(context, "vkGetDeviceQueue2");
  447. vkGetImageMemoryRequirements2 = (PFN_vkGetImageMemoryRequirements2)load(context, "vkGetImageMemoryRequirements2");
  448. vkGetImageSparseMemoryRequirements2 = (PFN_vkGetImageSparseMemoryRequirements2)load(context, "vkGetImageSparseMemoryRequirements2");
  449. vkTrimCommandPool = (PFN_vkTrimCommandPool)load(context, "vkTrimCommandPool");
  450. vkUpdateDescriptorSetWithTemplate = (PFN_vkUpdateDescriptorSetWithTemplate)load(context, "vkUpdateDescriptorSetWithTemplate");
  451. #endif /* defined(VK_VERSION_1_1) */
  452. #if defined(VK_VERSION_1_2)
  453. vkCmdBeginRenderPass2 = (PFN_vkCmdBeginRenderPass2)load(context, "vkCmdBeginRenderPass2");
  454. vkCmdDrawIndexedIndirectCount = (PFN_vkCmdDrawIndexedIndirectCount)load(context, "vkCmdDrawIndexedIndirectCount");
  455. vkCmdDrawIndirectCount = (PFN_vkCmdDrawIndirectCount)load(context, "vkCmdDrawIndirectCount");
  456. vkCmdEndRenderPass2 = (PFN_vkCmdEndRenderPass2)load(context, "vkCmdEndRenderPass2");
  457. vkCmdNextSubpass2 = (PFN_vkCmdNextSubpass2)load(context, "vkCmdNextSubpass2");
  458. vkCreateRenderPass2 = (PFN_vkCreateRenderPass2)load(context, "vkCreateRenderPass2");
  459. vkGetBufferDeviceAddress = (PFN_vkGetBufferDeviceAddress)load(context, "vkGetBufferDeviceAddress");
  460. vkGetBufferOpaqueCaptureAddress = (PFN_vkGetBufferOpaqueCaptureAddress)load(context, "vkGetBufferOpaqueCaptureAddress");
  461. vkGetDeviceMemoryOpaqueCaptureAddress = (PFN_vkGetDeviceMemoryOpaqueCaptureAddress)load(context, "vkGetDeviceMemoryOpaqueCaptureAddress");
  462. vkGetSemaphoreCounterValue = (PFN_vkGetSemaphoreCounterValue)load(context, "vkGetSemaphoreCounterValue");
  463. vkResetQueryPool = (PFN_vkResetQueryPool)load(context, "vkResetQueryPool");
  464. vkSignalSemaphore = (PFN_vkSignalSemaphore)load(context, "vkSignalSemaphore");
  465. vkWaitSemaphores = (PFN_vkWaitSemaphores)load(context, "vkWaitSemaphores");
  466. #endif /* defined(VK_VERSION_1_2) */
  467. #if defined(VK_AMD_buffer_marker)
  468. vkCmdWriteBufferMarkerAMD = (PFN_vkCmdWriteBufferMarkerAMD)load(context, "vkCmdWriteBufferMarkerAMD");
  469. #endif /* defined(VK_AMD_buffer_marker) */
  470. #if defined(VK_AMD_display_native_hdr)
  471. vkSetLocalDimmingAMD = (PFN_vkSetLocalDimmingAMD)load(context, "vkSetLocalDimmingAMD");
  472. #endif /* defined(VK_AMD_display_native_hdr) */
  473. #if defined(VK_AMD_draw_indirect_count)
  474. vkCmdDrawIndexedIndirectCountAMD = (PFN_vkCmdDrawIndexedIndirectCountAMD)load(context, "vkCmdDrawIndexedIndirectCountAMD");
  475. vkCmdDrawIndirectCountAMD = (PFN_vkCmdDrawIndirectCountAMD)load(context, "vkCmdDrawIndirectCountAMD");
  476. #endif /* defined(VK_AMD_draw_indirect_count) */
  477. #if defined(VK_AMD_shader_info)
  478. vkGetShaderInfoAMD = (PFN_vkGetShaderInfoAMD)load(context, "vkGetShaderInfoAMD");
  479. #endif /* defined(VK_AMD_shader_info) */
  480. #if defined(VK_ANDROID_external_memory_android_hardware_buffer)
  481. vkGetAndroidHardwareBufferPropertiesANDROID = (PFN_vkGetAndroidHardwareBufferPropertiesANDROID)load(context, "vkGetAndroidHardwareBufferPropertiesANDROID");
  482. vkGetMemoryAndroidHardwareBufferANDROID = (PFN_vkGetMemoryAndroidHardwareBufferANDROID)load(context, "vkGetMemoryAndroidHardwareBufferANDROID");
  483. #endif /* defined(VK_ANDROID_external_memory_android_hardware_buffer) */
  484. #if defined(VK_EXT_buffer_device_address)
  485. vkGetBufferDeviceAddressEXT = (PFN_vkGetBufferDeviceAddressEXT)load(context, "vkGetBufferDeviceAddressEXT");
  486. #endif /* defined(VK_EXT_buffer_device_address) */
  487. #if defined(VK_EXT_calibrated_timestamps)
  488. vkGetCalibratedTimestampsEXT = (PFN_vkGetCalibratedTimestampsEXT)load(context, "vkGetCalibratedTimestampsEXT");
  489. #endif /* defined(VK_EXT_calibrated_timestamps) */
  490. #if defined(VK_EXT_conditional_rendering)
  491. vkCmdBeginConditionalRenderingEXT = (PFN_vkCmdBeginConditionalRenderingEXT)load(context, "vkCmdBeginConditionalRenderingEXT");
  492. vkCmdEndConditionalRenderingEXT = (PFN_vkCmdEndConditionalRenderingEXT)load(context, "vkCmdEndConditionalRenderingEXT");
  493. #endif /* defined(VK_EXT_conditional_rendering) */
  494. #if defined(VK_EXT_debug_marker)
  495. vkCmdDebugMarkerBeginEXT = (PFN_vkCmdDebugMarkerBeginEXT)load(context, "vkCmdDebugMarkerBeginEXT");
  496. vkCmdDebugMarkerEndEXT = (PFN_vkCmdDebugMarkerEndEXT)load(context, "vkCmdDebugMarkerEndEXT");
  497. vkCmdDebugMarkerInsertEXT = (PFN_vkCmdDebugMarkerInsertEXT)load(context, "vkCmdDebugMarkerInsertEXT");
  498. vkDebugMarkerSetObjectNameEXT = (PFN_vkDebugMarkerSetObjectNameEXT)load(context, "vkDebugMarkerSetObjectNameEXT");
  499. vkDebugMarkerSetObjectTagEXT = (PFN_vkDebugMarkerSetObjectTagEXT)load(context, "vkDebugMarkerSetObjectTagEXT");
  500. #endif /* defined(VK_EXT_debug_marker) */
  501. #if defined(VK_EXT_discard_rectangles)
  502. vkCmdSetDiscardRectangleEXT = (PFN_vkCmdSetDiscardRectangleEXT)load(context, "vkCmdSetDiscardRectangleEXT");
  503. #endif /* defined(VK_EXT_discard_rectangles) */
  504. #if defined(VK_EXT_display_control)
  505. vkDisplayPowerControlEXT = (PFN_vkDisplayPowerControlEXT)load(context, "vkDisplayPowerControlEXT");
  506. vkGetSwapchainCounterEXT = (PFN_vkGetSwapchainCounterEXT)load(context, "vkGetSwapchainCounterEXT");
  507. vkRegisterDeviceEventEXT = (PFN_vkRegisterDeviceEventEXT)load(context, "vkRegisterDeviceEventEXT");
  508. vkRegisterDisplayEventEXT = (PFN_vkRegisterDisplayEventEXT)load(context, "vkRegisterDisplayEventEXT");
  509. #endif /* defined(VK_EXT_display_control) */
  510. #if defined(VK_EXT_extended_dynamic_state)
  511. vkCmdBindVertexBuffers2EXT = (PFN_vkCmdBindVertexBuffers2EXT)load(context, "vkCmdBindVertexBuffers2EXT");
  512. vkCmdSetCullModeEXT = (PFN_vkCmdSetCullModeEXT)load(context, "vkCmdSetCullModeEXT");
  513. vkCmdSetDepthBoundsTestEnableEXT = (PFN_vkCmdSetDepthBoundsTestEnableEXT)load(context, "vkCmdSetDepthBoundsTestEnableEXT");
  514. vkCmdSetDepthCompareOpEXT = (PFN_vkCmdSetDepthCompareOpEXT)load(context, "vkCmdSetDepthCompareOpEXT");
  515. vkCmdSetDepthTestEnableEXT = (PFN_vkCmdSetDepthTestEnableEXT)load(context, "vkCmdSetDepthTestEnableEXT");
  516. vkCmdSetDepthWriteEnableEXT = (PFN_vkCmdSetDepthWriteEnableEXT)load(context, "vkCmdSetDepthWriteEnableEXT");
  517. vkCmdSetFrontFaceEXT = (PFN_vkCmdSetFrontFaceEXT)load(context, "vkCmdSetFrontFaceEXT");
  518. vkCmdSetPrimitiveTopologyEXT = (PFN_vkCmdSetPrimitiveTopologyEXT)load(context, "vkCmdSetPrimitiveTopologyEXT");
  519. vkCmdSetScissorWithCountEXT = (PFN_vkCmdSetScissorWithCountEXT)load(context, "vkCmdSetScissorWithCountEXT");
  520. vkCmdSetStencilOpEXT = (PFN_vkCmdSetStencilOpEXT)load(context, "vkCmdSetStencilOpEXT");
  521. vkCmdSetStencilTestEnableEXT = (PFN_vkCmdSetStencilTestEnableEXT)load(context, "vkCmdSetStencilTestEnableEXT");
  522. vkCmdSetViewportWithCountEXT = (PFN_vkCmdSetViewportWithCountEXT)load(context, "vkCmdSetViewportWithCountEXT");
  523. #endif /* defined(VK_EXT_extended_dynamic_state) */
  524. #if defined(VK_EXT_external_memory_host)
  525. vkGetMemoryHostPointerPropertiesEXT = (PFN_vkGetMemoryHostPointerPropertiesEXT)load(context, "vkGetMemoryHostPointerPropertiesEXT");
  526. #endif /* defined(VK_EXT_external_memory_host) */
  527. #if defined(VK_EXT_full_screen_exclusive)
  528. vkAcquireFullScreenExclusiveModeEXT = (PFN_vkAcquireFullScreenExclusiveModeEXT)load(context, "vkAcquireFullScreenExclusiveModeEXT");
  529. vkReleaseFullScreenExclusiveModeEXT = (PFN_vkReleaseFullScreenExclusiveModeEXT)load(context, "vkReleaseFullScreenExclusiveModeEXT");
  530. #endif /* defined(VK_EXT_full_screen_exclusive) */
  531. #if defined(VK_EXT_hdr_metadata)
  532. vkSetHdrMetadataEXT = (PFN_vkSetHdrMetadataEXT)load(context, "vkSetHdrMetadataEXT");
  533. #endif /* defined(VK_EXT_hdr_metadata) */
  534. #if defined(VK_EXT_host_query_reset)
  535. vkResetQueryPoolEXT = (PFN_vkResetQueryPoolEXT)load(context, "vkResetQueryPoolEXT");
  536. #endif /* defined(VK_EXT_host_query_reset) */
  537. #if defined(VK_EXT_image_drm_format_modifier)
  538. vkGetImageDrmFormatModifierPropertiesEXT = (PFN_vkGetImageDrmFormatModifierPropertiesEXT)load(context, "vkGetImageDrmFormatModifierPropertiesEXT");
  539. #endif /* defined(VK_EXT_image_drm_format_modifier) */
  540. #if defined(VK_EXT_line_rasterization)
  541. vkCmdSetLineStippleEXT = (PFN_vkCmdSetLineStippleEXT)load(context, "vkCmdSetLineStippleEXT");
  542. #endif /* defined(VK_EXT_line_rasterization) */
  543. #if defined(VK_EXT_private_data)
  544. vkCreatePrivateDataSlotEXT = (PFN_vkCreatePrivateDataSlotEXT)load(context, "vkCreatePrivateDataSlotEXT");
  545. vkDestroyPrivateDataSlotEXT = (PFN_vkDestroyPrivateDataSlotEXT)load(context, "vkDestroyPrivateDataSlotEXT");
  546. vkGetPrivateDataEXT = (PFN_vkGetPrivateDataEXT)load(context, "vkGetPrivateDataEXT");
  547. vkSetPrivateDataEXT = (PFN_vkSetPrivateDataEXT)load(context, "vkSetPrivateDataEXT");
  548. #endif /* defined(VK_EXT_private_data) */
  549. #if defined(VK_EXT_sample_locations)
  550. vkCmdSetSampleLocationsEXT = (PFN_vkCmdSetSampleLocationsEXT)load(context, "vkCmdSetSampleLocationsEXT");
  551. #endif /* defined(VK_EXT_sample_locations) */
  552. #if defined(VK_EXT_transform_feedback)
  553. vkCmdBeginQueryIndexedEXT = (PFN_vkCmdBeginQueryIndexedEXT)load(context, "vkCmdBeginQueryIndexedEXT");
  554. vkCmdBeginTransformFeedbackEXT = (PFN_vkCmdBeginTransformFeedbackEXT)load(context, "vkCmdBeginTransformFeedbackEXT");
  555. vkCmdBindTransformFeedbackBuffersEXT = (PFN_vkCmdBindTransformFeedbackBuffersEXT)load(context, "vkCmdBindTransformFeedbackBuffersEXT");
  556. vkCmdDrawIndirectByteCountEXT = (PFN_vkCmdDrawIndirectByteCountEXT)load(context, "vkCmdDrawIndirectByteCountEXT");
  557. vkCmdEndQueryIndexedEXT = (PFN_vkCmdEndQueryIndexedEXT)load(context, "vkCmdEndQueryIndexedEXT");
  558. vkCmdEndTransformFeedbackEXT = (PFN_vkCmdEndTransformFeedbackEXT)load(context, "vkCmdEndTransformFeedbackEXT");
  559. #endif /* defined(VK_EXT_transform_feedback) */
  560. #if defined(VK_EXT_validation_cache)
  561. vkCreateValidationCacheEXT = (PFN_vkCreateValidationCacheEXT)load(context, "vkCreateValidationCacheEXT");
  562. vkDestroyValidationCacheEXT = (PFN_vkDestroyValidationCacheEXT)load(context, "vkDestroyValidationCacheEXT");
  563. vkGetValidationCacheDataEXT = (PFN_vkGetValidationCacheDataEXT)load(context, "vkGetValidationCacheDataEXT");
  564. vkMergeValidationCachesEXT = (PFN_vkMergeValidationCachesEXT)load(context, "vkMergeValidationCachesEXT");
  565. #endif /* defined(VK_EXT_validation_cache) */
  566. #if defined(VK_GOOGLE_display_timing)
  567. vkGetPastPresentationTimingGOOGLE = (PFN_vkGetPastPresentationTimingGOOGLE)load(context, "vkGetPastPresentationTimingGOOGLE");
  568. vkGetRefreshCycleDurationGOOGLE = (PFN_vkGetRefreshCycleDurationGOOGLE)load(context, "vkGetRefreshCycleDurationGOOGLE");
  569. #endif /* defined(VK_GOOGLE_display_timing) */
  570. #if defined(VK_INTEL_performance_query)
  571. vkAcquirePerformanceConfigurationINTEL = (PFN_vkAcquirePerformanceConfigurationINTEL)load(context, "vkAcquirePerformanceConfigurationINTEL");
  572. vkCmdSetPerformanceMarkerINTEL = (PFN_vkCmdSetPerformanceMarkerINTEL)load(context, "vkCmdSetPerformanceMarkerINTEL");
  573. vkCmdSetPerformanceOverrideINTEL = (PFN_vkCmdSetPerformanceOverrideINTEL)load(context, "vkCmdSetPerformanceOverrideINTEL");
  574. vkCmdSetPerformanceStreamMarkerINTEL = (PFN_vkCmdSetPerformanceStreamMarkerINTEL)load(context, "vkCmdSetPerformanceStreamMarkerINTEL");
  575. vkGetPerformanceParameterINTEL = (PFN_vkGetPerformanceParameterINTEL)load(context, "vkGetPerformanceParameterINTEL");
  576. vkInitializePerformanceApiINTEL = (PFN_vkInitializePerformanceApiINTEL)load(context, "vkInitializePerformanceApiINTEL");
  577. vkQueueSetPerformanceConfigurationINTEL = (PFN_vkQueueSetPerformanceConfigurationINTEL)load(context, "vkQueueSetPerformanceConfigurationINTEL");
  578. vkReleasePerformanceConfigurationINTEL = (PFN_vkReleasePerformanceConfigurationINTEL)load(context, "vkReleasePerformanceConfigurationINTEL");
  579. vkUninitializePerformanceApiINTEL = (PFN_vkUninitializePerformanceApiINTEL)load(context, "vkUninitializePerformanceApiINTEL");
  580. #endif /* defined(VK_INTEL_performance_query) */
  581. #if defined(VK_KHR_acceleration_structure)
  582. vkBuildAccelerationStructuresKHR = (PFN_vkBuildAccelerationStructuresKHR)load(context, "vkBuildAccelerationStructuresKHR");
  583. vkCmdBuildAccelerationStructuresIndirectKHR = (PFN_vkCmdBuildAccelerationStructuresIndirectKHR)load(context, "vkCmdBuildAccelerationStructuresIndirectKHR");
  584. vkCmdBuildAccelerationStructuresKHR = (PFN_vkCmdBuildAccelerationStructuresKHR)load(context, "vkCmdBuildAccelerationStructuresKHR");
  585. vkCmdCopyAccelerationStructureKHR = (PFN_vkCmdCopyAccelerationStructureKHR)load(context, "vkCmdCopyAccelerationStructureKHR");
  586. vkCmdCopyAccelerationStructureToMemoryKHR = (PFN_vkCmdCopyAccelerationStructureToMemoryKHR)load(context, "vkCmdCopyAccelerationStructureToMemoryKHR");
  587. vkCmdCopyMemoryToAccelerationStructureKHR = (PFN_vkCmdCopyMemoryToAccelerationStructureKHR)load(context, "vkCmdCopyMemoryToAccelerationStructureKHR");
  588. vkCmdWriteAccelerationStructuresPropertiesKHR = (PFN_vkCmdWriteAccelerationStructuresPropertiesKHR)load(context, "vkCmdWriteAccelerationStructuresPropertiesKHR");
  589. vkCopyAccelerationStructureKHR = (PFN_vkCopyAccelerationStructureKHR)load(context, "vkCopyAccelerationStructureKHR");
  590. vkCopyAccelerationStructureToMemoryKHR = (PFN_vkCopyAccelerationStructureToMemoryKHR)load(context, "vkCopyAccelerationStructureToMemoryKHR");
  591. vkCopyMemoryToAccelerationStructureKHR = (PFN_vkCopyMemoryToAccelerationStructureKHR)load(context, "vkCopyMemoryToAccelerationStructureKHR");
  592. vkCreateAccelerationStructureKHR = (PFN_vkCreateAccelerationStructureKHR)load(context, "vkCreateAccelerationStructureKHR");
  593. vkDestroyAccelerationStructureKHR = (PFN_vkDestroyAccelerationStructureKHR)load(context, "vkDestroyAccelerationStructureKHR");
  594. vkGetAccelerationStructureBuildSizesKHR = (PFN_vkGetAccelerationStructureBuildSizesKHR)load(context, "vkGetAccelerationStructureBuildSizesKHR");
  595. vkGetAccelerationStructureDeviceAddressKHR = (PFN_vkGetAccelerationStructureDeviceAddressKHR)load(context, "vkGetAccelerationStructureDeviceAddressKHR");
  596. vkGetDeviceAccelerationStructureCompatibilityKHR = (PFN_vkGetDeviceAccelerationStructureCompatibilityKHR)load(context, "vkGetDeviceAccelerationStructureCompatibilityKHR");
  597. vkWriteAccelerationStructuresPropertiesKHR = (PFN_vkWriteAccelerationStructuresPropertiesKHR)load(context, "vkWriteAccelerationStructuresPropertiesKHR");
  598. #endif /* defined(VK_KHR_acceleration_structure) */
  599. #if defined(VK_KHR_bind_memory2)
  600. vkBindBufferMemory2KHR = (PFN_vkBindBufferMemory2KHR)load(context, "vkBindBufferMemory2KHR");
  601. vkBindImageMemory2KHR = (PFN_vkBindImageMemory2KHR)load(context, "vkBindImageMemory2KHR");
  602. #endif /* defined(VK_KHR_bind_memory2) */
  603. #if defined(VK_KHR_buffer_device_address)
  604. vkGetBufferDeviceAddressKHR = (PFN_vkGetBufferDeviceAddressKHR)load(context, "vkGetBufferDeviceAddressKHR");
  605. vkGetBufferOpaqueCaptureAddressKHR = (PFN_vkGetBufferOpaqueCaptureAddressKHR)load(context, "vkGetBufferOpaqueCaptureAddressKHR");
  606. vkGetDeviceMemoryOpaqueCaptureAddressKHR = (PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)load(context, "vkGetDeviceMemoryOpaqueCaptureAddressKHR");
  607. #endif /* defined(VK_KHR_buffer_device_address) */
  608. #if defined(VK_KHR_copy_commands2)
  609. vkCmdBlitImage2KHR = (PFN_vkCmdBlitImage2KHR)load(context, "vkCmdBlitImage2KHR");
  610. vkCmdCopyBuffer2KHR = (PFN_vkCmdCopyBuffer2KHR)load(context, "vkCmdCopyBuffer2KHR");
  611. vkCmdCopyBufferToImage2KHR = (PFN_vkCmdCopyBufferToImage2KHR)load(context, "vkCmdCopyBufferToImage2KHR");
  612. vkCmdCopyImage2KHR = (PFN_vkCmdCopyImage2KHR)load(context, "vkCmdCopyImage2KHR");
  613. vkCmdCopyImageToBuffer2KHR = (PFN_vkCmdCopyImageToBuffer2KHR)load(context, "vkCmdCopyImageToBuffer2KHR");
  614. vkCmdResolveImage2KHR = (PFN_vkCmdResolveImage2KHR)load(context, "vkCmdResolveImage2KHR");
  615. #endif /* defined(VK_KHR_copy_commands2) */
  616. #if defined(VK_KHR_create_renderpass2)
  617. vkCmdBeginRenderPass2KHR = (PFN_vkCmdBeginRenderPass2KHR)load(context, "vkCmdBeginRenderPass2KHR");
  618. vkCmdEndRenderPass2KHR = (PFN_vkCmdEndRenderPass2KHR)load(context, "vkCmdEndRenderPass2KHR");
  619. vkCmdNextSubpass2KHR = (PFN_vkCmdNextSubpass2KHR)load(context, "vkCmdNextSubpass2KHR");
  620. vkCreateRenderPass2KHR = (PFN_vkCreateRenderPass2KHR)load(context, "vkCreateRenderPass2KHR");
  621. #endif /* defined(VK_KHR_create_renderpass2) */
  622. #if defined(VK_KHR_deferred_host_operations)
  623. vkCreateDeferredOperationKHR = (PFN_vkCreateDeferredOperationKHR)load(context, "vkCreateDeferredOperationKHR");
  624. vkDeferredOperationJoinKHR = (PFN_vkDeferredOperationJoinKHR)load(context, "vkDeferredOperationJoinKHR");
  625. vkDestroyDeferredOperationKHR = (PFN_vkDestroyDeferredOperationKHR)load(context, "vkDestroyDeferredOperationKHR");
  626. vkGetDeferredOperationMaxConcurrencyKHR = (PFN_vkGetDeferredOperationMaxConcurrencyKHR)load(context, "vkGetDeferredOperationMaxConcurrencyKHR");
  627. vkGetDeferredOperationResultKHR = (PFN_vkGetDeferredOperationResultKHR)load(context, "vkGetDeferredOperationResultKHR");
  628. #endif /* defined(VK_KHR_deferred_host_operations) */
  629. #if defined(VK_KHR_descriptor_update_template)
  630. vkCreateDescriptorUpdateTemplateKHR = (PFN_vkCreateDescriptorUpdateTemplateKHR)load(context, "vkCreateDescriptorUpdateTemplateKHR");
  631. vkDestroyDescriptorUpdateTemplateKHR = (PFN_vkDestroyDescriptorUpdateTemplateKHR)load(context, "vkDestroyDescriptorUpdateTemplateKHR");
  632. vkUpdateDescriptorSetWithTemplateKHR = (PFN_vkUpdateDescriptorSetWithTemplateKHR)load(context, "vkUpdateDescriptorSetWithTemplateKHR");
  633. #endif /* defined(VK_KHR_descriptor_update_template) */
  634. #if defined(VK_KHR_device_group)
  635. vkCmdDispatchBaseKHR = (PFN_vkCmdDispatchBaseKHR)load(context, "vkCmdDispatchBaseKHR");
  636. vkCmdSetDeviceMaskKHR = (PFN_vkCmdSetDeviceMaskKHR)load(context, "vkCmdSetDeviceMaskKHR");
  637. vkGetDeviceGroupPeerMemoryFeaturesKHR = (PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)load(context, "vkGetDeviceGroupPeerMemoryFeaturesKHR");
  638. #endif /* defined(VK_KHR_device_group) */
  639. #if defined(VK_KHR_display_swapchain)
  640. vkCreateSharedSwapchainsKHR = (PFN_vkCreateSharedSwapchainsKHR)load(context, "vkCreateSharedSwapchainsKHR");
  641. #endif /* defined(VK_KHR_display_swapchain) */
  642. #if defined(VK_KHR_draw_indirect_count)
  643. vkCmdDrawIndexedIndirectCountKHR = (PFN_vkCmdDrawIndexedIndirectCountKHR)load(context, "vkCmdDrawIndexedIndirectCountKHR");
  644. vkCmdDrawIndirectCountKHR = (PFN_vkCmdDrawIndirectCountKHR)load(context, "vkCmdDrawIndirectCountKHR");
  645. #endif /* defined(VK_KHR_draw_indirect_count) */
  646. #if defined(VK_KHR_external_fence_fd)
  647. vkGetFenceFdKHR = (PFN_vkGetFenceFdKHR)load(context, "vkGetFenceFdKHR");
  648. vkImportFenceFdKHR = (PFN_vkImportFenceFdKHR)load(context, "vkImportFenceFdKHR");
  649. #endif /* defined(VK_KHR_external_fence_fd) */
  650. #if defined(VK_KHR_external_fence_win32)
  651. vkGetFenceWin32HandleKHR = (PFN_vkGetFenceWin32HandleKHR)load(context, "vkGetFenceWin32HandleKHR");
  652. vkImportFenceWin32HandleKHR = (PFN_vkImportFenceWin32HandleKHR)load(context, "vkImportFenceWin32HandleKHR");
  653. #endif /* defined(VK_KHR_external_fence_win32) */
  654. #if defined(VK_KHR_external_memory_fd)
  655. vkGetMemoryFdKHR = (PFN_vkGetMemoryFdKHR)load(context, "vkGetMemoryFdKHR");
  656. vkGetMemoryFdPropertiesKHR = (PFN_vkGetMemoryFdPropertiesKHR)load(context, "vkGetMemoryFdPropertiesKHR");
  657. #endif /* defined(VK_KHR_external_memory_fd) */
  658. #if defined(VK_KHR_external_memory_win32)
  659. vkGetMemoryWin32HandleKHR = (PFN_vkGetMemoryWin32HandleKHR)load(context, "vkGetMemoryWin32HandleKHR");
  660. vkGetMemoryWin32HandlePropertiesKHR = (PFN_vkGetMemoryWin32HandlePropertiesKHR)load(context, "vkGetMemoryWin32HandlePropertiesKHR");
  661. #endif /* defined(VK_KHR_external_memory_win32) */
  662. #if defined(VK_KHR_external_semaphore_fd)
  663. vkGetSemaphoreFdKHR = (PFN_vkGetSemaphoreFdKHR)load(context, "vkGetSemaphoreFdKHR");
  664. vkImportSemaphoreFdKHR = (PFN_vkImportSemaphoreFdKHR)load(context, "vkImportSemaphoreFdKHR");
  665. #endif /* defined(VK_KHR_external_semaphore_fd) */
  666. #if defined(VK_KHR_external_semaphore_win32)
  667. vkGetSemaphoreWin32HandleKHR = (PFN_vkGetSemaphoreWin32HandleKHR)load(context, "vkGetSemaphoreWin32HandleKHR");
  668. vkImportSemaphoreWin32HandleKHR = (PFN_vkImportSemaphoreWin32HandleKHR)load(context, "vkImportSemaphoreWin32HandleKHR");
  669. #endif /* defined(VK_KHR_external_semaphore_win32) */
  670. #if defined(VK_KHR_fragment_shading_rate)
  671. vkCmdSetFragmentShadingRateKHR = (PFN_vkCmdSetFragmentShadingRateKHR)load(context, "vkCmdSetFragmentShadingRateKHR");
  672. #endif /* defined(VK_KHR_fragment_shading_rate) */
  673. #if defined(VK_KHR_get_memory_requirements2)
  674. vkGetBufferMemoryRequirements2KHR = (PFN_vkGetBufferMemoryRequirements2KHR)load(context, "vkGetBufferMemoryRequirements2KHR");
  675. vkGetImageMemoryRequirements2KHR = (PFN_vkGetImageMemoryRequirements2KHR)load(context, "vkGetImageMemoryRequirements2KHR");
  676. vkGetImageSparseMemoryRequirements2KHR = (PFN_vkGetImageSparseMemoryRequirements2KHR)load(context, "vkGetImageSparseMemoryRequirements2KHR");
  677. #endif /* defined(VK_KHR_get_memory_requirements2) */
  678. #if defined(VK_KHR_maintenance1)
  679. vkTrimCommandPoolKHR = (PFN_vkTrimCommandPoolKHR)load(context, "vkTrimCommandPoolKHR");
  680. #endif /* defined(VK_KHR_maintenance1) */
  681. #if defined(VK_KHR_maintenance3)
  682. vkGetDescriptorSetLayoutSupportKHR = (PFN_vkGetDescriptorSetLayoutSupportKHR)load(context, "vkGetDescriptorSetLayoutSupportKHR");
  683. #endif /* defined(VK_KHR_maintenance3) */
  684. #if defined(VK_KHR_performance_query)
  685. vkAcquireProfilingLockKHR = (PFN_vkAcquireProfilingLockKHR)load(context, "vkAcquireProfilingLockKHR");
  686. vkReleaseProfilingLockKHR = (PFN_vkReleaseProfilingLockKHR)load(context, "vkReleaseProfilingLockKHR");
  687. #endif /* defined(VK_KHR_performance_query) */
  688. #if defined(VK_KHR_pipeline_executable_properties)
  689. vkGetPipelineExecutableInternalRepresentationsKHR = (PFN_vkGetPipelineExecutableInternalRepresentationsKHR)load(context, "vkGetPipelineExecutableInternalRepresentationsKHR");
  690. vkGetPipelineExecutablePropertiesKHR = (PFN_vkGetPipelineExecutablePropertiesKHR)load(context, "vkGetPipelineExecutablePropertiesKHR");
  691. vkGetPipelineExecutableStatisticsKHR = (PFN_vkGetPipelineExecutableStatisticsKHR)load(context, "vkGetPipelineExecutableStatisticsKHR");
  692. #endif /* defined(VK_KHR_pipeline_executable_properties) */
  693. #if defined(VK_KHR_push_descriptor)
  694. vkCmdPushDescriptorSetKHR = (PFN_vkCmdPushDescriptorSetKHR)load(context, "vkCmdPushDescriptorSetKHR");
  695. #endif /* defined(VK_KHR_push_descriptor) */
  696. #if defined(VK_KHR_ray_tracing_pipeline)
  697. vkCmdSetRayTracingPipelineStackSizeKHR = (PFN_vkCmdSetRayTracingPipelineStackSizeKHR)load(context, "vkCmdSetRayTracingPipelineStackSizeKHR");
  698. vkCmdTraceRaysIndirectKHR = (PFN_vkCmdTraceRaysIndirectKHR)load(context, "vkCmdTraceRaysIndirectKHR");
  699. vkCmdTraceRaysKHR = (PFN_vkCmdTraceRaysKHR)load(context, "vkCmdTraceRaysKHR");
  700. vkCreateRayTracingPipelinesKHR = (PFN_vkCreateRayTracingPipelinesKHR)load(context, "vkCreateRayTracingPipelinesKHR");
  701. vkGetRayTracingCaptureReplayShaderGroupHandlesKHR = (PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR)load(context, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR");
  702. vkGetRayTracingShaderGroupHandlesKHR = (PFN_vkGetRayTracingShaderGroupHandlesKHR)load(context, "vkGetRayTracingShaderGroupHandlesKHR");
  703. vkGetRayTracingShaderGroupStackSizeKHR = (PFN_vkGetRayTracingShaderGroupStackSizeKHR)load(context, "vkGetRayTracingShaderGroupStackSizeKHR");
  704. #endif /* defined(VK_KHR_ray_tracing_pipeline) */
  705. #if defined(VK_KHR_sampler_ycbcr_conversion)
  706. vkCreateSamplerYcbcrConversionKHR = (PFN_vkCreateSamplerYcbcrConversionKHR)load(context, "vkCreateSamplerYcbcrConversionKHR");
  707. vkDestroySamplerYcbcrConversionKHR = (PFN_vkDestroySamplerYcbcrConversionKHR)load(context, "vkDestroySamplerYcbcrConversionKHR");
  708. #endif /* defined(VK_KHR_sampler_ycbcr_conversion) */
  709. #if defined(VK_KHR_shared_presentable_image)
  710. vkGetSwapchainStatusKHR = (PFN_vkGetSwapchainStatusKHR)load(context, "vkGetSwapchainStatusKHR");
  711. #endif /* defined(VK_KHR_shared_presentable_image) */
  712. #if defined(VK_KHR_swapchain)
  713. vkAcquireNextImageKHR = (PFN_vkAcquireNextImageKHR)load(context, "vkAcquireNextImageKHR");
  714. vkCreateSwapchainKHR = (PFN_vkCreateSwapchainKHR)load(context, "vkCreateSwapchainKHR");
  715. vkDestroySwapchainKHR = (PFN_vkDestroySwapchainKHR)load(context, "vkDestroySwapchainKHR");
  716. vkGetSwapchainImagesKHR = (PFN_vkGetSwapchainImagesKHR)load(context, "vkGetSwapchainImagesKHR");
  717. vkQueuePresentKHR = (PFN_vkQueuePresentKHR)load(context, "vkQueuePresentKHR");
  718. #endif /* defined(VK_KHR_swapchain) */
  719. #if defined(VK_KHR_timeline_semaphore)
  720. vkGetSemaphoreCounterValueKHR = (PFN_vkGetSemaphoreCounterValueKHR)load(context, "vkGetSemaphoreCounterValueKHR");
  721. vkSignalSemaphoreKHR = (PFN_vkSignalSemaphoreKHR)load(context, "vkSignalSemaphoreKHR");
  722. vkWaitSemaphoresKHR = (PFN_vkWaitSemaphoresKHR)load(context, "vkWaitSemaphoresKHR");
  723. #endif /* defined(VK_KHR_timeline_semaphore) */
  724. #if defined(VK_NVX_image_view_handle)
  725. vkGetImageViewAddressNVX = (PFN_vkGetImageViewAddressNVX)load(context, "vkGetImageViewAddressNVX");
  726. vkGetImageViewHandleNVX = (PFN_vkGetImageViewHandleNVX)load(context, "vkGetImageViewHandleNVX");
  727. #endif /* defined(VK_NVX_image_view_handle) */
  728. #if defined(VK_NV_clip_space_w_scaling)
  729. vkCmdSetViewportWScalingNV = (PFN_vkCmdSetViewportWScalingNV)load(context, "vkCmdSetViewportWScalingNV");
  730. #endif /* defined(VK_NV_clip_space_w_scaling) */
  731. #if defined(VK_NV_device_diagnostic_checkpoints)
  732. vkCmdSetCheckpointNV = (PFN_vkCmdSetCheckpointNV)load(context, "vkCmdSetCheckpointNV");
  733. vkGetQueueCheckpointDataNV = (PFN_vkGetQueueCheckpointDataNV)load(context, "vkGetQueueCheckpointDataNV");
  734. #endif /* defined(VK_NV_device_diagnostic_checkpoints) */
  735. #if defined(VK_NV_device_generated_commands)
  736. vkCmdBindPipelineShaderGroupNV = (PFN_vkCmdBindPipelineShaderGroupNV)load(context, "vkCmdBindPipelineShaderGroupNV");
  737. vkCmdExecuteGeneratedCommandsNV = (PFN_vkCmdExecuteGeneratedCommandsNV)load(context, "vkCmdExecuteGeneratedCommandsNV");
  738. vkCmdPreprocessGeneratedCommandsNV = (PFN_vkCmdPreprocessGeneratedCommandsNV)load(context, "vkCmdPreprocessGeneratedCommandsNV");
  739. vkCreateIndirectCommandsLayoutNV = (PFN_vkCreateIndirectCommandsLayoutNV)load(context, "vkCreateIndirectCommandsLayoutNV");
  740. vkDestroyIndirectCommandsLayoutNV = (PFN_vkDestroyIndirectCommandsLayoutNV)load(context, "vkDestroyIndirectCommandsLayoutNV");
  741. vkGetGeneratedCommandsMemoryRequirementsNV = (PFN_vkGetGeneratedCommandsMemoryRequirementsNV)load(context, "vkGetGeneratedCommandsMemoryRequirementsNV");
  742. #endif /* defined(VK_NV_device_generated_commands) */
  743. #if defined(VK_NV_external_memory_win32)
  744. vkGetMemoryWin32HandleNV = (PFN_vkGetMemoryWin32HandleNV)load(context, "vkGetMemoryWin32HandleNV");
  745. #endif /* defined(VK_NV_external_memory_win32) */
  746. #if defined(VK_NV_fragment_shading_rate_enums)
  747. vkCmdSetFragmentShadingRateEnumNV = (PFN_vkCmdSetFragmentShadingRateEnumNV)load(context, "vkCmdSetFragmentShadingRateEnumNV");
  748. #endif /* defined(VK_NV_fragment_shading_rate_enums) */
  749. #if defined(VK_NV_mesh_shader)
  750. vkCmdDrawMeshTasksIndirectCountNV = (PFN_vkCmdDrawMeshTasksIndirectCountNV)load(context, "vkCmdDrawMeshTasksIndirectCountNV");
  751. vkCmdDrawMeshTasksIndirectNV = (PFN_vkCmdDrawMeshTasksIndirectNV)load(context, "vkCmdDrawMeshTasksIndirectNV");
  752. vkCmdDrawMeshTasksNV = (PFN_vkCmdDrawMeshTasksNV)load(context, "vkCmdDrawMeshTasksNV");
  753. #endif /* defined(VK_NV_mesh_shader) */
  754. #if defined(VK_NV_ray_tracing)
  755. vkBindAccelerationStructureMemoryNV = (PFN_vkBindAccelerationStructureMemoryNV)load(context, "vkBindAccelerationStructureMemoryNV");
  756. vkCmdBuildAccelerationStructureNV = (PFN_vkCmdBuildAccelerationStructureNV)load(context, "vkCmdBuildAccelerationStructureNV");
  757. vkCmdCopyAccelerationStructureNV = (PFN_vkCmdCopyAccelerationStructureNV)load(context, "vkCmdCopyAccelerationStructureNV");
  758. vkCmdTraceRaysNV = (PFN_vkCmdTraceRaysNV)load(context, "vkCmdTraceRaysNV");
  759. vkCmdWriteAccelerationStructuresPropertiesNV = (PFN_vkCmdWriteAccelerationStructuresPropertiesNV)load(context, "vkCmdWriteAccelerationStructuresPropertiesNV");
  760. vkCompileDeferredNV = (PFN_vkCompileDeferredNV)load(context, "vkCompileDeferredNV");
  761. vkCreateAccelerationStructureNV = (PFN_vkCreateAccelerationStructureNV)load(context, "vkCreateAccelerationStructureNV");
  762. vkCreateRayTracingPipelinesNV = (PFN_vkCreateRayTracingPipelinesNV)load(context, "vkCreateRayTracingPipelinesNV");
  763. vkDestroyAccelerationStructureNV = (PFN_vkDestroyAccelerationStructureNV)load(context, "vkDestroyAccelerationStructureNV");
  764. vkGetAccelerationStructureHandleNV = (PFN_vkGetAccelerationStructureHandleNV)load(context, "vkGetAccelerationStructureHandleNV");
  765. vkGetAccelerationStructureMemoryRequirementsNV = (PFN_vkGetAccelerationStructureMemoryRequirementsNV)load(context, "vkGetAccelerationStructureMemoryRequirementsNV");
  766. vkGetRayTracingShaderGroupHandlesNV = (PFN_vkGetRayTracingShaderGroupHandlesNV)load(context, "vkGetRayTracingShaderGroupHandlesNV");
  767. #endif /* defined(VK_NV_ray_tracing) */
  768. #if defined(VK_NV_scissor_exclusive)
  769. vkCmdSetExclusiveScissorNV = (PFN_vkCmdSetExclusiveScissorNV)load(context, "vkCmdSetExclusiveScissorNV");
  770. #endif /* defined(VK_NV_scissor_exclusive) */
  771. #if defined(VK_NV_shading_rate_image)
  772. vkCmdBindShadingRateImageNV = (PFN_vkCmdBindShadingRateImageNV)load(context, "vkCmdBindShadingRateImageNV");
  773. vkCmdSetCoarseSampleOrderNV = (PFN_vkCmdSetCoarseSampleOrderNV)load(context, "vkCmdSetCoarseSampleOrderNV");
  774. vkCmdSetViewportShadingRatePaletteNV = (PFN_vkCmdSetViewportShadingRatePaletteNV)load(context, "vkCmdSetViewportShadingRatePaletteNV");
  775. #endif /* defined(VK_NV_shading_rate_image) */
  776. #if (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1))
  777. vkGetDeviceGroupSurfacePresentModes2EXT = (PFN_vkGetDeviceGroupSurfacePresentModes2EXT)load(context, "vkGetDeviceGroupSurfacePresentModes2EXT");
  778. #endif /* (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1)) */
  779. #if (defined(VK_KHR_descriptor_update_template) && defined(VK_KHR_push_descriptor)) || (defined(VK_KHR_push_descriptor) && defined(VK_VERSION_1_1)) || (defined(VK_KHR_push_descriptor) && defined(VK_KHR_descriptor_update_template))
  780. vkCmdPushDescriptorSetWithTemplateKHR = (PFN_vkCmdPushDescriptorSetWithTemplateKHR)load(context, "vkCmdPushDescriptorSetWithTemplateKHR");
  781. #endif /* (defined(VK_KHR_descriptor_update_template) && defined(VK_KHR_push_descriptor)) || (defined(VK_KHR_push_descriptor) && defined(VK_VERSION_1_1)) || (defined(VK_KHR_push_descriptor) && defined(VK_KHR_descriptor_update_template)) */
  782. #if (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1))
  783. vkGetDeviceGroupPresentCapabilitiesKHR = (PFN_vkGetDeviceGroupPresentCapabilitiesKHR)load(context, "vkGetDeviceGroupPresentCapabilitiesKHR");
  784. vkGetDeviceGroupSurfacePresentModesKHR = (PFN_vkGetDeviceGroupSurfacePresentModesKHR)load(context, "vkGetDeviceGroupSurfacePresentModesKHR");
  785. #endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */
  786. #if (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1))
  787. vkAcquireNextImage2KHR = (PFN_vkAcquireNextImage2KHR)load(context, "vkAcquireNextImage2KHR");
  788. #endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */
  789. /* VOLK_GENERATE_LOAD_DEVICE */
  790. }
  791. static void volkGenLoadDeviceTable(struct VolkDeviceTable* table, void* context, PFN_vkVoidFunction (*load)(void*, const char*))
  792. {
  793. /* VOLK_GENERATE_LOAD_DEVICE_TABLE */
  794. #if defined(VK_VERSION_1_0)
  795. table->vkAllocateCommandBuffers = (PFN_vkAllocateCommandBuffers)load(context, "vkAllocateCommandBuffers");
  796. table->vkAllocateDescriptorSets = (PFN_vkAllocateDescriptorSets)load(context, "vkAllocateDescriptorSets");
  797. table->vkAllocateMemory = (PFN_vkAllocateMemory)load(context, "vkAllocateMemory");
  798. table->vkBeginCommandBuffer = (PFN_vkBeginCommandBuffer)load(context, "vkBeginCommandBuffer");
  799. table->vkBindBufferMemory = (PFN_vkBindBufferMemory)load(context, "vkBindBufferMemory");
  800. table->vkBindImageMemory = (PFN_vkBindImageMemory)load(context, "vkBindImageMemory");
  801. table->vkCmdBeginQuery = (PFN_vkCmdBeginQuery)load(context, "vkCmdBeginQuery");
  802. table->vkCmdBeginRenderPass = (PFN_vkCmdBeginRenderPass)load(context, "vkCmdBeginRenderPass");
  803. table->vkCmdBindDescriptorSets = (PFN_vkCmdBindDescriptorSets)load(context, "vkCmdBindDescriptorSets");
  804. table->vkCmdBindIndexBuffer = (PFN_vkCmdBindIndexBuffer)load(context, "vkCmdBindIndexBuffer");
  805. table->vkCmdBindPipeline = (PFN_vkCmdBindPipeline)load(context, "vkCmdBindPipeline");
  806. table->vkCmdBindVertexBuffers = (PFN_vkCmdBindVertexBuffers)load(context, "vkCmdBindVertexBuffers");
  807. table->vkCmdBlitImage = (PFN_vkCmdBlitImage)load(context, "vkCmdBlitImage");
  808. table->vkCmdClearAttachments = (PFN_vkCmdClearAttachments)load(context, "vkCmdClearAttachments");
  809. table->vkCmdClearColorImage = (PFN_vkCmdClearColorImage)load(context, "vkCmdClearColorImage");
  810. table->vkCmdClearDepthStencilImage = (PFN_vkCmdClearDepthStencilImage)load(context, "vkCmdClearDepthStencilImage");
  811. table->vkCmdCopyBuffer = (PFN_vkCmdCopyBuffer)load(context, "vkCmdCopyBuffer");
  812. table->vkCmdCopyBufferToImage = (PFN_vkCmdCopyBufferToImage)load(context, "vkCmdCopyBufferToImage");
  813. table->vkCmdCopyImage = (PFN_vkCmdCopyImage)load(context, "vkCmdCopyImage");
  814. table->vkCmdCopyImageToBuffer = (PFN_vkCmdCopyImageToBuffer)load(context, "vkCmdCopyImageToBuffer");
  815. table->vkCmdCopyQueryPoolResults = (PFN_vkCmdCopyQueryPoolResults)load(context, "vkCmdCopyQueryPoolResults");
  816. table->vkCmdDispatch = (PFN_vkCmdDispatch)load(context, "vkCmdDispatch");
  817. table->vkCmdDispatchIndirect = (PFN_vkCmdDispatchIndirect)load(context, "vkCmdDispatchIndirect");
  818. table->vkCmdDraw = (PFN_vkCmdDraw)load(context, "vkCmdDraw");
  819. table->vkCmdDrawIndexed = (PFN_vkCmdDrawIndexed)load(context, "vkCmdDrawIndexed");
  820. table->vkCmdDrawIndexedIndirect = (PFN_vkCmdDrawIndexedIndirect)load(context, "vkCmdDrawIndexedIndirect");
  821. table->vkCmdDrawIndirect = (PFN_vkCmdDrawIndirect)load(context, "vkCmdDrawIndirect");
  822. table->vkCmdEndQuery = (PFN_vkCmdEndQuery)load(context, "vkCmdEndQuery");
  823. table->vkCmdEndRenderPass = (PFN_vkCmdEndRenderPass)load(context, "vkCmdEndRenderPass");
  824. table->vkCmdExecuteCommands = (PFN_vkCmdExecuteCommands)load(context, "vkCmdExecuteCommands");
  825. table->vkCmdFillBuffer = (PFN_vkCmdFillBuffer)load(context, "vkCmdFillBuffer");
  826. table->vkCmdNextSubpass = (PFN_vkCmdNextSubpass)load(context, "vkCmdNextSubpass");
  827. table->vkCmdPipelineBarrier = (PFN_vkCmdPipelineBarrier)load(context, "vkCmdPipelineBarrier");
  828. table->vkCmdPushConstants = (PFN_vkCmdPushConstants)load(context, "vkCmdPushConstants");
  829. table->vkCmdResetEvent = (PFN_vkCmdResetEvent)load(context, "vkCmdResetEvent");
  830. table->vkCmdResetQueryPool = (PFN_vkCmdResetQueryPool)load(context, "vkCmdResetQueryPool");
  831. table->vkCmdResolveImage = (PFN_vkCmdResolveImage)load(context, "vkCmdResolveImage");
  832. table->vkCmdSetBlendConstants = (PFN_vkCmdSetBlendConstants)load(context, "vkCmdSetBlendConstants");
  833. table->vkCmdSetDepthBias = (PFN_vkCmdSetDepthBias)load(context, "vkCmdSetDepthBias");
  834. table->vkCmdSetDepthBounds = (PFN_vkCmdSetDepthBounds)load(context, "vkCmdSetDepthBounds");
  835. table->vkCmdSetEvent = (PFN_vkCmdSetEvent)load(context, "vkCmdSetEvent");
  836. table->vkCmdSetLineWidth = (PFN_vkCmdSetLineWidth)load(context, "vkCmdSetLineWidth");
  837. table->vkCmdSetScissor = (PFN_vkCmdSetScissor)load(context, "vkCmdSetScissor");
  838. table->vkCmdSetStencilCompareMask = (PFN_vkCmdSetStencilCompareMask)load(context, "vkCmdSetStencilCompareMask");
  839. table->vkCmdSetStencilReference = (PFN_vkCmdSetStencilReference)load(context, "vkCmdSetStencilReference");
  840. table->vkCmdSetStencilWriteMask = (PFN_vkCmdSetStencilWriteMask)load(context, "vkCmdSetStencilWriteMask");
  841. table->vkCmdSetViewport = (PFN_vkCmdSetViewport)load(context, "vkCmdSetViewport");
  842. table->vkCmdUpdateBuffer = (PFN_vkCmdUpdateBuffer)load(context, "vkCmdUpdateBuffer");
  843. table->vkCmdWaitEvents = (PFN_vkCmdWaitEvents)load(context, "vkCmdWaitEvents");
  844. table->vkCmdWriteTimestamp = (PFN_vkCmdWriteTimestamp)load(context, "vkCmdWriteTimestamp");
  845. table->vkCreateBuffer = (PFN_vkCreateBuffer)load(context, "vkCreateBuffer");
  846. table->vkCreateBufferView = (PFN_vkCreateBufferView)load(context, "vkCreateBufferView");
  847. table->vkCreateCommandPool = (PFN_vkCreateCommandPool)load(context, "vkCreateCommandPool");
  848. table->vkCreateComputePipelines = (PFN_vkCreateComputePipelines)load(context, "vkCreateComputePipelines");
  849. table->vkCreateDescriptorPool = (PFN_vkCreateDescriptorPool)load(context, "vkCreateDescriptorPool");
  850. table->vkCreateDescriptorSetLayout = (PFN_vkCreateDescriptorSetLayout)load(context, "vkCreateDescriptorSetLayout");
  851. table->vkCreateEvent = (PFN_vkCreateEvent)load(context, "vkCreateEvent");
  852. table->vkCreateFence = (PFN_vkCreateFence)load(context, "vkCreateFence");
  853. table->vkCreateFramebuffer = (PFN_vkCreateFramebuffer)load(context, "vkCreateFramebuffer");
  854. table->vkCreateGraphicsPipelines = (PFN_vkCreateGraphicsPipelines)load(context, "vkCreateGraphicsPipelines");
  855. table->vkCreateImage = (PFN_vkCreateImage)load(context, "vkCreateImage");
  856. table->vkCreateImageView = (PFN_vkCreateImageView)load(context, "vkCreateImageView");
  857. table->vkCreatePipelineCache = (PFN_vkCreatePipelineCache)load(context, "vkCreatePipelineCache");
  858. table->vkCreatePipelineLayout = (PFN_vkCreatePipelineLayout)load(context, "vkCreatePipelineLayout");
  859. table->vkCreateQueryPool = (PFN_vkCreateQueryPool)load(context, "vkCreateQueryPool");
  860. table->vkCreateRenderPass = (PFN_vkCreateRenderPass)load(context, "vkCreateRenderPass");
  861. table->vkCreateSampler = (PFN_vkCreateSampler)load(context, "vkCreateSampler");
  862. table->vkCreateSemaphore = (PFN_vkCreateSemaphore)load(context, "vkCreateSemaphore");
  863. table->vkCreateShaderModule = (PFN_vkCreateShaderModule)load(context, "vkCreateShaderModule");
  864. table->vkDestroyBuffer = (PFN_vkDestroyBuffer)load(context, "vkDestroyBuffer");
  865. table->vkDestroyBufferView = (PFN_vkDestroyBufferView)load(context, "vkDestroyBufferView");
  866. table->vkDestroyCommandPool = (PFN_vkDestroyCommandPool)load(context, "vkDestroyCommandPool");
  867. table->vkDestroyDescriptorPool = (PFN_vkDestroyDescriptorPool)load(context, "vkDestroyDescriptorPool");
  868. table->vkDestroyDescriptorSetLayout = (PFN_vkDestroyDescriptorSetLayout)load(context, "vkDestroyDescriptorSetLayout");
  869. table->vkDestroyDevice = (PFN_vkDestroyDevice)load(context, "vkDestroyDevice");
  870. table->vkDestroyEvent = (PFN_vkDestroyEvent)load(context, "vkDestroyEvent");
  871. table->vkDestroyFence = (PFN_vkDestroyFence)load(context, "vkDestroyFence");
  872. table->vkDestroyFramebuffer = (PFN_vkDestroyFramebuffer)load(context, "vkDestroyFramebuffer");
  873. table->vkDestroyImage = (PFN_vkDestroyImage)load(context, "vkDestroyImage");
  874. table->vkDestroyImageView = (PFN_vkDestroyImageView)load(context, "vkDestroyImageView");
  875. table->vkDestroyPipeline = (PFN_vkDestroyPipeline)load(context, "vkDestroyPipeline");
  876. table->vkDestroyPipelineCache = (PFN_vkDestroyPipelineCache)load(context, "vkDestroyPipelineCache");
  877. table->vkDestroyPipelineLayout = (PFN_vkDestroyPipelineLayout)load(context, "vkDestroyPipelineLayout");
  878. table->vkDestroyQueryPool = (PFN_vkDestroyQueryPool)load(context, "vkDestroyQueryPool");
  879. table->vkDestroyRenderPass = (PFN_vkDestroyRenderPass)load(context, "vkDestroyRenderPass");
  880. table->vkDestroySampler = (PFN_vkDestroySampler)load(context, "vkDestroySampler");
  881. table->vkDestroySemaphore = (PFN_vkDestroySemaphore)load(context, "vkDestroySemaphore");
  882. table->vkDestroyShaderModule = (PFN_vkDestroyShaderModule)load(context, "vkDestroyShaderModule");
  883. table->vkDeviceWaitIdle = (PFN_vkDeviceWaitIdle)load(context, "vkDeviceWaitIdle");
  884. table->vkEndCommandBuffer = (PFN_vkEndCommandBuffer)load(context, "vkEndCommandBuffer");
  885. table->vkFlushMappedMemoryRanges = (PFN_vkFlushMappedMemoryRanges)load(context, "vkFlushMappedMemoryRanges");
  886. table->vkFreeCommandBuffers = (PFN_vkFreeCommandBuffers)load(context, "vkFreeCommandBuffers");
  887. table->vkFreeDescriptorSets = (PFN_vkFreeDescriptorSets)load(context, "vkFreeDescriptorSets");
  888. table->vkFreeMemory = (PFN_vkFreeMemory)load(context, "vkFreeMemory");
  889. table->vkGetBufferMemoryRequirements = (PFN_vkGetBufferMemoryRequirements)load(context, "vkGetBufferMemoryRequirements");
  890. table->vkGetDeviceMemoryCommitment = (PFN_vkGetDeviceMemoryCommitment)load(context, "vkGetDeviceMemoryCommitment");
  891. table->vkGetDeviceQueue = (PFN_vkGetDeviceQueue)load(context, "vkGetDeviceQueue");
  892. table->vkGetEventStatus = (PFN_vkGetEventStatus)load(context, "vkGetEventStatus");
  893. table->vkGetFenceStatus = (PFN_vkGetFenceStatus)load(context, "vkGetFenceStatus");
  894. table->vkGetImageMemoryRequirements = (PFN_vkGetImageMemoryRequirements)load(context, "vkGetImageMemoryRequirements");
  895. table->vkGetImageSparseMemoryRequirements = (PFN_vkGetImageSparseMemoryRequirements)load(context, "vkGetImageSparseMemoryRequirements");
  896. table->vkGetImageSubresourceLayout = (PFN_vkGetImageSubresourceLayout)load(context, "vkGetImageSubresourceLayout");
  897. table->vkGetPipelineCacheData = (PFN_vkGetPipelineCacheData)load(context, "vkGetPipelineCacheData");
  898. table->vkGetQueryPoolResults = (PFN_vkGetQueryPoolResults)load(context, "vkGetQueryPoolResults");
  899. table->vkGetRenderAreaGranularity = (PFN_vkGetRenderAreaGranularity)load(context, "vkGetRenderAreaGranularity");
  900. table->vkInvalidateMappedMemoryRanges = (PFN_vkInvalidateMappedMemoryRanges)load(context, "vkInvalidateMappedMemoryRanges");
  901. table->vkMapMemory = (PFN_vkMapMemory)load(context, "vkMapMemory");
  902. table->vkMergePipelineCaches = (PFN_vkMergePipelineCaches)load(context, "vkMergePipelineCaches");
  903. table->vkQueueBindSparse = (PFN_vkQueueBindSparse)load(context, "vkQueueBindSparse");
  904. table->vkQueueSubmit = (PFN_vkQueueSubmit)load(context, "vkQueueSubmit");
  905. table->vkQueueWaitIdle = (PFN_vkQueueWaitIdle)load(context, "vkQueueWaitIdle");
  906. table->vkResetCommandBuffer = (PFN_vkResetCommandBuffer)load(context, "vkResetCommandBuffer");
  907. table->vkResetCommandPool = (PFN_vkResetCommandPool)load(context, "vkResetCommandPool");
  908. table->vkResetDescriptorPool = (PFN_vkResetDescriptorPool)load(context, "vkResetDescriptorPool");
  909. table->vkResetEvent = (PFN_vkResetEvent)load(context, "vkResetEvent");
  910. table->vkResetFences = (PFN_vkResetFences)load(context, "vkResetFences");
  911. table->vkSetEvent = (PFN_vkSetEvent)load(context, "vkSetEvent");
  912. table->vkUnmapMemory = (PFN_vkUnmapMemory)load(context, "vkUnmapMemory");
  913. table->vkUpdateDescriptorSets = (PFN_vkUpdateDescriptorSets)load(context, "vkUpdateDescriptorSets");
  914. table->vkWaitForFences = (PFN_vkWaitForFences)load(context, "vkWaitForFences");
  915. #endif /* defined(VK_VERSION_1_0) */
  916. #if defined(VK_VERSION_1_1)
  917. table->vkBindBufferMemory2 = (PFN_vkBindBufferMemory2)load(context, "vkBindBufferMemory2");
  918. table->vkBindImageMemory2 = (PFN_vkBindImageMemory2)load(context, "vkBindImageMemory2");
  919. table->vkCmdDispatchBase = (PFN_vkCmdDispatchBase)load(context, "vkCmdDispatchBase");
  920. table->vkCmdSetDeviceMask = (PFN_vkCmdSetDeviceMask)load(context, "vkCmdSetDeviceMask");
  921. table->vkCreateDescriptorUpdateTemplate = (PFN_vkCreateDescriptorUpdateTemplate)load(context, "vkCreateDescriptorUpdateTemplate");
  922. table->vkCreateSamplerYcbcrConversion = (PFN_vkCreateSamplerYcbcrConversion)load(context, "vkCreateSamplerYcbcrConversion");
  923. table->vkDestroyDescriptorUpdateTemplate = (PFN_vkDestroyDescriptorUpdateTemplate)load(context, "vkDestroyDescriptorUpdateTemplate");
  924. table->vkDestroySamplerYcbcrConversion = (PFN_vkDestroySamplerYcbcrConversion)load(context, "vkDestroySamplerYcbcrConversion");
  925. table->vkGetBufferMemoryRequirements2 = (PFN_vkGetBufferMemoryRequirements2)load(context, "vkGetBufferMemoryRequirements2");
  926. table->vkGetDescriptorSetLayoutSupport = (PFN_vkGetDescriptorSetLayoutSupport)load(context, "vkGetDescriptorSetLayoutSupport");
  927. table->vkGetDeviceGroupPeerMemoryFeatures = (PFN_vkGetDeviceGroupPeerMemoryFeatures)load(context, "vkGetDeviceGroupPeerMemoryFeatures");
  928. table->vkGetDeviceQueue2 = (PFN_vkGetDeviceQueue2)load(context, "vkGetDeviceQueue2");
  929. table->vkGetImageMemoryRequirements2 = (PFN_vkGetImageMemoryRequirements2)load(context, "vkGetImageMemoryRequirements2");
  930. table->vkGetImageSparseMemoryRequirements2 = (PFN_vkGetImageSparseMemoryRequirements2)load(context, "vkGetImageSparseMemoryRequirements2");
  931. table->vkTrimCommandPool = (PFN_vkTrimCommandPool)load(context, "vkTrimCommandPool");
  932. table->vkUpdateDescriptorSetWithTemplate = (PFN_vkUpdateDescriptorSetWithTemplate)load(context, "vkUpdateDescriptorSetWithTemplate");
  933. #endif /* defined(VK_VERSION_1_1) */
  934. #if defined(VK_VERSION_1_2)
  935. table->vkCmdBeginRenderPass2 = (PFN_vkCmdBeginRenderPass2)load(context, "vkCmdBeginRenderPass2");
  936. table->vkCmdDrawIndexedIndirectCount = (PFN_vkCmdDrawIndexedIndirectCount)load(context, "vkCmdDrawIndexedIndirectCount");
  937. table->vkCmdDrawIndirectCount = (PFN_vkCmdDrawIndirectCount)load(context, "vkCmdDrawIndirectCount");
  938. table->vkCmdEndRenderPass2 = (PFN_vkCmdEndRenderPass2)load(context, "vkCmdEndRenderPass2");
  939. table->vkCmdNextSubpass2 = (PFN_vkCmdNextSubpass2)load(context, "vkCmdNextSubpass2");
  940. table->vkCreateRenderPass2 = (PFN_vkCreateRenderPass2)load(context, "vkCreateRenderPass2");
  941. table->vkGetBufferDeviceAddress = (PFN_vkGetBufferDeviceAddress)load(context, "vkGetBufferDeviceAddress");
  942. table->vkGetBufferOpaqueCaptureAddress = (PFN_vkGetBufferOpaqueCaptureAddress)load(context, "vkGetBufferOpaqueCaptureAddress");
  943. table->vkGetDeviceMemoryOpaqueCaptureAddress = (PFN_vkGetDeviceMemoryOpaqueCaptureAddress)load(context, "vkGetDeviceMemoryOpaqueCaptureAddress");
  944. table->vkGetSemaphoreCounterValue = (PFN_vkGetSemaphoreCounterValue)load(context, "vkGetSemaphoreCounterValue");
  945. table->vkResetQueryPool = (PFN_vkResetQueryPool)load(context, "vkResetQueryPool");
  946. table->vkSignalSemaphore = (PFN_vkSignalSemaphore)load(context, "vkSignalSemaphore");
  947. table->vkWaitSemaphores = (PFN_vkWaitSemaphores)load(context, "vkWaitSemaphores");
  948. #endif /* defined(VK_VERSION_1_2) */
  949. #if defined(VK_AMD_buffer_marker)
  950. table->vkCmdWriteBufferMarkerAMD = (PFN_vkCmdWriteBufferMarkerAMD)load(context, "vkCmdWriteBufferMarkerAMD");
  951. #endif /* defined(VK_AMD_buffer_marker) */
  952. #if defined(VK_AMD_display_native_hdr)
  953. table->vkSetLocalDimmingAMD = (PFN_vkSetLocalDimmingAMD)load(context, "vkSetLocalDimmingAMD");
  954. #endif /* defined(VK_AMD_display_native_hdr) */
  955. #if defined(VK_AMD_draw_indirect_count)
  956. table->vkCmdDrawIndexedIndirectCountAMD = (PFN_vkCmdDrawIndexedIndirectCountAMD)load(context, "vkCmdDrawIndexedIndirectCountAMD");
  957. table->vkCmdDrawIndirectCountAMD = (PFN_vkCmdDrawIndirectCountAMD)load(context, "vkCmdDrawIndirectCountAMD");
  958. #endif /* defined(VK_AMD_draw_indirect_count) */
  959. #if defined(VK_AMD_shader_info)
  960. table->vkGetShaderInfoAMD = (PFN_vkGetShaderInfoAMD)load(context, "vkGetShaderInfoAMD");
  961. #endif /* defined(VK_AMD_shader_info) */
  962. #if defined(VK_ANDROID_external_memory_android_hardware_buffer)
  963. table->vkGetAndroidHardwareBufferPropertiesANDROID = (PFN_vkGetAndroidHardwareBufferPropertiesANDROID)load(context, "vkGetAndroidHardwareBufferPropertiesANDROID");
  964. table->vkGetMemoryAndroidHardwareBufferANDROID = (PFN_vkGetMemoryAndroidHardwareBufferANDROID)load(context, "vkGetMemoryAndroidHardwareBufferANDROID");
  965. #endif /* defined(VK_ANDROID_external_memory_android_hardware_buffer) */
  966. #if defined(VK_EXT_buffer_device_address)
  967. table->vkGetBufferDeviceAddressEXT = (PFN_vkGetBufferDeviceAddressEXT)load(context, "vkGetBufferDeviceAddressEXT");
  968. #endif /* defined(VK_EXT_buffer_device_address) */
  969. #if defined(VK_EXT_calibrated_timestamps)
  970. table->vkGetCalibratedTimestampsEXT = (PFN_vkGetCalibratedTimestampsEXT)load(context, "vkGetCalibratedTimestampsEXT");
  971. #endif /* defined(VK_EXT_calibrated_timestamps) */
  972. #if defined(VK_EXT_conditional_rendering)
  973. table->vkCmdBeginConditionalRenderingEXT = (PFN_vkCmdBeginConditionalRenderingEXT)load(context, "vkCmdBeginConditionalRenderingEXT");
  974. table->vkCmdEndConditionalRenderingEXT = (PFN_vkCmdEndConditionalRenderingEXT)load(context, "vkCmdEndConditionalRenderingEXT");
  975. #endif /* defined(VK_EXT_conditional_rendering) */
  976. #if defined(VK_EXT_debug_marker)
  977. table->vkCmdDebugMarkerBeginEXT = (PFN_vkCmdDebugMarkerBeginEXT)load(context, "vkCmdDebugMarkerBeginEXT");
  978. table->vkCmdDebugMarkerEndEXT = (PFN_vkCmdDebugMarkerEndEXT)load(context, "vkCmdDebugMarkerEndEXT");
  979. table->vkCmdDebugMarkerInsertEXT = (PFN_vkCmdDebugMarkerInsertEXT)load(context, "vkCmdDebugMarkerInsertEXT");
  980. table->vkDebugMarkerSetObjectNameEXT = (PFN_vkDebugMarkerSetObjectNameEXT)load(context, "vkDebugMarkerSetObjectNameEXT");
  981. table->vkDebugMarkerSetObjectTagEXT = (PFN_vkDebugMarkerSetObjectTagEXT)load(context, "vkDebugMarkerSetObjectTagEXT");
  982. #endif /* defined(VK_EXT_debug_marker) */
  983. #if defined(VK_EXT_discard_rectangles)
  984. table->vkCmdSetDiscardRectangleEXT = (PFN_vkCmdSetDiscardRectangleEXT)load(context, "vkCmdSetDiscardRectangleEXT");
  985. #endif /* defined(VK_EXT_discard_rectangles) */
  986. #if defined(VK_EXT_display_control)
  987. table->vkDisplayPowerControlEXT = (PFN_vkDisplayPowerControlEXT)load(context, "vkDisplayPowerControlEXT");
  988. table->vkGetSwapchainCounterEXT = (PFN_vkGetSwapchainCounterEXT)load(context, "vkGetSwapchainCounterEXT");
  989. table->vkRegisterDeviceEventEXT = (PFN_vkRegisterDeviceEventEXT)load(context, "vkRegisterDeviceEventEXT");
  990. table->vkRegisterDisplayEventEXT = (PFN_vkRegisterDisplayEventEXT)load(context, "vkRegisterDisplayEventEXT");
  991. #endif /* defined(VK_EXT_display_control) */
  992. #if defined(VK_EXT_extended_dynamic_state)
  993. table->vkCmdBindVertexBuffers2EXT = (PFN_vkCmdBindVertexBuffers2EXT)load(context, "vkCmdBindVertexBuffers2EXT");
  994. table->vkCmdSetCullModeEXT = (PFN_vkCmdSetCullModeEXT)load(context, "vkCmdSetCullModeEXT");
  995. table->vkCmdSetDepthBoundsTestEnableEXT = (PFN_vkCmdSetDepthBoundsTestEnableEXT)load(context, "vkCmdSetDepthBoundsTestEnableEXT");
  996. table->vkCmdSetDepthCompareOpEXT = (PFN_vkCmdSetDepthCompareOpEXT)load(context, "vkCmdSetDepthCompareOpEXT");
  997. table->vkCmdSetDepthTestEnableEXT = (PFN_vkCmdSetDepthTestEnableEXT)load(context, "vkCmdSetDepthTestEnableEXT");
  998. table->vkCmdSetDepthWriteEnableEXT = (PFN_vkCmdSetDepthWriteEnableEXT)load(context, "vkCmdSetDepthWriteEnableEXT");
  999. table->vkCmdSetFrontFaceEXT = (PFN_vkCmdSetFrontFaceEXT)load(context, "vkCmdSetFrontFaceEXT");
  1000. table->vkCmdSetPrimitiveTopologyEXT = (PFN_vkCmdSetPrimitiveTopologyEXT)load(context, "vkCmdSetPrimitiveTopologyEXT");
  1001. table->vkCmdSetScissorWithCountEXT = (PFN_vkCmdSetScissorWithCountEXT)load(context, "vkCmdSetScissorWithCountEXT");
  1002. table->vkCmdSetStencilOpEXT = (PFN_vkCmdSetStencilOpEXT)load(context, "vkCmdSetStencilOpEXT");
  1003. table->vkCmdSetStencilTestEnableEXT = (PFN_vkCmdSetStencilTestEnableEXT)load(context, "vkCmdSetStencilTestEnableEXT");
  1004. table->vkCmdSetViewportWithCountEXT = (PFN_vkCmdSetViewportWithCountEXT)load(context, "vkCmdSetViewportWithCountEXT");
  1005. #endif /* defined(VK_EXT_extended_dynamic_state) */
  1006. #if defined(VK_EXT_external_memory_host)
  1007. table->vkGetMemoryHostPointerPropertiesEXT = (PFN_vkGetMemoryHostPointerPropertiesEXT)load(context, "vkGetMemoryHostPointerPropertiesEXT");
  1008. #endif /* defined(VK_EXT_external_memory_host) */
  1009. #if defined(VK_EXT_full_screen_exclusive)
  1010. table->vkAcquireFullScreenExclusiveModeEXT = (PFN_vkAcquireFullScreenExclusiveModeEXT)load(context, "vkAcquireFullScreenExclusiveModeEXT");
  1011. table->vkReleaseFullScreenExclusiveModeEXT = (PFN_vkReleaseFullScreenExclusiveModeEXT)load(context, "vkReleaseFullScreenExclusiveModeEXT");
  1012. #endif /* defined(VK_EXT_full_screen_exclusive) */
  1013. #if defined(VK_EXT_hdr_metadata)
  1014. table->vkSetHdrMetadataEXT = (PFN_vkSetHdrMetadataEXT)load(context, "vkSetHdrMetadataEXT");
  1015. #endif /* defined(VK_EXT_hdr_metadata) */
  1016. #if defined(VK_EXT_host_query_reset)
  1017. table->vkResetQueryPoolEXT = (PFN_vkResetQueryPoolEXT)load(context, "vkResetQueryPoolEXT");
  1018. #endif /* defined(VK_EXT_host_query_reset) */
  1019. #if defined(VK_EXT_image_drm_format_modifier)
  1020. table->vkGetImageDrmFormatModifierPropertiesEXT = (PFN_vkGetImageDrmFormatModifierPropertiesEXT)load(context, "vkGetImageDrmFormatModifierPropertiesEXT");
  1021. #endif /* defined(VK_EXT_image_drm_format_modifier) */
  1022. #if defined(VK_EXT_line_rasterization)
  1023. table->vkCmdSetLineStippleEXT = (PFN_vkCmdSetLineStippleEXT)load(context, "vkCmdSetLineStippleEXT");
  1024. #endif /* defined(VK_EXT_line_rasterization) */
  1025. #if defined(VK_EXT_private_data)
  1026. table->vkCreatePrivateDataSlotEXT = (PFN_vkCreatePrivateDataSlotEXT)load(context, "vkCreatePrivateDataSlotEXT");
  1027. table->vkDestroyPrivateDataSlotEXT = (PFN_vkDestroyPrivateDataSlotEXT)load(context, "vkDestroyPrivateDataSlotEXT");
  1028. table->vkGetPrivateDataEXT = (PFN_vkGetPrivateDataEXT)load(context, "vkGetPrivateDataEXT");
  1029. table->vkSetPrivateDataEXT = (PFN_vkSetPrivateDataEXT)load(context, "vkSetPrivateDataEXT");
  1030. #endif /* defined(VK_EXT_private_data) */
  1031. #if defined(VK_EXT_sample_locations)
  1032. table->vkCmdSetSampleLocationsEXT = (PFN_vkCmdSetSampleLocationsEXT)load(context, "vkCmdSetSampleLocationsEXT");
  1033. #endif /* defined(VK_EXT_sample_locations) */
  1034. #if defined(VK_EXT_transform_feedback)
  1035. table->vkCmdBeginQueryIndexedEXT = (PFN_vkCmdBeginQueryIndexedEXT)load(context, "vkCmdBeginQueryIndexedEXT");
  1036. table->vkCmdBeginTransformFeedbackEXT = (PFN_vkCmdBeginTransformFeedbackEXT)load(context, "vkCmdBeginTransformFeedbackEXT");
  1037. table->vkCmdBindTransformFeedbackBuffersEXT = (PFN_vkCmdBindTransformFeedbackBuffersEXT)load(context, "vkCmdBindTransformFeedbackBuffersEXT");
  1038. table->vkCmdDrawIndirectByteCountEXT = (PFN_vkCmdDrawIndirectByteCountEXT)load(context, "vkCmdDrawIndirectByteCountEXT");
  1039. table->vkCmdEndQueryIndexedEXT = (PFN_vkCmdEndQueryIndexedEXT)load(context, "vkCmdEndQueryIndexedEXT");
  1040. table->vkCmdEndTransformFeedbackEXT = (PFN_vkCmdEndTransformFeedbackEXT)load(context, "vkCmdEndTransformFeedbackEXT");
  1041. #endif /* defined(VK_EXT_transform_feedback) */
  1042. #if defined(VK_EXT_validation_cache)
  1043. table->vkCreateValidationCacheEXT = (PFN_vkCreateValidationCacheEXT)load(context, "vkCreateValidationCacheEXT");
  1044. table->vkDestroyValidationCacheEXT = (PFN_vkDestroyValidationCacheEXT)load(context, "vkDestroyValidationCacheEXT");
  1045. table->vkGetValidationCacheDataEXT = (PFN_vkGetValidationCacheDataEXT)load(context, "vkGetValidationCacheDataEXT");
  1046. table->vkMergeValidationCachesEXT = (PFN_vkMergeValidationCachesEXT)load(context, "vkMergeValidationCachesEXT");
  1047. #endif /* defined(VK_EXT_validation_cache) */
  1048. #if defined(VK_GOOGLE_display_timing)
  1049. table->vkGetPastPresentationTimingGOOGLE = (PFN_vkGetPastPresentationTimingGOOGLE)load(context, "vkGetPastPresentationTimingGOOGLE");
  1050. table->vkGetRefreshCycleDurationGOOGLE = (PFN_vkGetRefreshCycleDurationGOOGLE)load(context, "vkGetRefreshCycleDurationGOOGLE");
  1051. #endif /* defined(VK_GOOGLE_display_timing) */
  1052. #if defined(VK_INTEL_performance_query)
  1053. table->vkAcquirePerformanceConfigurationINTEL = (PFN_vkAcquirePerformanceConfigurationINTEL)load(context, "vkAcquirePerformanceConfigurationINTEL");
  1054. table->vkCmdSetPerformanceMarkerINTEL = (PFN_vkCmdSetPerformanceMarkerINTEL)load(context, "vkCmdSetPerformanceMarkerINTEL");
  1055. table->vkCmdSetPerformanceOverrideINTEL = (PFN_vkCmdSetPerformanceOverrideINTEL)load(context, "vkCmdSetPerformanceOverrideINTEL");
  1056. table->vkCmdSetPerformanceStreamMarkerINTEL = (PFN_vkCmdSetPerformanceStreamMarkerINTEL)load(context, "vkCmdSetPerformanceStreamMarkerINTEL");
  1057. table->vkGetPerformanceParameterINTEL = (PFN_vkGetPerformanceParameterINTEL)load(context, "vkGetPerformanceParameterINTEL");
  1058. table->vkInitializePerformanceApiINTEL = (PFN_vkInitializePerformanceApiINTEL)load(context, "vkInitializePerformanceApiINTEL");
  1059. table->vkQueueSetPerformanceConfigurationINTEL = (PFN_vkQueueSetPerformanceConfigurationINTEL)load(context, "vkQueueSetPerformanceConfigurationINTEL");
  1060. table->vkReleasePerformanceConfigurationINTEL = (PFN_vkReleasePerformanceConfigurationINTEL)load(context, "vkReleasePerformanceConfigurationINTEL");
  1061. table->vkUninitializePerformanceApiINTEL = (PFN_vkUninitializePerformanceApiINTEL)load(context, "vkUninitializePerformanceApiINTEL");
  1062. #endif /* defined(VK_INTEL_performance_query) */
  1063. #if defined(VK_KHR_acceleration_structure)
  1064. table->vkBuildAccelerationStructuresKHR = (PFN_vkBuildAccelerationStructuresKHR)load(context, "vkBuildAccelerationStructuresKHR");
  1065. table->vkCmdBuildAccelerationStructuresIndirectKHR = (PFN_vkCmdBuildAccelerationStructuresIndirectKHR)load(context, "vkCmdBuildAccelerationStructuresIndirectKHR");
  1066. table->vkCmdBuildAccelerationStructuresKHR = (PFN_vkCmdBuildAccelerationStructuresKHR)load(context, "vkCmdBuildAccelerationStructuresKHR");
  1067. table->vkCmdCopyAccelerationStructureKHR = (PFN_vkCmdCopyAccelerationStructureKHR)load(context, "vkCmdCopyAccelerationStructureKHR");
  1068. table->vkCmdCopyAccelerationStructureToMemoryKHR = (PFN_vkCmdCopyAccelerationStructureToMemoryKHR)load(context, "vkCmdCopyAccelerationStructureToMemoryKHR");
  1069. table->vkCmdCopyMemoryToAccelerationStructureKHR = (PFN_vkCmdCopyMemoryToAccelerationStructureKHR)load(context, "vkCmdCopyMemoryToAccelerationStructureKHR");
  1070. table->vkCmdWriteAccelerationStructuresPropertiesKHR = (PFN_vkCmdWriteAccelerationStructuresPropertiesKHR)load(context, "vkCmdWriteAccelerationStructuresPropertiesKHR");
  1071. table->vkCopyAccelerationStructureKHR = (PFN_vkCopyAccelerationStructureKHR)load(context, "vkCopyAccelerationStructureKHR");
  1072. table->vkCopyAccelerationStructureToMemoryKHR = (PFN_vkCopyAccelerationStructureToMemoryKHR)load(context, "vkCopyAccelerationStructureToMemoryKHR");
  1073. table->vkCopyMemoryToAccelerationStructureKHR = (PFN_vkCopyMemoryToAccelerationStructureKHR)load(context, "vkCopyMemoryToAccelerationStructureKHR");
  1074. table->vkCreateAccelerationStructureKHR = (PFN_vkCreateAccelerationStructureKHR)load(context, "vkCreateAccelerationStructureKHR");
  1075. table->vkDestroyAccelerationStructureKHR = (PFN_vkDestroyAccelerationStructureKHR)load(context, "vkDestroyAccelerationStructureKHR");
  1076. table->vkGetAccelerationStructureBuildSizesKHR = (PFN_vkGetAccelerationStructureBuildSizesKHR)load(context, "vkGetAccelerationStructureBuildSizesKHR");
  1077. table->vkGetAccelerationStructureDeviceAddressKHR = (PFN_vkGetAccelerationStructureDeviceAddressKHR)load(context, "vkGetAccelerationStructureDeviceAddressKHR");
  1078. table->vkGetDeviceAccelerationStructureCompatibilityKHR = (PFN_vkGetDeviceAccelerationStructureCompatibilityKHR)load(context, "vkGetDeviceAccelerationStructureCompatibilityKHR");
  1079. table->vkWriteAccelerationStructuresPropertiesKHR = (PFN_vkWriteAccelerationStructuresPropertiesKHR)load(context, "vkWriteAccelerationStructuresPropertiesKHR");
  1080. #endif /* defined(VK_KHR_acceleration_structure) */
  1081. #if defined(VK_KHR_bind_memory2)
  1082. table->vkBindBufferMemory2KHR = (PFN_vkBindBufferMemory2KHR)load(context, "vkBindBufferMemory2KHR");
  1083. table->vkBindImageMemory2KHR = (PFN_vkBindImageMemory2KHR)load(context, "vkBindImageMemory2KHR");
  1084. #endif /* defined(VK_KHR_bind_memory2) */
  1085. #if defined(VK_KHR_buffer_device_address)
  1086. table->vkGetBufferDeviceAddressKHR = (PFN_vkGetBufferDeviceAddressKHR)load(context, "vkGetBufferDeviceAddressKHR");
  1087. table->vkGetBufferOpaqueCaptureAddressKHR = (PFN_vkGetBufferOpaqueCaptureAddressKHR)load(context, "vkGetBufferOpaqueCaptureAddressKHR");
  1088. table->vkGetDeviceMemoryOpaqueCaptureAddressKHR = (PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)load(context, "vkGetDeviceMemoryOpaqueCaptureAddressKHR");
  1089. #endif /* defined(VK_KHR_buffer_device_address) */
  1090. #if defined(VK_KHR_copy_commands2)
  1091. table->vkCmdBlitImage2KHR = (PFN_vkCmdBlitImage2KHR)load(context, "vkCmdBlitImage2KHR");
  1092. table->vkCmdCopyBuffer2KHR = (PFN_vkCmdCopyBuffer2KHR)load(context, "vkCmdCopyBuffer2KHR");
  1093. table->vkCmdCopyBufferToImage2KHR = (PFN_vkCmdCopyBufferToImage2KHR)load(context, "vkCmdCopyBufferToImage2KHR");
  1094. table->vkCmdCopyImage2KHR = (PFN_vkCmdCopyImage2KHR)load(context, "vkCmdCopyImage2KHR");
  1095. table->vkCmdCopyImageToBuffer2KHR = (PFN_vkCmdCopyImageToBuffer2KHR)load(context, "vkCmdCopyImageToBuffer2KHR");
  1096. table->vkCmdResolveImage2KHR = (PFN_vkCmdResolveImage2KHR)load(context, "vkCmdResolveImage2KHR");
  1097. #endif /* defined(VK_KHR_copy_commands2) */
  1098. #if defined(VK_KHR_create_renderpass2)
  1099. table->vkCmdBeginRenderPass2KHR = (PFN_vkCmdBeginRenderPass2KHR)load(context, "vkCmdBeginRenderPass2KHR");
  1100. table->vkCmdEndRenderPass2KHR = (PFN_vkCmdEndRenderPass2KHR)load(context, "vkCmdEndRenderPass2KHR");
  1101. table->vkCmdNextSubpass2KHR = (PFN_vkCmdNextSubpass2KHR)load(context, "vkCmdNextSubpass2KHR");
  1102. table->vkCreateRenderPass2KHR = (PFN_vkCreateRenderPass2KHR)load(context, "vkCreateRenderPass2KHR");
  1103. #endif /* defined(VK_KHR_create_renderpass2) */
  1104. #if defined(VK_KHR_deferred_host_operations)
  1105. table->vkCreateDeferredOperationKHR = (PFN_vkCreateDeferredOperationKHR)load(context, "vkCreateDeferredOperationKHR");
  1106. table->vkDeferredOperationJoinKHR = (PFN_vkDeferredOperationJoinKHR)load(context, "vkDeferredOperationJoinKHR");
  1107. table->vkDestroyDeferredOperationKHR = (PFN_vkDestroyDeferredOperationKHR)load(context, "vkDestroyDeferredOperationKHR");
  1108. table->vkGetDeferredOperationMaxConcurrencyKHR = (PFN_vkGetDeferredOperationMaxConcurrencyKHR)load(context, "vkGetDeferredOperationMaxConcurrencyKHR");
  1109. table->vkGetDeferredOperationResultKHR = (PFN_vkGetDeferredOperationResultKHR)load(context, "vkGetDeferredOperationResultKHR");
  1110. #endif /* defined(VK_KHR_deferred_host_operations) */
  1111. #if defined(VK_KHR_descriptor_update_template)
  1112. table->vkCreateDescriptorUpdateTemplateKHR = (PFN_vkCreateDescriptorUpdateTemplateKHR)load(context, "vkCreateDescriptorUpdateTemplateKHR");
  1113. table->vkDestroyDescriptorUpdateTemplateKHR = (PFN_vkDestroyDescriptorUpdateTemplateKHR)load(context, "vkDestroyDescriptorUpdateTemplateKHR");
  1114. table->vkUpdateDescriptorSetWithTemplateKHR = (PFN_vkUpdateDescriptorSetWithTemplateKHR)load(context, "vkUpdateDescriptorSetWithTemplateKHR");
  1115. #endif /* defined(VK_KHR_descriptor_update_template) */
  1116. #if defined(VK_KHR_device_group)
  1117. table->vkCmdDispatchBaseKHR = (PFN_vkCmdDispatchBaseKHR)load(context, "vkCmdDispatchBaseKHR");
  1118. table->vkCmdSetDeviceMaskKHR = (PFN_vkCmdSetDeviceMaskKHR)load(context, "vkCmdSetDeviceMaskKHR");
  1119. table->vkGetDeviceGroupPeerMemoryFeaturesKHR = (PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)load(context, "vkGetDeviceGroupPeerMemoryFeaturesKHR");
  1120. #endif /* defined(VK_KHR_device_group) */
  1121. #if defined(VK_KHR_display_swapchain)
  1122. table->vkCreateSharedSwapchainsKHR = (PFN_vkCreateSharedSwapchainsKHR)load(context, "vkCreateSharedSwapchainsKHR");
  1123. #endif /* defined(VK_KHR_display_swapchain) */
  1124. #if defined(VK_KHR_draw_indirect_count)
  1125. table->vkCmdDrawIndexedIndirectCountKHR = (PFN_vkCmdDrawIndexedIndirectCountKHR)load(context, "vkCmdDrawIndexedIndirectCountKHR");
  1126. table->vkCmdDrawIndirectCountKHR = (PFN_vkCmdDrawIndirectCountKHR)load(context, "vkCmdDrawIndirectCountKHR");
  1127. #endif /* defined(VK_KHR_draw_indirect_count) */
  1128. #if defined(VK_KHR_external_fence_fd)
  1129. table->vkGetFenceFdKHR = (PFN_vkGetFenceFdKHR)load(context, "vkGetFenceFdKHR");
  1130. table->vkImportFenceFdKHR = (PFN_vkImportFenceFdKHR)load(context, "vkImportFenceFdKHR");
  1131. #endif /* defined(VK_KHR_external_fence_fd) */
  1132. #if defined(VK_KHR_external_fence_win32)
  1133. table->vkGetFenceWin32HandleKHR = (PFN_vkGetFenceWin32HandleKHR)load(context, "vkGetFenceWin32HandleKHR");
  1134. table->vkImportFenceWin32HandleKHR = (PFN_vkImportFenceWin32HandleKHR)load(context, "vkImportFenceWin32HandleKHR");
  1135. #endif /* defined(VK_KHR_external_fence_win32) */
  1136. #if defined(VK_KHR_external_memory_fd)
  1137. table->vkGetMemoryFdKHR = (PFN_vkGetMemoryFdKHR)load(context, "vkGetMemoryFdKHR");
  1138. table->vkGetMemoryFdPropertiesKHR = (PFN_vkGetMemoryFdPropertiesKHR)load(context, "vkGetMemoryFdPropertiesKHR");
  1139. #endif /* defined(VK_KHR_external_memory_fd) */
  1140. #if defined(VK_KHR_external_memory_win32)
  1141. table->vkGetMemoryWin32HandleKHR = (PFN_vkGetMemoryWin32HandleKHR)load(context, "vkGetMemoryWin32HandleKHR");
  1142. table->vkGetMemoryWin32HandlePropertiesKHR = (PFN_vkGetMemoryWin32HandlePropertiesKHR)load(context, "vkGetMemoryWin32HandlePropertiesKHR");
  1143. #endif /* defined(VK_KHR_external_memory_win32) */
  1144. #if defined(VK_KHR_external_semaphore_fd)
  1145. table->vkGetSemaphoreFdKHR = (PFN_vkGetSemaphoreFdKHR)load(context, "vkGetSemaphoreFdKHR");
  1146. table->vkImportSemaphoreFdKHR = (PFN_vkImportSemaphoreFdKHR)load(context, "vkImportSemaphoreFdKHR");
  1147. #endif /* defined(VK_KHR_external_semaphore_fd) */
  1148. #if defined(VK_KHR_external_semaphore_win32)
  1149. table->vkGetSemaphoreWin32HandleKHR = (PFN_vkGetSemaphoreWin32HandleKHR)load(context, "vkGetSemaphoreWin32HandleKHR");
  1150. table->vkImportSemaphoreWin32HandleKHR = (PFN_vkImportSemaphoreWin32HandleKHR)load(context, "vkImportSemaphoreWin32HandleKHR");
  1151. #endif /* defined(VK_KHR_external_semaphore_win32) */
  1152. #if defined(VK_KHR_fragment_shading_rate)
  1153. table->vkCmdSetFragmentShadingRateKHR = (PFN_vkCmdSetFragmentShadingRateKHR)load(context, "vkCmdSetFragmentShadingRateKHR");
  1154. #endif /* defined(VK_KHR_fragment_shading_rate) */
  1155. #if defined(VK_KHR_get_memory_requirements2)
  1156. table->vkGetBufferMemoryRequirements2KHR = (PFN_vkGetBufferMemoryRequirements2KHR)load(context, "vkGetBufferMemoryRequirements2KHR");
  1157. table->vkGetImageMemoryRequirements2KHR = (PFN_vkGetImageMemoryRequirements2KHR)load(context, "vkGetImageMemoryRequirements2KHR");
  1158. table->vkGetImageSparseMemoryRequirements2KHR = (PFN_vkGetImageSparseMemoryRequirements2KHR)load(context, "vkGetImageSparseMemoryRequirements2KHR");
  1159. #endif /* defined(VK_KHR_get_memory_requirements2) */
  1160. #if defined(VK_KHR_maintenance1)
  1161. table->vkTrimCommandPoolKHR = (PFN_vkTrimCommandPoolKHR)load(context, "vkTrimCommandPoolKHR");
  1162. #endif /* defined(VK_KHR_maintenance1) */
  1163. #if defined(VK_KHR_maintenance3)
  1164. table->vkGetDescriptorSetLayoutSupportKHR = (PFN_vkGetDescriptorSetLayoutSupportKHR)load(context, "vkGetDescriptorSetLayoutSupportKHR");
  1165. #endif /* defined(VK_KHR_maintenance3) */
  1166. #if defined(VK_KHR_performance_query)
  1167. table->vkAcquireProfilingLockKHR = (PFN_vkAcquireProfilingLockKHR)load(context, "vkAcquireProfilingLockKHR");
  1168. table->vkReleaseProfilingLockKHR = (PFN_vkReleaseProfilingLockKHR)load(context, "vkReleaseProfilingLockKHR");
  1169. #endif /* defined(VK_KHR_performance_query) */
  1170. #if defined(VK_KHR_pipeline_executable_properties)
  1171. table->vkGetPipelineExecutableInternalRepresentationsKHR = (PFN_vkGetPipelineExecutableInternalRepresentationsKHR)load(context, "vkGetPipelineExecutableInternalRepresentationsKHR");
  1172. table->vkGetPipelineExecutablePropertiesKHR = (PFN_vkGetPipelineExecutablePropertiesKHR)load(context, "vkGetPipelineExecutablePropertiesKHR");
  1173. table->vkGetPipelineExecutableStatisticsKHR = (PFN_vkGetPipelineExecutableStatisticsKHR)load(context, "vkGetPipelineExecutableStatisticsKHR");
  1174. #endif /* defined(VK_KHR_pipeline_executable_properties) */
  1175. #if defined(VK_KHR_push_descriptor)
  1176. table->vkCmdPushDescriptorSetKHR = (PFN_vkCmdPushDescriptorSetKHR)load(context, "vkCmdPushDescriptorSetKHR");
  1177. #endif /* defined(VK_KHR_push_descriptor) */
  1178. #if defined(VK_KHR_ray_tracing_pipeline)
  1179. table->vkCmdSetRayTracingPipelineStackSizeKHR = (PFN_vkCmdSetRayTracingPipelineStackSizeKHR)load(context, "vkCmdSetRayTracingPipelineStackSizeKHR");
  1180. table->vkCmdTraceRaysIndirectKHR = (PFN_vkCmdTraceRaysIndirectKHR)load(context, "vkCmdTraceRaysIndirectKHR");
  1181. table->vkCmdTraceRaysKHR = (PFN_vkCmdTraceRaysKHR)load(context, "vkCmdTraceRaysKHR");
  1182. table->vkCreateRayTracingPipelinesKHR = (PFN_vkCreateRayTracingPipelinesKHR)load(context, "vkCreateRayTracingPipelinesKHR");
  1183. table->vkGetRayTracingCaptureReplayShaderGroupHandlesKHR = (PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR)load(context, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR");
  1184. table->vkGetRayTracingShaderGroupHandlesKHR = (PFN_vkGetRayTracingShaderGroupHandlesKHR)load(context, "vkGetRayTracingShaderGroupHandlesKHR");
  1185. table->vkGetRayTracingShaderGroupStackSizeKHR = (PFN_vkGetRayTracingShaderGroupStackSizeKHR)load(context, "vkGetRayTracingShaderGroupStackSizeKHR");
  1186. #endif /* defined(VK_KHR_ray_tracing_pipeline) */
  1187. #if defined(VK_KHR_sampler_ycbcr_conversion)
  1188. table->vkCreateSamplerYcbcrConversionKHR = (PFN_vkCreateSamplerYcbcrConversionKHR)load(context, "vkCreateSamplerYcbcrConversionKHR");
  1189. table->vkDestroySamplerYcbcrConversionKHR = (PFN_vkDestroySamplerYcbcrConversionKHR)load(context, "vkDestroySamplerYcbcrConversionKHR");
  1190. #endif /* defined(VK_KHR_sampler_ycbcr_conversion) */
  1191. #if defined(VK_KHR_shared_presentable_image)
  1192. table->vkGetSwapchainStatusKHR = (PFN_vkGetSwapchainStatusKHR)load(context, "vkGetSwapchainStatusKHR");
  1193. #endif /* defined(VK_KHR_shared_presentable_image) */
  1194. #if defined(VK_KHR_swapchain)
  1195. table->vkAcquireNextImageKHR = (PFN_vkAcquireNextImageKHR)load(context, "vkAcquireNextImageKHR");
  1196. table->vkCreateSwapchainKHR = (PFN_vkCreateSwapchainKHR)load(context, "vkCreateSwapchainKHR");
  1197. table->vkDestroySwapchainKHR = (PFN_vkDestroySwapchainKHR)load(context, "vkDestroySwapchainKHR");
  1198. table->vkGetSwapchainImagesKHR = (PFN_vkGetSwapchainImagesKHR)load(context, "vkGetSwapchainImagesKHR");
  1199. table->vkQueuePresentKHR = (PFN_vkQueuePresentKHR)load(context, "vkQueuePresentKHR");
  1200. #endif /* defined(VK_KHR_swapchain) */
  1201. #if defined(VK_KHR_timeline_semaphore)
  1202. table->vkGetSemaphoreCounterValueKHR = (PFN_vkGetSemaphoreCounterValueKHR)load(context, "vkGetSemaphoreCounterValueKHR");
  1203. table->vkSignalSemaphoreKHR = (PFN_vkSignalSemaphoreKHR)load(context, "vkSignalSemaphoreKHR");
  1204. table->vkWaitSemaphoresKHR = (PFN_vkWaitSemaphoresKHR)load(context, "vkWaitSemaphoresKHR");
  1205. #endif /* defined(VK_KHR_timeline_semaphore) */
  1206. #if defined(VK_NVX_image_view_handle)
  1207. table->vkGetImageViewAddressNVX = (PFN_vkGetImageViewAddressNVX)load(context, "vkGetImageViewAddressNVX");
  1208. table->vkGetImageViewHandleNVX = (PFN_vkGetImageViewHandleNVX)load(context, "vkGetImageViewHandleNVX");
  1209. #endif /* defined(VK_NVX_image_view_handle) */
  1210. #if defined(VK_NV_clip_space_w_scaling)
  1211. table->vkCmdSetViewportWScalingNV = (PFN_vkCmdSetViewportWScalingNV)load(context, "vkCmdSetViewportWScalingNV");
  1212. #endif /* defined(VK_NV_clip_space_w_scaling) */
  1213. #if defined(VK_NV_device_diagnostic_checkpoints)
  1214. table->vkCmdSetCheckpointNV = (PFN_vkCmdSetCheckpointNV)load(context, "vkCmdSetCheckpointNV");
  1215. table->vkGetQueueCheckpointDataNV = (PFN_vkGetQueueCheckpointDataNV)load(context, "vkGetQueueCheckpointDataNV");
  1216. #endif /* defined(VK_NV_device_diagnostic_checkpoints) */
  1217. #if defined(VK_NV_device_generated_commands)
  1218. table->vkCmdBindPipelineShaderGroupNV = (PFN_vkCmdBindPipelineShaderGroupNV)load(context, "vkCmdBindPipelineShaderGroupNV");
  1219. table->vkCmdExecuteGeneratedCommandsNV = (PFN_vkCmdExecuteGeneratedCommandsNV)load(context, "vkCmdExecuteGeneratedCommandsNV");
  1220. table->vkCmdPreprocessGeneratedCommandsNV = (PFN_vkCmdPreprocessGeneratedCommandsNV)load(context, "vkCmdPreprocessGeneratedCommandsNV");
  1221. table->vkCreateIndirectCommandsLayoutNV = (PFN_vkCreateIndirectCommandsLayoutNV)load(context, "vkCreateIndirectCommandsLayoutNV");
  1222. table->vkDestroyIndirectCommandsLayoutNV = (PFN_vkDestroyIndirectCommandsLayoutNV)load(context, "vkDestroyIndirectCommandsLayoutNV");
  1223. table->vkGetGeneratedCommandsMemoryRequirementsNV = (PFN_vkGetGeneratedCommandsMemoryRequirementsNV)load(context, "vkGetGeneratedCommandsMemoryRequirementsNV");
  1224. #endif /* defined(VK_NV_device_generated_commands) */
  1225. #if defined(VK_NV_external_memory_win32)
  1226. table->vkGetMemoryWin32HandleNV = (PFN_vkGetMemoryWin32HandleNV)load(context, "vkGetMemoryWin32HandleNV");
  1227. #endif /* defined(VK_NV_external_memory_win32) */
  1228. #if defined(VK_NV_fragment_shading_rate_enums)
  1229. table->vkCmdSetFragmentShadingRateEnumNV = (PFN_vkCmdSetFragmentShadingRateEnumNV)load(context, "vkCmdSetFragmentShadingRateEnumNV");
  1230. #endif /* defined(VK_NV_fragment_shading_rate_enums) */
  1231. #if defined(VK_NV_mesh_shader)
  1232. table->vkCmdDrawMeshTasksIndirectCountNV = (PFN_vkCmdDrawMeshTasksIndirectCountNV)load(context, "vkCmdDrawMeshTasksIndirectCountNV");
  1233. table->vkCmdDrawMeshTasksIndirectNV = (PFN_vkCmdDrawMeshTasksIndirectNV)load(context, "vkCmdDrawMeshTasksIndirectNV");
  1234. table->vkCmdDrawMeshTasksNV = (PFN_vkCmdDrawMeshTasksNV)load(context, "vkCmdDrawMeshTasksNV");
  1235. #endif /* defined(VK_NV_mesh_shader) */
  1236. #if defined(VK_NV_ray_tracing)
  1237. table->vkBindAccelerationStructureMemoryNV = (PFN_vkBindAccelerationStructureMemoryNV)load(context, "vkBindAccelerationStructureMemoryNV");
  1238. table->vkCmdBuildAccelerationStructureNV = (PFN_vkCmdBuildAccelerationStructureNV)load(context, "vkCmdBuildAccelerationStructureNV");
  1239. table->vkCmdCopyAccelerationStructureNV = (PFN_vkCmdCopyAccelerationStructureNV)load(context, "vkCmdCopyAccelerationStructureNV");
  1240. table->vkCmdTraceRaysNV = (PFN_vkCmdTraceRaysNV)load(context, "vkCmdTraceRaysNV");
  1241. table->vkCmdWriteAccelerationStructuresPropertiesNV = (PFN_vkCmdWriteAccelerationStructuresPropertiesNV)load(context, "vkCmdWriteAccelerationStructuresPropertiesNV");
  1242. table->vkCompileDeferredNV = (PFN_vkCompileDeferredNV)load(context, "vkCompileDeferredNV");
  1243. table->vkCreateAccelerationStructureNV = (PFN_vkCreateAccelerationStructureNV)load(context, "vkCreateAccelerationStructureNV");
  1244. table->vkCreateRayTracingPipelinesNV = (PFN_vkCreateRayTracingPipelinesNV)load(context, "vkCreateRayTracingPipelinesNV");
  1245. table->vkDestroyAccelerationStructureNV = (PFN_vkDestroyAccelerationStructureNV)load(context, "vkDestroyAccelerationStructureNV");
  1246. table->vkGetAccelerationStructureHandleNV = (PFN_vkGetAccelerationStructureHandleNV)load(context, "vkGetAccelerationStructureHandleNV");
  1247. table->vkGetAccelerationStructureMemoryRequirementsNV = (PFN_vkGetAccelerationStructureMemoryRequirementsNV)load(context, "vkGetAccelerationStructureMemoryRequirementsNV");
  1248. table->vkGetRayTracingShaderGroupHandlesNV = (PFN_vkGetRayTracingShaderGroupHandlesNV)load(context, "vkGetRayTracingShaderGroupHandlesNV");
  1249. #endif /* defined(VK_NV_ray_tracing) */
  1250. #if defined(VK_NV_scissor_exclusive)
  1251. table->vkCmdSetExclusiveScissorNV = (PFN_vkCmdSetExclusiveScissorNV)load(context, "vkCmdSetExclusiveScissorNV");
  1252. #endif /* defined(VK_NV_scissor_exclusive) */
  1253. #if defined(VK_NV_shading_rate_image)
  1254. table->vkCmdBindShadingRateImageNV = (PFN_vkCmdBindShadingRateImageNV)load(context, "vkCmdBindShadingRateImageNV");
  1255. table->vkCmdSetCoarseSampleOrderNV = (PFN_vkCmdSetCoarseSampleOrderNV)load(context, "vkCmdSetCoarseSampleOrderNV");
  1256. table->vkCmdSetViewportShadingRatePaletteNV = (PFN_vkCmdSetViewportShadingRatePaletteNV)load(context, "vkCmdSetViewportShadingRatePaletteNV");
  1257. #endif /* defined(VK_NV_shading_rate_image) */
  1258. #if (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1))
  1259. table->vkGetDeviceGroupSurfacePresentModes2EXT = (PFN_vkGetDeviceGroupSurfacePresentModes2EXT)load(context, "vkGetDeviceGroupSurfacePresentModes2EXT");
  1260. #endif /* (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1)) */
  1261. #if (defined(VK_KHR_descriptor_update_template) && defined(VK_KHR_push_descriptor)) || (defined(VK_KHR_push_descriptor) && defined(VK_VERSION_1_1)) || (defined(VK_KHR_push_descriptor) && defined(VK_KHR_descriptor_update_template))
  1262. table->vkCmdPushDescriptorSetWithTemplateKHR = (PFN_vkCmdPushDescriptorSetWithTemplateKHR)load(context, "vkCmdPushDescriptorSetWithTemplateKHR");
  1263. #endif /* (defined(VK_KHR_descriptor_update_template) && defined(VK_KHR_push_descriptor)) || (defined(VK_KHR_push_descriptor) && defined(VK_VERSION_1_1)) || (defined(VK_KHR_push_descriptor) && defined(VK_KHR_descriptor_update_template)) */
  1264. #if (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1))
  1265. table->vkGetDeviceGroupPresentCapabilitiesKHR = (PFN_vkGetDeviceGroupPresentCapabilitiesKHR)load(context, "vkGetDeviceGroupPresentCapabilitiesKHR");
  1266. table->vkGetDeviceGroupSurfacePresentModesKHR = (PFN_vkGetDeviceGroupSurfacePresentModesKHR)load(context, "vkGetDeviceGroupSurfacePresentModesKHR");
  1267. #endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */
  1268. #if (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1))
  1269. table->vkAcquireNextImage2KHR = (PFN_vkAcquireNextImage2KHR)load(context, "vkAcquireNextImage2KHR");
  1270. #endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */
  1271. /* VOLK_GENERATE_LOAD_DEVICE_TABLE */
  1272. }
  1273. #ifdef __GNUC__
  1274. #ifdef VOLK_DEFAULT_VISIBILITY
  1275. # pragma GCC visibility push(default)
  1276. #else
  1277. # pragma GCC visibility push(hidden)
  1278. #endif
  1279. #endif
  1280. /* VOLK_GENERATE_PROTOTYPES_C */
  1281. #if defined(VK_VERSION_1_0)
  1282. PFN_vkAllocateCommandBuffers vkAllocateCommandBuffers;
  1283. PFN_vkAllocateDescriptorSets vkAllocateDescriptorSets;
  1284. PFN_vkAllocateMemory vkAllocateMemory;
  1285. PFN_vkBeginCommandBuffer vkBeginCommandBuffer;
  1286. PFN_vkBindBufferMemory vkBindBufferMemory;
  1287. PFN_vkBindImageMemory vkBindImageMemory;
  1288. PFN_vkCmdBeginQuery vkCmdBeginQuery;
  1289. PFN_vkCmdBeginRenderPass vkCmdBeginRenderPass;
  1290. PFN_vkCmdBindDescriptorSets vkCmdBindDescriptorSets;
  1291. PFN_vkCmdBindIndexBuffer vkCmdBindIndexBuffer;
  1292. PFN_vkCmdBindPipeline vkCmdBindPipeline;
  1293. PFN_vkCmdBindVertexBuffers vkCmdBindVertexBuffers;
  1294. PFN_vkCmdBlitImage vkCmdBlitImage;
  1295. PFN_vkCmdClearAttachments vkCmdClearAttachments;
  1296. PFN_vkCmdClearColorImage vkCmdClearColorImage;
  1297. PFN_vkCmdClearDepthStencilImage vkCmdClearDepthStencilImage;
  1298. PFN_vkCmdCopyBuffer vkCmdCopyBuffer;
  1299. PFN_vkCmdCopyBufferToImage vkCmdCopyBufferToImage;
  1300. PFN_vkCmdCopyImage vkCmdCopyImage;
  1301. PFN_vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer;
  1302. PFN_vkCmdCopyQueryPoolResults vkCmdCopyQueryPoolResults;
  1303. PFN_vkCmdDispatch vkCmdDispatch;
  1304. PFN_vkCmdDispatchIndirect vkCmdDispatchIndirect;
  1305. PFN_vkCmdDraw vkCmdDraw;
  1306. PFN_vkCmdDrawIndexed vkCmdDrawIndexed;
  1307. PFN_vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect;
  1308. PFN_vkCmdDrawIndirect vkCmdDrawIndirect;
  1309. PFN_vkCmdEndQuery vkCmdEndQuery;
  1310. PFN_vkCmdEndRenderPass vkCmdEndRenderPass;
  1311. PFN_vkCmdExecuteCommands vkCmdExecuteCommands;
  1312. PFN_vkCmdFillBuffer vkCmdFillBuffer;
  1313. PFN_vkCmdNextSubpass vkCmdNextSubpass;
  1314. PFN_vkCmdPipelineBarrier vkCmdPipelineBarrier;
  1315. PFN_vkCmdPushConstants vkCmdPushConstants;
  1316. PFN_vkCmdResetEvent vkCmdResetEvent;
  1317. PFN_vkCmdResetQueryPool vkCmdResetQueryPool;
  1318. PFN_vkCmdResolveImage vkCmdResolveImage;
  1319. PFN_vkCmdSetBlendConstants vkCmdSetBlendConstants;
  1320. PFN_vkCmdSetDepthBias vkCmdSetDepthBias;
  1321. PFN_vkCmdSetDepthBounds vkCmdSetDepthBounds;
  1322. PFN_vkCmdSetEvent vkCmdSetEvent;
  1323. PFN_vkCmdSetLineWidth vkCmdSetLineWidth;
  1324. PFN_vkCmdSetScissor vkCmdSetScissor;
  1325. PFN_vkCmdSetStencilCompareMask vkCmdSetStencilCompareMask;
  1326. PFN_vkCmdSetStencilReference vkCmdSetStencilReference;
  1327. PFN_vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask;
  1328. PFN_vkCmdSetViewport vkCmdSetViewport;
  1329. PFN_vkCmdUpdateBuffer vkCmdUpdateBuffer;
  1330. PFN_vkCmdWaitEvents vkCmdWaitEvents;
  1331. PFN_vkCmdWriteTimestamp vkCmdWriteTimestamp;
  1332. PFN_vkCreateBuffer vkCreateBuffer;
  1333. PFN_vkCreateBufferView vkCreateBufferView;
  1334. PFN_vkCreateCommandPool vkCreateCommandPool;
  1335. PFN_vkCreateComputePipelines vkCreateComputePipelines;
  1336. PFN_vkCreateDescriptorPool vkCreateDescriptorPool;
  1337. PFN_vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout;
  1338. PFN_vkCreateDevice vkCreateDevice;
  1339. PFN_vkCreateEvent vkCreateEvent;
  1340. PFN_vkCreateFence vkCreateFence;
  1341. PFN_vkCreateFramebuffer vkCreateFramebuffer;
  1342. PFN_vkCreateGraphicsPipelines vkCreateGraphicsPipelines;
  1343. PFN_vkCreateImage vkCreateImage;
  1344. PFN_vkCreateImageView vkCreateImageView;
  1345. PFN_vkCreateInstance vkCreateInstance;
  1346. PFN_vkCreatePipelineCache vkCreatePipelineCache;
  1347. PFN_vkCreatePipelineLayout vkCreatePipelineLayout;
  1348. PFN_vkCreateQueryPool vkCreateQueryPool;
  1349. PFN_vkCreateRenderPass vkCreateRenderPass;
  1350. PFN_vkCreateSampler vkCreateSampler;
  1351. PFN_vkCreateSemaphore vkCreateSemaphore;
  1352. PFN_vkCreateShaderModule vkCreateShaderModule;
  1353. PFN_vkDestroyBuffer vkDestroyBuffer;
  1354. PFN_vkDestroyBufferView vkDestroyBufferView;
  1355. PFN_vkDestroyCommandPool vkDestroyCommandPool;
  1356. PFN_vkDestroyDescriptorPool vkDestroyDescriptorPool;
  1357. PFN_vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout;
  1358. PFN_vkDestroyDevice vkDestroyDevice;
  1359. PFN_vkDestroyEvent vkDestroyEvent;
  1360. PFN_vkDestroyFence vkDestroyFence;
  1361. PFN_vkDestroyFramebuffer vkDestroyFramebuffer;
  1362. PFN_vkDestroyImage vkDestroyImage;
  1363. PFN_vkDestroyImageView vkDestroyImageView;
  1364. PFN_vkDestroyInstance vkDestroyInstance;
  1365. PFN_vkDestroyPipeline vkDestroyPipeline;
  1366. PFN_vkDestroyPipelineCache vkDestroyPipelineCache;
  1367. PFN_vkDestroyPipelineLayout vkDestroyPipelineLayout;
  1368. PFN_vkDestroyQueryPool vkDestroyQueryPool;
  1369. PFN_vkDestroyRenderPass vkDestroyRenderPass;
  1370. PFN_vkDestroySampler vkDestroySampler;
  1371. PFN_vkDestroySemaphore vkDestroySemaphore;
  1372. PFN_vkDestroyShaderModule vkDestroyShaderModule;
  1373. PFN_vkDeviceWaitIdle vkDeviceWaitIdle;
  1374. PFN_vkEndCommandBuffer vkEndCommandBuffer;
  1375. PFN_vkEnumerateDeviceExtensionProperties vkEnumerateDeviceExtensionProperties;
  1376. PFN_vkEnumerateDeviceLayerProperties vkEnumerateDeviceLayerProperties;
  1377. PFN_vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties;
  1378. PFN_vkEnumerateInstanceLayerProperties vkEnumerateInstanceLayerProperties;
  1379. PFN_vkEnumeratePhysicalDevices vkEnumeratePhysicalDevices;
  1380. PFN_vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges;
  1381. PFN_vkFreeCommandBuffers vkFreeCommandBuffers;
  1382. PFN_vkFreeDescriptorSets vkFreeDescriptorSets;
  1383. PFN_vkFreeMemory vkFreeMemory;
  1384. PFN_vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements;
  1385. PFN_vkGetDeviceMemoryCommitment vkGetDeviceMemoryCommitment;
  1386. PFN_vkGetDeviceProcAddr vkGetDeviceProcAddr;
  1387. PFN_vkGetDeviceQueue vkGetDeviceQueue;
  1388. PFN_vkGetEventStatus vkGetEventStatus;
  1389. PFN_vkGetFenceStatus vkGetFenceStatus;
  1390. PFN_vkGetImageMemoryRequirements vkGetImageMemoryRequirements;
  1391. PFN_vkGetImageSparseMemoryRequirements vkGetImageSparseMemoryRequirements;
  1392. PFN_vkGetImageSubresourceLayout vkGetImageSubresourceLayout;
  1393. PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr;
  1394. PFN_vkGetPhysicalDeviceFeatures vkGetPhysicalDeviceFeatures;
  1395. PFN_vkGetPhysicalDeviceFormatProperties vkGetPhysicalDeviceFormatProperties;
  1396. PFN_vkGetPhysicalDeviceImageFormatProperties vkGetPhysicalDeviceImageFormatProperties;
  1397. PFN_vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties;
  1398. PFN_vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties;
  1399. PFN_vkGetPhysicalDeviceQueueFamilyProperties vkGetPhysicalDeviceQueueFamilyProperties;
  1400. PFN_vkGetPhysicalDeviceSparseImageFormatProperties vkGetPhysicalDeviceSparseImageFormatProperties;
  1401. PFN_vkGetPipelineCacheData vkGetPipelineCacheData;
  1402. PFN_vkGetQueryPoolResults vkGetQueryPoolResults;
  1403. PFN_vkGetRenderAreaGranularity vkGetRenderAreaGranularity;
  1404. PFN_vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges;
  1405. PFN_vkMapMemory vkMapMemory;
  1406. PFN_vkMergePipelineCaches vkMergePipelineCaches;
  1407. PFN_vkQueueBindSparse vkQueueBindSparse;
  1408. PFN_vkQueueSubmit vkQueueSubmit;
  1409. PFN_vkQueueWaitIdle vkQueueWaitIdle;
  1410. PFN_vkResetCommandBuffer vkResetCommandBuffer;
  1411. PFN_vkResetCommandPool vkResetCommandPool;
  1412. PFN_vkResetDescriptorPool vkResetDescriptorPool;
  1413. PFN_vkResetEvent vkResetEvent;
  1414. PFN_vkResetFences vkResetFences;
  1415. PFN_vkSetEvent vkSetEvent;
  1416. PFN_vkUnmapMemory vkUnmapMemory;
  1417. PFN_vkUpdateDescriptorSets vkUpdateDescriptorSets;
  1418. PFN_vkWaitForFences vkWaitForFences;
  1419. #endif /* defined(VK_VERSION_1_0) */
  1420. #if defined(VK_VERSION_1_1)
  1421. PFN_vkBindBufferMemory2 vkBindBufferMemory2;
  1422. PFN_vkBindImageMemory2 vkBindImageMemory2;
  1423. PFN_vkCmdDispatchBase vkCmdDispatchBase;
  1424. PFN_vkCmdSetDeviceMask vkCmdSetDeviceMask;
  1425. PFN_vkCreateDescriptorUpdateTemplate vkCreateDescriptorUpdateTemplate;
  1426. PFN_vkCreateSamplerYcbcrConversion vkCreateSamplerYcbcrConversion;
  1427. PFN_vkDestroyDescriptorUpdateTemplate vkDestroyDescriptorUpdateTemplate;
  1428. PFN_vkDestroySamplerYcbcrConversion vkDestroySamplerYcbcrConversion;
  1429. PFN_vkEnumerateInstanceVersion vkEnumerateInstanceVersion;
  1430. PFN_vkEnumeratePhysicalDeviceGroups vkEnumeratePhysicalDeviceGroups;
  1431. PFN_vkGetBufferMemoryRequirements2 vkGetBufferMemoryRequirements2;
  1432. PFN_vkGetDescriptorSetLayoutSupport vkGetDescriptorSetLayoutSupport;
  1433. PFN_vkGetDeviceGroupPeerMemoryFeatures vkGetDeviceGroupPeerMemoryFeatures;
  1434. PFN_vkGetDeviceQueue2 vkGetDeviceQueue2;
  1435. PFN_vkGetImageMemoryRequirements2 vkGetImageMemoryRequirements2;
  1436. PFN_vkGetImageSparseMemoryRequirements2 vkGetImageSparseMemoryRequirements2;
  1437. PFN_vkGetPhysicalDeviceExternalBufferProperties vkGetPhysicalDeviceExternalBufferProperties;
  1438. PFN_vkGetPhysicalDeviceExternalFenceProperties vkGetPhysicalDeviceExternalFenceProperties;
  1439. PFN_vkGetPhysicalDeviceExternalSemaphoreProperties vkGetPhysicalDeviceExternalSemaphoreProperties;
  1440. PFN_vkGetPhysicalDeviceFeatures2 vkGetPhysicalDeviceFeatures2;
  1441. PFN_vkGetPhysicalDeviceFormatProperties2 vkGetPhysicalDeviceFormatProperties2;
  1442. PFN_vkGetPhysicalDeviceImageFormatProperties2 vkGetPhysicalDeviceImageFormatProperties2;
  1443. PFN_vkGetPhysicalDeviceMemoryProperties2 vkGetPhysicalDeviceMemoryProperties2;
  1444. PFN_vkGetPhysicalDeviceProperties2 vkGetPhysicalDeviceProperties2;
  1445. PFN_vkGetPhysicalDeviceQueueFamilyProperties2 vkGetPhysicalDeviceQueueFamilyProperties2;
  1446. PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 vkGetPhysicalDeviceSparseImageFormatProperties2;
  1447. PFN_vkTrimCommandPool vkTrimCommandPool;
  1448. PFN_vkUpdateDescriptorSetWithTemplate vkUpdateDescriptorSetWithTemplate;
  1449. #endif /* defined(VK_VERSION_1_1) */
  1450. #if defined(VK_VERSION_1_2)
  1451. PFN_vkCmdBeginRenderPass2 vkCmdBeginRenderPass2;
  1452. PFN_vkCmdDrawIndexedIndirectCount vkCmdDrawIndexedIndirectCount;
  1453. PFN_vkCmdDrawIndirectCount vkCmdDrawIndirectCount;
  1454. PFN_vkCmdEndRenderPass2 vkCmdEndRenderPass2;
  1455. PFN_vkCmdNextSubpass2 vkCmdNextSubpass2;
  1456. PFN_vkCreateRenderPass2 vkCreateRenderPass2;
  1457. PFN_vkGetBufferDeviceAddress vkGetBufferDeviceAddress;
  1458. PFN_vkGetBufferOpaqueCaptureAddress vkGetBufferOpaqueCaptureAddress;
  1459. PFN_vkGetDeviceMemoryOpaqueCaptureAddress vkGetDeviceMemoryOpaqueCaptureAddress;
  1460. PFN_vkGetSemaphoreCounterValue vkGetSemaphoreCounterValue;
  1461. PFN_vkResetQueryPool vkResetQueryPool;
  1462. PFN_vkSignalSemaphore vkSignalSemaphore;
  1463. PFN_vkWaitSemaphores vkWaitSemaphores;
  1464. #endif /* defined(VK_VERSION_1_2) */
  1465. #if defined(VK_AMD_buffer_marker)
  1466. PFN_vkCmdWriteBufferMarkerAMD vkCmdWriteBufferMarkerAMD;
  1467. #endif /* defined(VK_AMD_buffer_marker) */
  1468. #if defined(VK_AMD_display_native_hdr)
  1469. PFN_vkSetLocalDimmingAMD vkSetLocalDimmingAMD;
  1470. #endif /* defined(VK_AMD_display_native_hdr) */
  1471. #if defined(VK_AMD_draw_indirect_count)
  1472. PFN_vkCmdDrawIndexedIndirectCountAMD vkCmdDrawIndexedIndirectCountAMD;
  1473. PFN_vkCmdDrawIndirectCountAMD vkCmdDrawIndirectCountAMD;
  1474. #endif /* defined(VK_AMD_draw_indirect_count) */
  1475. #if defined(VK_AMD_shader_info)
  1476. PFN_vkGetShaderInfoAMD vkGetShaderInfoAMD;
  1477. #endif /* defined(VK_AMD_shader_info) */
  1478. #if defined(VK_ANDROID_external_memory_android_hardware_buffer)
  1479. PFN_vkGetAndroidHardwareBufferPropertiesANDROID vkGetAndroidHardwareBufferPropertiesANDROID;
  1480. PFN_vkGetMemoryAndroidHardwareBufferANDROID vkGetMemoryAndroidHardwareBufferANDROID;
  1481. #endif /* defined(VK_ANDROID_external_memory_android_hardware_buffer) */
  1482. #if defined(VK_EXT_acquire_xlib_display)
  1483. PFN_vkAcquireXlibDisplayEXT vkAcquireXlibDisplayEXT;
  1484. PFN_vkGetRandROutputDisplayEXT vkGetRandROutputDisplayEXT;
  1485. #endif /* defined(VK_EXT_acquire_xlib_display) */
  1486. #if defined(VK_EXT_buffer_device_address)
  1487. PFN_vkGetBufferDeviceAddressEXT vkGetBufferDeviceAddressEXT;
  1488. #endif /* defined(VK_EXT_buffer_device_address) */
  1489. #if defined(VK_EXT_calibrated_timestamps)
  1490. PFN_vkGetCalibratedTimestampsEXT vkGetCalibratedTimestampsEXT;
  1491. PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT vkGetPhysicalDeviceCalibrateableTimeDomainsEXT;
  1492. #endif /* defined(VK_EXT_calibrated_timestamps) */
  1493. #if defined(VK_EXT_conditional_rendering)
  1494. PFN_vkCmdBeginConditionalRenderingEXT vkCmdBeginConditionalRenderingEXT;
  1495. PFN_vkCmdEndConditionalRenderingEXT vkCmdEndConditionalRenderingEXT;
  1496. #endif /* defined(VK_EXT_conditional_rendering) */
  1497. #if defined(VK_EXT_debug_marker)
  1498. PFN_vkCmdDebugMarkerBeginEXT vkCmdDebugMarkerBeginEXT;
  1499. PFN_vkCmdDebugMarkerEndEXT vkCmdDebugMarkerEndEXT;
  1500. PFN_vkCmdDebugMarkerInsertEXT vkCmdDebugMarkerInsertEXT;
  1501. PFN_vkDebugMarkerSetObjectNameEXT vkDebugMarkerSetObjectNameEXT;
  1502. PFN_vkDebugMarkerSetObjectTagEXT vkDebugMarkerSetObjectTagEXT;
  1503. #endif /* defined(VK_EXT_debug_marker) */
  1504. #if defined(VK_EXT_debug_report)
  1505. PFN_vkCreateDebugReportCallbackEXT vkCreateDebugReportCallbackEXT;
  1506. PFN_vkDebugReportMessageEXT vkDebugReportMessageEXT;
  1507. PFN_vkDestroyDebugReportCallbackEXT vkDestroyDebugReportCallbackEXT;
  1508. #endif /* defined(VK_EXT_debug_report) */
  1509. #if defined(VK_EXT_debug_utils)
  1510. PFN_vkCmdBeginDebugUtilsLabelEXT vkCmdBeginDebugUtilsLabelEXT;
  1511. PFN_vkCmdEndDebugUtilsLabelEXT vkCmdEndDebugUtilsLabelEXT;
  1512. PFN_vkCmdInsertDebugUtilsLabelEXT vkCmdInsertDebugUtilsLabelEXT;
  1513. PFN_vkCreateDebugUtilsMessengerEXT vkCreateDebugUtilsMessengerEXT;
  1514. PFN_vkDestroyDebugUtilsMessengerEXT vkDestroyDebugUtilsMessengerEXT;
  1515. PFN_vkQueueBeginDebugUtilsLabelEXT vkQueueBeginDebugUtilsLabelEXT;
  1516. PFN_vkQueueEndDebugUtilsLabelEXT vkQueueEndDebugUtilsLabelEXT;
  1517. PFN_vkQueueInsertDebugUtilsLabelEXT vkQueueInsertDebugUtilsLabelEXT;
  1518. PFN_vkSetDebugUtilsObjectNameEXT vkSetDebugUtilsObjectNameEXT;
  1519. PFN_vkSetDebugUtilsObjectTagEXT vkSetDebugUtilsObjectTagEXT;
  1520. PFN_vkSubmitDebugUtilsMessageEXT vkSubmitDebugUtilsMessageEXT;
  1521. #endif /* defined(VK_EXT_debug_utils) */
  1522. #if defined(VK_EXT_direct_mode_display)
  1523. PFN_vkReleaseDisplayEXT vkReleaseDisplayEXT;
  1524. #endif /* defined(VK_EXT_direct_mode_display) */
  1525. #if defined(VK_EXT_directfb_surface)
  1526. PFN_vkCreateDirectFBSurfaceEXT vkCreateDirectFBSurfaceEXT;
  1527. PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT vkGetPhysicalDeviceDirectFBPresentationSupportEXT;
  1528. #endif /* defined(VK_EXT_directfb_surface) */
  1529. #if defined(VK_EXT_discard_rectangles)
  1530. PFN_vkCmdSetDiscardRectangleEXT vkCmdSetDiscardRectangleEXT;
  1531. #endif /* defined(VK_EXT_discard_rectangles) */
  1532. #if defined(VK_EXT_display_control)
  1533. PFN_vkDisplayPowerControlEXT vkDisplayPowerControlEXT;
  1534. PFN_vkGetSwapchainCounterEXT vkGetSwapchainCounterEXT;
  1535. PFN_vkRegisterDeviceEventEXT vkRegisterDeviceEventEXT;
  1536. PFN_vkRegisterDisplayEventEXT vkRegisterDisplayEventEXT;
  1537. #endif /* defined(VK_EXT_display_control) */
  1538. #if defined(VK_EXT_display_surface_counter)
  1539. PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT vkGetPhysicalDeviceSurfaceCapabilities2EXT;
  1540. #endif /* defined(VK_EXT_display_surface_counter) */
  1541. #if defined(VK_EXT_extended_dynamic_state)
  1542. PFN_vkCmdBindVertexBuffers2EXT vkCmdBindVertexBuffers2EXT;
  1543. PFN_vkCmdSetCullModeEXT vkCmdSetCullModeEXT;
  1544. PFN_vkCmdSetDepthBoundsTestEnableEXT vkCmdSetDepthBoundsTestEnableEXT;
  1545. PFN_vkCmdSetDepthCompareOpEXT vkCmdSetDepthCompareOpEXT;
  1546. PFN_vkCmdSetDepthTestEnableEXT vkCmdSetDepthTestEnableEXT;
  1547. PFN_vkCmdSetDepthWriteEnableEXT vkCmdSetDepthWriteEnableEXT;
  1548. PFN_vkCmdSetFrontFaceEXT vkCmdSetFrontFaceEXT;
  1549. PFN_vkCmdSetPrimitiveTopologyEXT vkCmdSetPrimitiveTopologyEXT;
  1550. PFN_vkCmdSetScissorWithCountEXT vkCmdSetScissorWithCountEXT;
  1551. PFN_vkCmdSetStencilOpEXT vkCmdSetStencilOpEXT;
  1552. PFN_vkCmdSetStencilTestEnableEXT vkCmdSetStencilTestEnableEXT;
  1553. PFN_vkCmdSetViewportWithCountEXT vkCmdSetViewportWithCountEXT;
  1554. #endif /* defined(VK_EXT_extended_dynamic_state) */
  1555. #if defined(VK_EXT_external_memory_host)
  1556. PFN_vkGetMemoryHostPointerPropertiesEXT vkGetMemoryHostPointerPropertiesEXT;
  1557. #endif /* defined(VK_EXT_external_memory_host) */
  1558. #if defined(VK_EXT_full_screen_exclusive)
  1559. PFN_vkAcquireFullScreenExclusiveModeEXT vkAcquireFullScreenExclusiveModeEXT;
  1560. PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT vkGetPhysicalDeviceSurfacePresentModes2EXT;
  1561. PFN_vkReleaseFullScreenExclusiveModeEXT vkReleaseFullScreenExclusiveModeEXT;
  1562. #endif /* defined(VK_EXT_full_screen_exclusive) */
  1563. #if defined(VK_EXT_hdr_metadata)
  1564. PFN_vkSetHdrMetadataEXT vkSetHdrMetadataEXT;
  1565. #endif /* defined(VK_EXT_hdr_metadata) */
  1566. #if defined(VK_EXT_headless_surface)
  1567. PFN_vkCreateHeadlessSurfaceEXT vkCreateHeadlessSurfaceEXT;
  1568. #endif /* defined(VK_EXT_headless_surface) */
  1569. #if defined(VK_EXT_host_query_reset)
  1570. PFN_vkResetQueryPoolEXT vkResetQueryPoolEXT;
  1571. #endif /* defined(VK_EXT_host_query_reset) */
  1572. #if defined(VK_EXT_image_drm_format_modifier)
  1573. PFN_vkGetImageDrmFormatModifierPropertiesEXT vkGetImageDrmFormatModifierPropertiesEXT;
  1574. #endif /* defined(VK_EXT_image_drm_format_modifier) */
  1575. #if defined(VK_EXT_line_rasterization)
  1576. PFN_vkCmdSetLineStippleEXT vkCmdSetLineStippleEXT;
  1577. #endif /* defined(VK_EXT_line_rasterization) */
  1578. #if defined(VK_EXT_metal_surface)
  1579. PFN_vkCreateMetalSurfaceEXT vkCreateMetalSurfaceEXT;
  1580. #endif /* defined(VK_EXT_metal_surface) */
  1581. #if defined(VK_EXT_private_data)
  1582. PFN_vkCreatePrivateDataSlotEXT vkCreatePrivateDataSlotEXT;
  1583. PFN_vkDestroyPrivateDataSlotEXT vkDestroyPrivateDataSlotEXT;
  1584. PFN_vkGetPrivateDataEXT vkGetPrivateDataEXT;
  1585. PFN_vkSetPrivateDataEXT vkSetPrivateDataEXT;
  1586. #endif /* defined(VK_EXT_private_data) */
  1587. #if defined(VK_EXT_sample_locations)
  1588. PFN_vkCmdSetSampleLocationsEXT vkCmdSetSampleLocationsEXT;
  1589. PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT vkGetPhysicalDeviceMultisamplePropertiesEXT;
  1590. #endif /* defined(VK_EXT_sample_locations) */
  1591. #if defined(VK_EXT_tooling_info)
  1592. PFN_vkGetPhysicalDeviceToolPropertiesEXT vkGetPhysicalDeviceToolPropertiesEXT;
  1593. #endif /* defined(VK_EXT_tooling_info) */
  1594. #if defined(VK_EXT_transform_feedback)
  1595. PFN_vkCmdBeginQueryIndexedEXT vkCmdBeginQueryIndexedEXT;
  1596. PFN_vkCmdBeginTransformFeedbackEXT vkCmdBeginTransformFeedbackEXT;
  1597. PFN_vkCmdBindTransformFeedbackBuffersEXT vkCmdBindTransformFeedbackBuffersEXT;
  1598. PFN_vkCmdDrawIndirectByteCountEXT vkCmdDrawIndirectByteCountEXT;
  1599. PFN_vkCmdEndQueryIndexedEXT vkCmdEndQueryIndexedEXT;
  1600. PFN_vkCmdEndTransformFeedbackEXT vkCmdEndTransformFeedbackEXT;
  1601. #endif /* defined(VK_EXT_transform_feedback) */
  1602. #if defined(VK_EXT_validation_cache)
  1603. PFN_vkCreateValidationCacheEXT vkCreateValidationCacheEXT;
  1604. PFN_vkDestroyValidationCacheEXT vkDestroyValidationCacheEXT;
  1605. PFN_vkGetValidationCacheDataEXT vkGetValidationCacheDataEXT;
  1606. PFN_vkMergeValidationCachesEXT vkMergeValidationCachesEXT;
  1607. #endif /* defined(VK_EXT_validation_cache) */
  1608. #if defined(VK_FUCHSIA_imagepipe_surface)
  1609. PFN_vkCreateImagePipeSurfaceFUCHSIA vkCreateImagePipeSurfaceFUCHSIA;
  1610. #endif /* defined(VK_FUCHSIA_imagepipe_surface) */
  1611. #if defined(VK_GGP_stream_descriptor_surface)
  1612. PFN_vkCreateStreamDescriptorSurfaceGGP vkCreateStreamDescriptorSurfaceGGP;
  1613. #endif /* defined(VK_GGP_stream_descriptor_surface) */
  1614. #if defined(VK_GOOGLE_display_timing)
  1615. PFN_vkGetPastPresentationTimingGOOGLE vkGetPastPresentationTimingGOOGLE;
  1616. PFN_vkGetRefreshCycleDurationGOOGLE vkGetRefreshCycleDurationGOOGLE;
  1617. #endif /* defined(VK_GOOGLE_display_timing) */
  1618. #if defined(VK_INTEL_performance_query)
  1619. PFN_vkAcquirePerformanceConfigurationINTEL vkAcquirePerformanceConfigurationINTEL;
  1620. PFN_vkCmdSetPerformanceMarkerINTEL vkCmdSetPerformanceMarkerINTEL;
  1621. PFN_vkCmdSetPerformanceOverrideINTEL vkCmdSetPerformanceOverrideINTEL;
  1622. PFN_vkCmdSetPerformanceStreamMarkerINTEL vkCmdSetPerformanceStreamMarkerINTEL;
  1623. PFN_vkGetPerformanceParameterINTEL vkGetPerformanceParameterINTEL;
  1624. PFN_vkInitializePerformanceApiINTEL vkInitializePerformanceApiINTEL;
  1625. PFN_vkQueueSetPerformanceConfigurationINTEL vkQueueSetPerformanceConfigurationINTEL;
  1626. PFN_vkReleasePerformanceConfigurationINTEL vkReleasePerformanceConfigurationINTEL;
  1627. PFN_vkUninitializePerformanceApiINTEL vkUninitializePerformanceApiINTEL;
  1628. #endif /* defined(VK_INTEL_performance_query) */
  1629. #if defined(VK_KHR_acceleration_structure)
  1630. PFN_vkBuildAccelerationStructuresKHR vkBuildAccelerationStructuresKHR;
  1631. PFN_vkCmdBuildAccelerationStructuresIndirectKHR vkCmdBuildAccelerationStructuresIndirectKHR;
  1632. PFN_vkCmdBuildAccelerationStructuresKHR vkCmdBuildAccelerationStructuresKHR;
  1633. PFN_vkCmdCopyAccelerationStructureKHR vkCmdCopyAccelerationStructureKHR;
  1634. PFN_vkCmdCopyAccelerationStructureToMemoryKHR vkCmdCopyAccelerationStructureToMemoryKHR;
  1635. PFN_vkCmdCopyMemoryToAccelerationStructureKHR vkCmdCopyMemoryToAccelerationStructureKHR;
  1636. PFN_vkCmdWriteAccelerationStructuresPropertiesKHR vkCmdWriteAccelerationStructuresPropertiesKHR;
  1637. PFN_vkCopyAccelerationStructureKHR vkCopyAccelerationStructureKHR;
  1638. PFN_vkCopyAccelerationStructureToMemoryKHR vkCopyAccelerationStructureToMemoryKHR;
  1639. PFN_vkCopyMemoryToAccelerationStructureKHR vkCopyMemoryToAccelerationStructureKHR;
  1640. PFN_vkCreateAccelerationStructureKHR vkCreateAccelerationStructureKHR;
  1641. PFN_vkDestroyAccelerationStructureKHR vkDestroyAccelerationStructureKHR;
  1642. PFN_vkGetAccelerationStructureBuildSizesKHR vkGetAccelerationStructureBuildSizesKHR;
  1643. PFN_vkGetAccelerationStructureDeviceAddressKHR vkGetAccelerationStructureDeviceAddressKHR;
  1644. PFN_vkGetDeviceAccelerationStructureCompatibilityKHR vkGetDeviceAccelerationStructureCompatibilityKHR;
  1645. PFN_vkWriteAccelerationStructuresPropertiesKHR vkWriteAccelerationStructuresPropertiesKHR;
  1646. #endif /* defined(VK_KHR_acceleration_structure) */
  1647. #if defined(VK_KHR_android_surface)
  1648. PFN_vkCreateAndroidSurfaceKHR vkCreateAndroidSurfaceKHR;
  1649. #endif /* defined(VK_KHR_android_surface) */
  1650. #if defined(VK_KHR_bind_memory2)
  1651. PFN_vkBindBufferMemory2KHR vkBindBufferMemory2KHR;
  1652. PFN_vkBindImageMemory2KHR vkBindImageMemory2KHR;
  1653. #endif /* defined(VK_KHR_bind_memory2) */
  1654. #if defined(VK_KHR_buffer_device_address)
  1655. PFN_vkGetBufferDeviceAddressKHR vkGetBufferDeviceAddressKHR;
  1656. PFN_vkGetBufferOpaqueCaptureAddressKHR vkGetBufferOpaqueCaptureAddressKHR;
  1657. PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR vkGetDeviceMemoryOpaqueCaptureAddressKHR;
  1658. #endif /* defined(VK_KHR_buffer_device_address) */
  1659. #if defined(VK_KHR_copy_commands2)
  1660. PFN_vkCmdBlitImage2KHR vkCmdBlitImage2KHR;
  1661. PFN_vkCmdCopyBuffer2KHR vkCmdCopyBuffer2KHR;
  1662. PFN_vkCmdCopyBufferToImage2KHR vkCmdCopyBufferToImage2KHR;
  1663. PFN_vkCmdCopyImage2KHR vkCmdCopyImage2KHR;
  1664. PFN_vkCmdCopyImageToBuffer2KHR vkCmdCopyImageToBuffer2KHR;
  1665. PFN_vkCmdResolveImage2KHR vkCmdResolveImage2KHR;
  1666. #endif /* defined(VK_KHR_copy_commands2) */
  1667. #if defined(VK_KHR_create_renderpass2)
  1668. PFN_vkCmdBeginRenderPass2KHR vkCmdBeginRenderPass2KHR;
  1669. PFN_vkCmdEndRenderPass2KHR vkCmdEndRenderPass2KHR;
  1670. PFN_vkCmdNextSubpass2KHR vkCmdNextSubpass2KHR;
  1671. PFN_vkCreateRenderPass2KHR vkCreateRenderPass2KHR;
  1672. #endif /* defined(VK_KHR_create_renderpass2) */
  1673. #if defined(VK_KHR_deferred_host_operations)
  1674. PFN_vkCreateDeferredOperationKHR vkCreateDeferredOperationKHR;
  1675. PFN_vkDeferredOperationJoinKHR vkDeferredOperationJoinKHR;
  1676. PFN_vkDestroyDeferredOperationKHR vkDestroyDeferredOperationKHR;
  1677. PFN_vkGetDeferredOperationMaxConcurrencyKHR vkGetDeferredOperationMaxConcurrencyKHR;
  1678. PFN_vkGetDeferredOperationResultKHR vkGetDeferredOperationResultKHR;
  1679. #endif /* defined(VK_KHR_deferred_host_operations) */
  1680. #if defined(VK_KHR_descriptor_update_template)
  1681. PFN_vkCreateDescriptorUpdateTemplateKHR vkCreateDescriptorUpdateTemplateKHR;
  1682. PFN_vkDestroyDescriptorUpdateTemplateKHR vkDestroyDescriptorUpdateTemplateKHR;
  1683. PFN_vkUpdateDescriptorSetWithTemplateKHR vkUpdateDescriptorSetWithTemplateKHR;
  1684. #endif /* defined(VK_KHR_descriptor_update_template) */
  1685. #if defined(VK_KHR_device_group)
  1686. PFN_vkCmdDispatchBaseKHR vkCmdDispatchBaseKHR;
  1687. PFN_vkCmdSetDeviceMaskKHR vkCmdSetDeviceMaskKHR;
  1688. PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR vkGetDeviceGroupPeerMemoryFeaturesKHR;
  1689. #endif /* defined(VK_KHR_device_group) */
  1690. #if defined(VK_KHR_device_group_creation)
  1691. PFN_vkEnumeratePhysicalDeviceGroupsKHR vkEnumeratePhysicalDeviceGroupsKHR;
  1692. #endif /* defined(VK_KHR_device_group_creation) */
  1693. #if defined(VK_KHR_display)
  1694. PFN_vkCreateDisplayModeKHR vkCreateDisplayModeKHR;
  1695. PFN_vkCreateDisplayPlaneSurfaceKHR vkCreateDisplayPlaneSurfaceKHR;
  1696. PFN_vkGetDisplayModePropertiesKHR vkGetDisplayModePropertiesKHR;
  1697. PFN_vkGetDisplayPlaneCapabilitiesKHR vkGetDisplayPlaneCapabilitiesKHR;
  1698. PFN_vkGetDisplayPlaneSupportedDisplaysKHR vkGetDisplayPlaneSupportedDisplaysKHR;
  1699. PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR vkGetPhysicalDeviceDisplayPlanePropertiesKHR;
  1700. PFN_vkGetPhysicalDeviceDisplayPropertiesKHR vkGetPhysicalDeviceDisplayPropertiesKHR;
  1701. #endif /* defined(VK_KHR_display) */
  1702. #if defined(VK_KHR_display_swapchain)
  1703. PFN_vkCreateSharedSwapchainsKHR vkCreateSharedSwapchainsKHR;
  1704. #endif /* defined(VK_KHR_display_swapchain) */
  1705. #if defined(VK_KHR_draw_indirect_count)
  1706. PFN_vkCmdDrawIndexedIndirectCountKHR vkCmdDrawIndexedIndirectCountKHR;
  1707. PFN_vkCmdDrawIndirectCountKHR vkCmdDrawIndirectCountKHR;
  1708. #endif /* defined(VK_KHR_draw_indirect_count) */
  1709. #if defined(VK_KHR_external_fence_capabilities)
  1710. PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR vkGetPhysicalDeviceExternalFencePropertiesKHR;
  1711. #endif /* defined(VK_KHR_external_fence_capabilities) */
  1712. #if defined(VK_KHR_external_fence_fd)
  1713. PFN_vkGetFenceFdKHR vkGetFenceFdKHR;
  1714. PFN_vkImportFenceFdKHR vkImportFenceFdKHR;
  1715. #endif /* defined(VK_KHR_external_fence_fd) */
  1716. #if defined(VK_KHR_external_fence_win32)
  1717. PFN_vkGetFenceWin32HandleKHR vkGetFenceWin32HandleKHR;
  1718. PFN_vkImportFenceWin32HandleKHR vkImportFenceWin32HandleKHR;
  1719. #endif /* defined(VK_KHR_external_fence_win32) */
  1720. #if defined(VK_KHR_external_memory_capabilities)
  1721. PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR vkGetPhysicalDeviceExternalBufferPropertiesKHR;
  1722. #endif /* defined(VK_KHR_external_memory_capabilities) */
  1723. #if defined(VK_KHR_external_memory_fd)
  1724. PFN_vkGetMemoryFdKHR vkGetMemoryFdKHR;
  1725. PFN_vkGetMemoryFdPropertiesKHR vkGetMemoryFdPropertiesKHR;
  1726. #endif /* defined(VK_KHR_external_memory_fd) */
  1727. #if defined(VK_KHR_external_memory_win32)
  1728. PFN_vkGetMemoryWin32HandleKHR vkGetMemoryWin32HandleKHR;
  1729. PFN_vkGetMemoryWin32HandlePropertiesKHR vkGetMemoryWin32HandlePropertiesKHR;
  1730. #endif /* defined(VK_KHR_external_memory_win32) */
  1731. #if defined(VK_KHR_external_semaphore_capabilities)
  1732. PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR vkGetPhysicalDeviceExternalSemaphorePropertiesKHR;
  1733. #endif /* defined(VK_KHR_external_semaphore_capabilities) */
  1734. #if defined(VK_KHR_external_semaphore_fd)
  1735. PFN_vkGetSemaphoreFdKHR vkGetSemaphoreFdKHR;
  1736. PFN_vkImportSemaphoreFdKHR vkImportSemaphoreFdKHR;
  1737. #endif /* defined(VK_KHR_external_semaphore_fd) */
  1738. #if defined(VK_KHR_external_semaphore_win32)
  1739. PFN_vkGetSemaphoreWin32HandleKHR vkGetSemaphoreWin32HandleKHR;
  1740. PFN_vkImportSemaphoreWin32HandleKHR vkImportSemaphoreWin32HandleKHR;
  1741. #endif /* defined(VK_KHR_external_semaphore_win32) */
  1742. #if defined(VK_KHR_fragment_shading_rate)
  1743. PFN_vkCmdSetFragmentShadingRateKHR vkCmdSetFragmentShadingRateKHR;
  1744. PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR vkGetPhysicalDeviceFragmentShadingRatesKHR;
  1745. #endif /* defined(VK_KHR_fragment_shading_rate) */
  1746. #if defined(VK_KHR_get_display_properties2)
  1747. PFN_vkGetDisplayModeProperties2KHR vkGetDisplayModeProperties2KHR;
  1748. PFN_vkGetDisplayPlaneCapabilities2KHR vkGetDisplayPlaneCapabilities2KHR;
  1749. PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR vkGetPhysicalDeviceDisplayPlaneProperties2KHR;
  1750. PFN_vkGetPhysicalDeviceDisplayProperties2KHR vkGetPhysicalDeviceDisplayProperties2KHR;
  1751. #endif /* defined(VK_KHR_get_display_properties2) */
  1752. #if defined(VK_KHR_get_memory_requirements2)
  1753. PFN_vkGetBufferMemoryRequirements2KHR vkGetBufferMemoryRequirements2KHR;
  1754. PFN_vkGetImageMemoryRequirements2KHR vkGetImageMemoryRequirements2KHR;
  1755. PFN_vkGetImageSparseMemoryRequirements2KHR vkGetImageSparseMemoryRequirements2KHR;
  1756. #endif /* defined(VK_KHR_get_memory_requirements2) */
  1757. #if defined(VK_KHR_get_physical_device_properties2)
  1758. PFN_vkGetPhysicalDeviceFeatures2KHR vkGetPhysicalDeviceFeatures2KHR;
  1759. PFN_vkGetPhysicalDeviceFormatProperties2KHR vkGetPhysicalDeviceFormatProperties2KHR;
  1760. PFN_vkGetPhysicalDeviceImageFormatProperties2KHR vkGetPhysicalDeviceImageFormatProperties2KHR;
  1761. PFN_vkGetPhysicalDeviceMemoryProperties2KHR vkGetPhysicalDeviceMemoryProperties2KHR;
  1762. PFN_vkGetPhysicalDeviceProperties2KHR vkGetPhysicalDeviceProperties2KHR;
  1763. PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR vkGetPhysicalDeviceQueueFamilyProperties2KHR;
  1764. PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR vkGetPhysicalDeviceSparseImageFormatProperties2KHR;
  1765. #endif /* defined(VK_KHR_get_physical_device_properties2) */
  1766. #if defined(VK_KHR_get_surface_capabilities2)
  1767. PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR vkGetPhysicalDeviceSurfaceCapabilities2KHR;
  1768. PFN_vkGetPhysicalDeviceSurfaceFormats2KHR vkGetPhysicalDeviceSurfaceFormats2KHR;
  1769. #endif /* defined(VK_KHR_get_surface_capabilities2) */
  1770. #if defined(VK_KHR_maintenance1)
  1771. PFN_vkTrimCommandPoolKHR vkTrimCommandPoolKHR;
  1772. #endif /* defined(VK_KHR_maintenance1) */
  1773. #if defined(VK_KHR_maintenance3)
  1774. PFN_vkGetDescriptorSetLayoutSupportKHR vkGetDescriptorSetLayoutSupportKHR;
  1775. #endif /* defined(VK_KHR_maintenance3) */
  1776. #if defined(VK_KHR_performance_query)
  1777. PFN_vkAcquireProfilingLockKHR vkAcquireProfilingLockKHR;
  1778. PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR;
  1779. PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR;
  1780. PFN_vkReleaseProfilingLockKHR vkReleaseProfilingLockKHR;
  1781. #endif /* defined(VK_KHR_performance_query) */
  1782. #if defined(VK_KHR_pipeline_executable_properties)
  1783. PFN_vkGetPipelineExecutableInternalRepresentationsKHR vkGetPipelineExecutableInternalRepresentationsKHR;
  1784. PFN_vkGetPipelineExecutablePropertiesKHR vkGetPipelineExecutablePropertiesKHR;
  1785. PFN_vkGetPipelineExecutableStatisticsKHR vkGetPipelineExecutableStatisticsKHR;
  1786. #endif /* defined(VK_KHR_pipeline_executable_properties) */
  1787. #if defined(VK_KHR_push_descriptor)
  1788. PFN_vkCmdPushDescriptorSetKHR vkCmdPushDescriptorSetKHR;
  1789. #endif /* defined(VK_KHR_push_descriptor) */
  1790. #if defined(VK_KHR_ray_tracing_pipeline)
  1791. PFN_vkCmdSetRayTracingPipelineStackSizeKHR vkCmdSetRayTracingPipelineStackSizeKHR;
  1792. PFN_vkCmdTraceRaysIndirectKHR vkCmdTraceRaysIndirectKHR;
  1793. PFN_vkCmdTraceRaysKHR vkCmdTraceRaysKHR;
  1794. PFN_vkCreateRayTracingPipelinesKHR vkCreateRayTracingPipelinesKHR;
  1795. PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR vkGetRayTracingCaptureReplayShaderGroupHandlesKHR;
  1796. PFN_vkGetRayTracingShaderGroupHandlesKHR vkGetRayTracingShaderGroupHandlesKHR;
  1797. PFN_vkGetRayTracingShaderGroupStackSizeKHR vkGetRayTracingShaderGroupStackSizeKHR;
  1798. #endif /* defined(VK_KHR_ray_tracing_pipeline) */
  1799. #if defined(VK_KHR_sampler_ycbcr_conversion)
  1800. PFN_vkCreateSamplerYcbcrConversionKHR vkCreateSamplerYcbcrConversionKHR;
  1801. PFN_vkDestroySamplerYcbcrConversionKHR vkDestroySamplerYcbcrConversionKHR;
  1802. #endif /* defined(VK_KHR_sampler_ycbcr_conversion) */
  1803. #if defined(VK_KHR_shared_presentable_image)
  1804. PFN_vkGetSwapchainStatusKHR vkGetSwapchainStatusKHR;
  1805. #endif /* defined(VK_KHR_shared_presentable_image) */
  1806. #if defined(VK_KHR_surface)
  1807. PFN_vkDestroySurfaceKHR vkDestroySurfaceKHR;
  1808. PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR vkGetPhysicalDeviceSurfaceCapabilitiesKHR;
  1809. PFN_vkGetPhysicalDeviceSurfaceFormatsKHR vkGetPhysicalDeviceSurfaceFormatsKHR;
  1810. PFN_vkGetPhysicalDeviceSurfacePresentModesKHR vkGetPhysicalDeviceSurfacePresentModesKHR;
  1811. PFN_vkGetPhysicalDeviceSurfaceSupportKHR vkGetPhysicalDeviceSurfaceSupportKHR;
  1812. #endif /* defined(VK_KHR_surface) */
  1813. #if defined(VK_KHR_swapchain)
  1814. PFN_vkAcquireNextImageKHR vkAcquireNextImageKHR;
  1815. PFN_vkCreateSwapchainKHR vkCreateSwapchainKHR;
  1816. PFN_vkDestroySwapchainKHR vkDestroySwapchainKHR;
  1817. PFN_vkGetSwapchainImagesKHR vkGetSwapchainImagesKHR;
  1818. PFN_vkQueuePresentKHR vkQueuePresentKHR;
  1819. #endif /* defined(VK_KHR_swapchain) */
  1820. #if defined(VK_KHR_timeline_semaphore)
  1821. PFN_vkGetSemaphoreCounterValueKHR vkGetSemaphoreCounterValueKHR;
  1822. PFN_vkSignalSemaphoreKHR vkSignalSemaphoreKHR;
  1823. PFN_vkWaitSemaphoresKHR vkWaitSemaphoresKHR;
  1824. #endif /* defined(VK_KHR_timeline_semaphore) */
  1825. #if defined(VK_KHR_wayland_surface)
  1826. PFN_vkCreateWaylandSurfaceKHR vkCreateWaylandSurfaceKHR;
  1827. PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR vkGetPhysicalDeviceWaylandPresentationSupportKHR;
  1828. #endif /* defined(VK_KHR_wayland_surface) */
  1829. #if defined(VK_KHR_win32_surface)
  1830. PFN_vkCreateWin32SurfaceKHR vkCreateWin32SurfaceKHR;
  1831. PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR vkGetPhysicalDeviceWin32PresentationSupportKHR;
  1832. #endif /* defined(VK_KHR_win32_surface) */
  1833. #if defined(VK_KHR_xcb_surface)
  1834. PFN_vkCreateXcbSurfaceKHR vkCreateXcbSurfaceKHR;
  1835. PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR vkGetPhysicalDeviceXcbPresentationSupportKHR;
  1836. #endif /* defined(VK_KHR_xcb_surface) */
  1837. #if defined(VK_KHR_xlib_surface)
  1838. PFN_vkCreateXlibSurfaceKHR vkCreateXlibSurfaceKHR;
  1839. PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR vkGetPhysicalDeviceXlibPresentationSupportKHR;
  1840. #endif /* defined(VK_KHR_xlib_surface) */
  1841. #if defined(VK_MVK_ios_surface)
  1842. PFN_vkCreateIOSSurfaceMVK vkCreateIOSSurfaceMVK;
  1843. #endif /* defined(VK_MVK_ios_surface) */
  1844. #if defined(VK_MVK_macos_surface)
  1845. PFN_vkCreateMacOSSurfaceMVK vkCreateMacOSSurfaceMVK;
  1846. #endif /* defined(VK_MVK_macos_surface) */
  1847. #if defined(VK_NN_vi_surface)
  1848. PFN_vkCreateViSurfaceNN vkCreateViSurfaceNN;
  1849. #endif /* defined(VK_NN_vi_surface) */
  1850. #if defined(VK_NVX_image_view_handle)
  1851. PFN_vkGetImageViewAddressNVX vkGetImageViewAddressNVX;
  1852. PFN_vkGetImageViewHandleNVX vkGetImageViewHandleNVX;
  1853. #endif /* defined(VK_NVX_image_view_handle) */
  1854. #if defined(VK_NV_acquire_winrt_display)
  1855. PFN_vkAcquireWinrtDisplayNV vkAcquireWinrtDisplayNV;
  1856. PFN_vkGetWinrtDisplayNV vkGetWinrtDisplayNV;
  1857. #endif /* defined(VK_NV_acquire_winrt_display) */
  1858. #if defined(VK_NV_clip_space_w_scaling)
  1859. PFN_vkCmdSetViewportWScalingNV vkCmdSetViewportWScalingNV;
  1860. #endif /* defined(VK_NV_clip_space_w_scaling) */
  1861. #if defined(VK_NV_cooperative_matrix)
  1862. PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV vkGetPhysicalDeviceCooperativeMatrixPropertiesNV;
  1863. #endif /* defined(VK_NV_cooperative_matrix) */
  1864. #if defined(VK_NV_coverage_reduction_mode)
  1865. PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV;
  1866. #endif /* defined(VK_NV_coverage_reduction_mode) */
  1867. #if defined(VK_NV_device_diagnostic_checkpoints)
  1868. PFN_vkCmdSetCheckpointNV vkCmdSetCheckpointNV;
  1869. PFN_vkGetQueueCheckpointDataNV vkGetQueueCheckpointDataNV;
  1870. #endif /* defined(VK_NV_device_diagnostic_checkpoints) */
  1871. #if defined(VK_NV_device_generated_commands)
  1872. PFN_vkCmdBindPipelineShaderGroupNV vkCmdBindPipelineShaderGroupNV;
  1873. PFN_vkCmdExecuteGeneratedCommandsNV vkCmdExecuteGeneratedCommandsNV;
  1874. PFN_vkCmdPreprocessGeneratedCommandsNV vkCmdPreprocessGeneratedCommandsNV;
  1875. PFN_vkCreateIndirectCommandsLayoutNV vkCreateIndirectCommandsLayoutNV;
  1876. PFN_vkDestroyIndirectCommandsLayoutNV vkDestroyIndirectCommandsLayoutNV;
  1877. PFN_vkGetGeneratedCommandsMemoryRequirementsNV vkGetGeneratedCommandsMemoryRequirementsNV;
  1878. #endif /* defined(VK_NV_device_generated_commands) */
  1879. #if defined(VK_NV_external_memory_capabilities)
  1880. PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV vkGetPhysicalDeviceExternalImageFormatPropertiesNV;
  1881. #endif /* defined(VK_NV_external_memory_capabilities) */
  1882. #if defined(VK_NV_external_memory_win32)
  1883. PFN_vkGetMemoryWin32HandleNV vkGetMemoryWin32HandleNV;
  1884. #endif /* defined(VK_NV_external_memory_win32) */
  1885. #if defined(VK_NV_fragment_shading_rate_enums)
  1886. PFN_vkCmdSetFragmentShadingRateEnumNV vkCmdSetFragmentShadingRateEnumNV;
  1887. #endif /* defined(VK_NV_fragment_shading_rate_enums) */
  1888. #if defined(VK_NV_mesh_shader)
  1889. PFN_vkCmdDrawMeshTasksIndirectCountNV vkCmdDrawMeshTasksIndirectCountNV;
  1890. PFN_vkCmdDrawMeshTasksIndirectNV vkCmdDrawMeshTasksIndirectNV;
  1891. PFN_vkCmdDrawMeshTasksNV vkCmdDrawMeshTasksNV;
  1892. #endif /* defined(VK_NV_mesh_shader) */
  1893. #if defined(VK_NV_ray_tracing)
  1894. PFN_vkBindAccelerationStructureMemoryNV vkBindAccelerationStructureMemoryNV;
  1895. PFN_vkCmdBuildAccelerationStructureNV vkCmdBuildAccelerationStructureNV;
  1896. PFN_vkCmdCopyAccelerationStructureNV vkCmdCopyAccelerationStructureNV;
  1897. PFN_vkCmdTraceRaysNV vkCmdTraceRaysNV;
  1898. PFN_vkCmdWriteAccelerationStructuresPropertiesNV vkCmdWriteAccelerationStructuresPropertiesNV;
  1899. PFN_vkCompileDeferredNV vkCompileDeferredNV;
  1900. PFN_vkCreateAccelerationStructureNV vkCreateAccelerationStructureNV;
  1901. PFN_vkCreateRayTracingPipelinesNV vkCreateRayTracingPipelinesNV;
  1902. PFN_vkDestroyAccelerationStructureNV vkDestroyAccelerationStructureNV;
  1903. PFN_vkGetAccelerationStructureHandleNV vkGetAccelerationStructureHandleNV;
  1904. PFN_vkGetAccelerationStructureMemoryRequirementsNV vkGetAccelerationStructureMemoryRequirementsNV;
  1905. PFN_vkGetRayTracingShaderGroupHandlesNV vkGetRayTracingShaderGroupHandlesNV;
  1906. #endif /* defined(VK_NV_ray_tracing) */
  1907. #if defined(VK_NV_scissor_exclusive)
  1908. PFN_vkCmdSetExclusiveScissorNV vkCmdSetExclusiveScissorNV;
  1909. #endif /* defined(VK_NV_scissor_exclusive) */
  1910. #if defined(VK_NV_shading_rate_image)
  1911. PFN_vkCmdBindShadingRateImageNV vkCmdBindShadingRateImageNV;
  1912. PFN_vkCmdSetCoarseSampleOrderNV vkCmdSetCoarseSampleOrderNV;
  1913. PFN_vkCmdSetViewportShadingRatePaletteNV vkCmdSetViewportShadingRatePaletteNV;
  1914. #endif /* defined(VK_NV_shading_rate_image) */
  1915. #if (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1))
  1916. PFN_vkGetDeviceGroupSurfacePresentModes2EXT vkGetDeviceGroupSurfacePresentModes2EXT;
  1917. #endif /* (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1)) */
  1918. #if (defined(VK_KHR_descriptor_update_template) && defined(VK_KHR_push_descriptor)) || (defined(VK_KHR_push_descriptor) && defined(VK_VERSION_1_1)) || (defined(VK_KHR_push_descriptor) && defined(VK_KHR_descriptor_update_template))
  1919. PFN_vkCmdPushDescriptorSetWithTemplateKHR vkCmdPushDescriptorSetWithTemplateKHR;
  1920. #endif /* (defined(VK_KHR_descriptor_update_template) && defined(VK_KHR_push_descriptor)) || (defined(VK_KHR_push_descriptor) && defined(VK_VERSION_1_1)) || (defined(VK_KHR_push_descriptor) && defined(VK_KHR_descriptor_update_template)) */
  1921. #if (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1))
  1922. PFN_vkGetDeviceGroupPresentCapabilitiesKHR vkGetDeviceGroupPresentCapabilitiesKHR;
  1923. PFN_vkGetDeviceGroupSurfacePresentModesKHR vkGetDeviceGroupSurfacePresentModesKHR;
  1924. PFN_vkGetPhysicalDevicePresentRectanglesKHR vkGetPhysicalDevicePresentRectanglesKHR;
  1925. #endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */
  1926. #if (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1))
  1927. PFN_vkAcquireNextImage2KHR vkAcquireNextImage2KHR;
  1928. #endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */
  1929. /* VOLK_GENERATE_PROTOTYPES_C */
  1930. #ifdef __GNUC__
  1931. # pragma GCC visibility pop
  1932. #endif
  1933. #ifdef __cplusplus
  1934. }
  1935. #endif
  1936. /* clang-format on */