volk.c 166 KB

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