vk_layer_dispatch_table.h 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757
  1. // *** THIS FILE IS GENERATED - DO NOT EDIT ***
  2. // See loader_extension_generator.py for modifications
  3. /*
  4. * Copyright (c) 2015-2017 The Khronos Group Inc.
  5. * Copyright (c) 2015-2017 Valve Corporation
  6. * Copyright (c) 2015-2017 LunarG, Inc.
  7. *
  8. * Licensed under the Apache License, Version 2.0 (the "License");
  9. * you may not use this file except in compliance with the License.
  10. * You may obtain a copy of the License at
  11. *
  12. * http://www.apache.org/licenses/LICENSE-2.0
  13. *
  14. * Unless required by applicable law or agreed to in writing, software
  15. * distributed under the License is distributed on an "AS IS" BASIS,
  16. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  17. * See the License for the specific language governing permissions and
  18. * limitations under the License.
  19. *
  20. * Author: Mark Lobodzinski <[email protected]>
  21. * Author: Mark Young <[email protected]>
  22. */
  23. #pragma once
  24. typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_GetPhysicalDeviceProcAddr)(VkInstance instance, const char* pName);
  25. // Instance function pointer dispatch table
  26. typedef struct VkLayerInstanceDispatchTable_ {
  27. // Manually add in GetPhysicalDeviceProcAddr entry
  28. PFN_GetPhysicalDeviceProcAddr GetPhysicalDeviceProcAddr;
  29. // ---- Core 1_0 commands
  30. PFN_vkCreateInstance CreateInstance;
  31. PFN_vkDestroyInstance DestroyInstance;
  32. PFN_vkEnumeratePhysicalDevices EnumeratePhysicalDevices;
  33. PFN_vkGetPhysicalDeviceFeatures GetPhysicalDeviceFeatures;
  34. PFN_vkGetPhysicalDeviceFormatProperties GetPhysicalDeviceFormatProperties;
  35. PFN_vkGetPhysicalDeviceImageFormatProperties GetPhysicalDeviceImageFormatProperties;
  36. PFN_vkGetPhysicalDeviceProperties GetPhysicalDeviceProperties;
  37. PFN_vkGetPhysicalDeviceQueueFamilyProperties GetPhysicalDeviceQueueFamilyProperties;
  38. PFN_vkGetPhysicalDeviceMemoryProperties GetPhysicalDeviceMemoryProperties;
  39. PFN_vkGetInstanceProcAddr GetInstanceProcAddr;
  40. PFN_vkCreateDevice CreateDevice;
  41. PFN_vkEnumerateInstanceExtensionProperties EnumerateInstanceExtensionProperties;
  42. PFN_vkEnumerateDeviceExtensionProperties EnumerateDeviceExtensionProperties;
  43. PFN_vkEnumerateInstanceLayerProperties EnumerateInstanceLayerProperties;
  44. PFN_vkEnumerateDeviceLayerProperties EnumerateDeviceLayerProperties;
  45. PFN_vkGetPhysicalDeviceSparseImageFormatProperties GetPhysicalDeviceSparseImageFormatProperties;
  46. // ---- Core 1_1 commands
  47. PFN_vkEnumerateInstanceVersion EnumerateInstanceVersion;
  48. PFN_vkEnumeratePhysicalDeviceGroups EnumeratePhysicalDeviceGroups;
  49. PFN_vkGetPhysicalDeviceFeatures2 GetPhysicalDeviceFeatures2;
  50. PFN_vkGetPhysicalDeviceProperties2 GetPhysicalDeviceProperties2;
  51. PFN_vkGetPhysicalDeviceFormatProperties2 GetPhysicalDeviceFormatProperties2;
  52. PFN_vkGetPhysicalDeviceImageFormatProperties2 GetPhysicalDeviceImageFormatProperties2;
  53. PFN_vkGetPhysicalDeviceQueueFamilyProperties2 GetPhysicalDeviceQueueFamilyProperties2;
  54. PFN_vkGetPhysicalDeviceMemoryProperties2 GetPhysicalDeviceMemoryProperties2;
  55. PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 GetPhysicalDeviceSparseImageFormatProperties2;
  56. PFN_vkGetPhysicalDeviceExternalBufferProperties GetPhysicalDeviceExternalBufferProperties;
  57. PFN_vkGetPhysicalDeviceExternalFenceProperties GetPhysicalDeviceExternalFenceProperties;
  58. PFN_vkGetPhysicalDeviceExternalSemaphoreProperties GetPhysicalDeviceExternalSemaphoreProperties;
  59. // ---- VK_KHR_surface extension commands
  60. PFN_vkDestroySurfaceKHR DestroySurfaceKHR;
  61. PFN_vkGetPhysicalDeviceSurfaceSupportKHR GetPhysicalDeviceSurfaceSupportKHR;
  62. PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR GetPhysicalDeviceSurfaceCapabilitiesKHR;
  63. PFN_vkGetPhysicalDeviceSurfaceFormatsKHR GetPhysicalDeviceSurfaceFormatsKHR;
  64. PFN_vkGetPhysicalDeviceSurfacePresentModesKHR GetPhysicalDeviceSurfacePresentModesKHR;
  65. // ---- VK_KHR_swapchain extension commands
  66. PFN_vkGetPhysicalDevicePresentRectanglesKHR GetPhysicalDevicePresentRectanglesKHR;
  67. // ---- VK_KHR_display extension commands
  68. PFN_vkGetPhysicalDeviceDisplayPropertiesKHR GetPhysicalDeviceDisplayPropertiesKHR;
  69. PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR GetPhysicalDeviceDisplayPlanePropertiesKHR;
  70. PFN_vkGetDisplayPlaneSupportedDisplaysKHR GetDisplayPlaneSupportedDisplaysKHR;
  71. PFN_vkGetDisplayModePropertiesKHR GetDisplayModePropertiesKHR;
  72. PFN_vkCreateDisplayModeKHR CreateDisplayModeKHR;
  73. PFN_vkGetDisplayPlaneCapabilitiesKHR GetDisplayPlaneCapabilitiesKHR;
  74. PFN_vkCreateDisplayPlaneSurfaceKHR CreateDisplayPlaneSurfaceKHR;
  75. // ---- VK_KHR_xlib_surface extension commands
  76. #ifdef VK_USE_PLATFORM_XLIB_KHR
  77. PFN_vkCreateXlibSurfaceKHR CreateXlibSurfaceKHR;
  78. #endif // VK_USE_PLATFORM_XLIB_KHR
  79. #ifdef VK_USE_PLATFORM_XLIB_KHR
  80. PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR GetPhysicalDeviceXlibPresentationSupportKHR;
  81. #endif // VK_USE_PLATFORM_XLIB_KHR
  82. // ---- VK_KHR_xcb_surface extension commands
  83. #ifdef VK_USE_PLATFORM_XCB_KHR
  84. PFN_vkCreateXcbSurfaceKHR CreateXcbSurfaceKHR;
  85. #endif // VK_USE_PLATFORM_XCB_KHR
  86. #ifdef VK_USE_PLATFORM_XCB_KHR
  87. PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR GetPhysicalDeviceXcbPresentationSupportKHR;
  88. #endif // VK_USE_PLATFORM_XCB_KHR
  89. // ---- VK_KHR_wayland_surface extension commands
  90. #ifdef VK_USE_PLATFORM_WAYLAND_KHR
  91. PFN_vkCreateWaylandSurfaceKHR CreateWaylandSurfaceKHR;
  92. #endif // VK_USE_PLATFORM_WAYLAND_KHR
  93. #ifdef VK_USE_PLATFORM_WAYLAND_KHR
  94. PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR GetPhysicalDeviceWaylandPresentationSupportKHR;
  95. #endif // VK_USE_PLATFORM_WAYLAND_KHR
  96. // ---- VK_KHR_android_surface extension commands
  97. #ifdef VK_USE_PLATFORM_ANDROID_KHR
  98. PFN_vkCreateAndroidSurfaceKHR CreateAndroidSurfaceKHR;
  99. #endif // VK_USE_PLATFORM_ANDROID_KHR
  100. // ---- VK_KHR_win32_surface extension commands
  101. #ifdef VK_USE_PLATFORM_WIN32_KHR
  102. PFN_vkCreateWin32SurfaceKHR CreateWin32SurfaceKHR;
  103. #endif // VK_USE_PLATFORM_WIN32_KHR
  104. #ifdef VK_USE_PLATFORM_WIN32_KHR
  105. PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR GetPhysicalDeviceWin32PresentationSupportKHR;
  106. #endif // VK_USE_PLATFORM_WIN32_KHR
  107. // ---- VK_KHR_get_physical_device_properties2 extension commands
  108. PFN_vkGetPhysicalDeviceFeatures2KHR GetPhysicalDeviceFeatures2KHR;
  109. PFN_vkGetPhysicalDeviceProperties2KHR GetPhysicalDeviceProperties2KHR;
  110. PFN_vkGetPhysicalDeviceFormatProperties2KHR GetPhysicalDeviceFormatProperties2KHR;
  111. PFN_vkGetPhysicalDeviceImageFormatProperties2KHR GetPhysicalDeviceImageFormatProperties2KHR;
  112. PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR GetPhysicalDeviceQueueFamilyProperties2KHR;
  113. PFN_vkGetPhysicalDeviceMemoryProperties2KHR GetPhysicalDeviceMemoryProperties2KHR;
  114. PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR GetPhysicalDeviceSparseImageFormatProperties2KHR;
  115. // ---- VK_KHR_device_group_creation extension commands
  116. PFN_vkEnumeratePhysicalDeviceGroupsKHR EnumeratePhysicalDeviceGroupsKHR;
  117. // ---- VK_KHR_external_memory_capabilities extension commands
  118. PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR GetPhysicalDeviceExternalBufferPropertiesKHR;
  119. // ---- VK_KHR_external_semaphore_capabilities extension commands
  120. PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR GetPhysicalDeviceExternalSemaphorePropertiesKHR;
  121. // ---- VK_KHR_external_fence_capabilities extension commands
  122. PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR GetPhysicalDeviceExternalFencePropertiesKHR;
  123. // ---- VK_KHR_performance_query extension commands
  124. PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR;
  125. PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR;
  126. // ---- VK_KHR_get_surface_capabilities2 extension commands
  127. PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR GetPhysicalDeviceSurfaceCapabilities2KHR;
  128. PFN_vkGetPhysicalDeviceSurfaceFormats2KHR GetPhysicalDeviceSurfaceFormats2KHR;
  129. // ---- VK_KHR_get_display_properties2 extension commands
  130. PFN_vkGetPhysicalDeviceDisplayProperties2KHR GetPhysicalDeviceDisplayProperties2KHR;
  131. PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR GetPhysicalDeviceDisplayPlaneProperties2KHR;
  132. PFN_vkGetDisplayModeProperties2KHR GetDisplayModeProperties2KHR;
  133. PFN_vkGetDisplayPlaneCapabilities2KHR GetDisplayPlaneCapabilities2KHR;
  134. // ---- VK_KHR_fragment_shading_rate extension commands
  135. PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR GetPhysicalDeviceFragmentShadingRatesKHR;
  136. // ---- VK_EXT_debug_report extension commands
  137. PFN_vkCreateDebugReportCallbackEXT CreateDebugReportCallbackEXT;
  138. PFN_vkDestroyDebugReportCallbackEXT DestroyDebugReportCallbackEXT;
  139. PFN_vkDebugReportMessageEXT DebugReportMessageEXT;
  140. // ---- VK_GGP_stream_descriptor_surface extension commands
  141. #ifdef VK_USE_PLATFORM_GGP
  142. PFN_vkCreateStreamDescriptorSurfaceGGP CreateStreamDescriptorSurfaceGGP;
  143. #endif // VK_USE_PLATFORM_GGP
  144. // ---- VK_NV_external_memory_capabilities extension commands
  145. PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV GetPhysicalDeviceExternalImageFormatPropertiesNV;
  146. // ---- VK_NN_vi_surface extension commands
  147. #ifdef VK_USE_PLATFORM_VI_NN
  148. PFN_vkCreateViSurfaceNN CreateViSurfaceNN;
  149. #endif // VK_USE_PLATFORM_VI_NN
  150. // ---- VK_EXT_direct_mode_display extension commands
  151. PFN_vkReleaseDisplayEXT ReleaseDisplayEXT;
  152. // ---- VK_EXT_acquire_xlib_display extension commands
  153. #ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT
  154. PFN_vkAcquireXlibDisplayEXT AcquireXlibDisplayEXT;
  155. #endif // VK_USE_PLATFORM_XLIB_XRANDR_EXT
  156. #ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT
  157. PFN_vkGetRandROutputDisplayEXT GetRandROutputDisplayEXT;
  158. #endif // VK_USE_PLATFORM_XLIB_XRANDR_EXT
  159. // ---- VK_EXT_display_surface_counter extension commands
  160. PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT GetPhysicalDeviceSurfaceCapabilities2EXT;
  161. // ---- VK_MVK_ios_surface extension commands
  162. #ifdef VK_USE_PLATFORM_IOS_MVK
  163. PFN_vkCreateIOSSurfaceMVK CreateIOSSurfaceMVK;
  164. #endif // VK_USE_PLATFORM_IOS_MVK
  165. // ---- VK_MVK_macos_surface extension commands
  166. #ifdef VK_USE_PLATFORM_MACOS_MVK
  167. PFN_vkCreateMacOSSurfaceMVK CreateMacOSSurfaceMVK;
  168. #endif // VK_USE_PLATFORM_MACOS_MVK
  169. // ---- VK_EXT_debug_utils extension commands
  170. PFN_vkCreateDebugUtilsMessengerEXT CreateDebugUtilsMessengerEXT;
  171. PFN_vkDestroyDebugUtilsMessengerEXT DestroyDebugUtilsMessengerEXT;
  172. PFN_vkSubmitDebugUtilsMessageEXT SubmitDebugUtilsMessageEXT;
  173. // ---- VK_EXT_sample_locations extension commands
  174. PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT GetPhysicalDeviceMultisamplePropertiesEXT;
  175. // ---- VK_EXT_calibrated_timestamps extension commands
  176. PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT GetPhysicalDeviceCalibrateableTimeDomainsEXT;
  177. // ---- VK_FUCHSIA_imagepipe_surface extension commands
  178. #ifdef VK_USE_PLATFORM_FUCHSIA
  179. PFN_vkCreateImagePipeSurfaceFUCHSIA CreateImagePipeSurfaceFUCHSIA;
  180. #endif // VK_USE_PLATFORM_FUCHSIA
  181. // ---- VK_EXT_metal_surface extension commands
  182. #ifdef VK_USE_PLATFORM_METAL_EXT
  183. PFN_vkCreateMetalSurfaceEXT CreateMetalSurfaceEXT;
  184. #endif // VK_USE_PLATFORM_METAL_EXT
  185. // ---- VK_EXT_tooling_info extension commands
  186. PFN_vkGetPhysicalDeviceToolPropertiesEXT GetPhysicalDeviceToolPropertiesEXT;
  187. // ---- VK_NV_cooperative_matrix extension commands
  188. PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV GetPhysicalDeviceCooperativeMatrixPropertiesNV;
  189. // ---- VK_NV_coverage_reduction_mode extension commands
  190. PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV;
  191. // ---- VK_EXT_full_screen_exclusive extension commands
  192. #ifdef VK_USE_PLATFORM_WIN32_KHR
  193. PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT GetPhysicalDeviceSurfacePresentModes2EXT;
  194. #endif // VK_USE_PLATFORM_WIN32_KHR
  195. // ---- VK_EXT_headless_surface extension commands
  196. PFN_vkCreateHeadlessSurfaceEXT CreateHeadlessSurfaceEXT;
  197. // ---- VK_EXT_directfb_surface extension commands
  198. #ifdef VK_USE_PLATFORM_DIRECTFB_EXT
  199. PFN_vkCreateDirectFBSurfaceEXT CreateDirectFBSurfaceEXT;
  200. #endif // VK_USE_PLATFORM_DIRECTFB_EXT
  201. #ifdef VK_USE_PLATFORM_DIRECTFB_EXT
  202. PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT GetPhysicalDeviceDirectFBPresentationSupportEXT;
  203. #endif // VK_USE_PLATFORM_DIRECTFB_EXT
  204. } VkLayerInstanceDispatchTable;
  205. // Device function pointer dispatch table
  206. typedef struct VkLayerDispatchTable_ {
  207. // ---- Core 1_0 commands
  208. PFN_vkGetDeviceProcAddr GetDeviceProcAddr;
  209. PFN_vkDestroyDevice DestroyDevice;
  210. PFN_vkGetDeviceQueue GetDeviceQueue;
  211. PFN_vkQueueSubmit QueueSubmit;
  212. PFN_vkQueueWaitIdle QueueWaitIdle;
  213. PFN_vkDeviceWaitIdle DeviceWaitIdle;
  214. PFN_vkAllocateMemory AllocateMemory;
  215. PFN_vkFreeMemory FreeMemory;
  216. PFN_vkMapMemory MapMemory;
  217. PFN_vkUnmapMemory UnmapMemory;
  218. PFN_vkFlushMappedMemoryRanges FlushMappedMemoryRanges;
  219. PFN_vkInvalidateMappedMemoryRanges InvalidateMappedMemoryRanges;
  220. PFN_vkGetDeviceMemoryCommitment GetDeviceMemoryCommitment;
  221. PFN_vkBindBufferMemory BindBufferMemory;
  222. PFN_vkBindImageMemory BindImageMemory;
  223. PFN_vkGetBufferMemoryRequirements GetBufferMemoryRequirements;
  224. PFN_vkGetImageMemoryRequirements GetImageMemoryRequirements;
  225. PFN_vkGetImageSparseMemoryRequirements GetImageSparseMemoryRequirements;
  226. PFN_vkQueueBindSparse QueueBindSparse;
  227. PFN_vkCreateFence CreateFence;
  228. PFN_vkDestroyFence DestroyFence;
  229. PFN_vkResetFences ResetFences;
  230. PFN_vkGetFenceStatus GetFenceStatus;
  231. PFN_vkWaitForFences WaitForFences;
  232. PFN_vkCreateSemaphore CreateSemaphore;
  233. PFN_vkDestroySemaphore DestroySemaphore;
  234. PFN_vkCreateEvent CreateEvent;
  235. PFN_vkDestroyEvent DestroyEvent;
  236. PFN_vkGetEventStatus GetEventStatus;
  237. PFN_vkSetEvent SetEvent;
  238. PFN_vkResetEvent ResetEvent;
  239. PFN_vkCreateQueryPool CreateQueryPool;
  240. PFN_vkDestroyQueryPool DestroyQueryPool;
  241. PFN_vkGetQueryPoolResults GetQueryPoolResults;
  242. PFN_vkCreateBuffer CreateBuffer;
  243. PFN_vkDestroyBuffer DestroyBuffer;
  244. PFN_vkCreateBufferView CreateBufferView;
  245. PFN_vkDestroyBufferView DestroyBufferView;
  246. PFN_vkCreateImage CreateImage;
  247. PFN_vkDestroyImage DestroyImage;
  248. PFN_vkGetImageSubresourceLayout GetImageSubresourceLayout;
  249. PFN_vkCreateImageView CreateImageView;
  250. PFN_vkDestroyImageView DestroyImageView;
  251. PFN_vkCreateShaderModule CreateShaderModule;
  252. PFN_vkDestroyShaderModule DestroyShaderModule;
  253. PFN_vkCreatePipelineCache CreatePipelineCache;
  254. PFN_vkDestroyPipelineCache DestroyPipelineCache;
  255. PFN_vkGetPipelineCacheData GetPipelineCacheData;
  256. PFN_vkMergePipelineCaches MergePipelineCaches;
  257. PFN_vkCreateGraphicsPipelines CreateGraphicsPipelines;
  258. PFN_vkCreateComputePipelines CreateComputePipelines;
  259. PFN_vkDestroyPipeline DestroyPipeline;
  260. PFN_vkCreatePipelineLayout CreatePipelineLayout;
  261. PFN_vkDestroyPipelineLayout DestroyPipelineLayout;
  262. PFN_vkCreateSampler CreateSampler;
  263. PFN_vkDestroySampler DestroySampler;
  264. PFN_vkCreateDescriptorSetLayout CreateDescriptorSetLayout;
  265. PFN_vkDestroyDescriptorSetLayout DestroyDescriptorSetLayout;
  266. PFN_vkCreateDescriptorPool CreateDescriptorPool;
  267. PFN_vkDestroyDescriptorPool DestroyDescriptorPool;
  268. PFN_vkResetDescriptorPool ResetDescriptorPool;
  269. PFN_vkAllocateDescriptorSets AllocateDescriptorSets;
  270. PFN_vkFreeDescriptorSets FreeDescriptorSets;
  271. PFN_vkUpdateDescriptorSets UpdateDescriptorSets;
  272. PFN_vkCreateFramebuffer CreateFramebuffer;
  273. PFN_vkDestroyFramebuffer DestroyFramebuffer;
  274. PFN_vkCreateRenderPass CreateRenderPass;
  275. PFN_vkDestroyRenderPass DestroyRenderPass;
  276. PFN_vkGetRenderAreaGranularity GetRenderAreaGranularity;
  277. PFN_vkCreateCommandPool CreateCommandPool;
  278. PFN_vkDestroyCommandPool DestroyCommandPool;
  279. PFN_vkResetCommandPool ResetCommandPool;
  280. PFN_vkAllocateCommandBuffers AllocateCommandBuffers;
  281. PFN_vkFreeCommandBuffers FreeCommandBuffers;
  282. PFN_vkBeginCommandBuffer BeginCommandBuffer;
  283. PFN_vkEndCommandBuffer EndCommandBuffer;
  284. PFN_vkResetCommandBuffer ResetCommandBuffer;
  285. PFN_vkCmdBindPipeline CmdBindPipeline;
  286. PFN_vkCmdSetViewport CmdSetViewport;
  287. PFN_vkCmdSetScissor CmdSetScissor;
  288. PFN_vkCmdSetLineWidth CmdSetLineWidth;
  289. PFN_vkCmdSetDepthBias CmdSetDepthBias;
  290. PFN_vkCmdSetBlendConstants CmdSetBlendConstants;
  291. PFN_vkCmdSetDepthBounds CmdSetDepthBounds;
  292. PFN_vkCmdSetStencilCompareMask CmdSetStencilCompareMask;
  293. PFN_vkCmdSetStencilWriteMask CmdSetStencilWriteMask;
  294. PFN_vkCmdSetStencilReference CmdSetStencilReference;
  295. PFN_vkCmdBindDescriptorSets CmdBindDescriptorSets;
  296. PFN_vkCmdBindIndexBuffer CmdBindIndexBuffer;
  297. PFN_vkCmdBindVertexBuffers CmdBindVertexBuffers;
  298. PFN_vkCmdDraw CmdDraw;
  299. PFN_vkCmdDrawIndexed CmdDrawIndexed;
  300. PFN_vkCmdDrawIndirect CmdDrawIndirect;
  301. PFN_vkCmdDrawIndexedIndirect CmdDrawIndexedIndirect;
  302. PFN_vkCmdDispatch CmdDispatch;
  303. PFN_vkCmdDispatchIndirect CmdDispatchIndirect;
  304. PFN_vkCmdCopyBuffer CmdCopyBuffer;
  305. PFN_vkCmdCopyImage CmdCopyImage;
  306. PFN_vkCmdBlitImage CmdBlitImage;
  307. PFN_vkCmdCopyBufferToImage CmdCopyBufferToImage;
  308. PFN_vkCmdCopyImageToBuffer CmdCopyImageToBuffer;
  309. PFN_vkCmdUpdateBuffer CmdUpdateBuffer;
  310. PFN_vkCmdFillBuffer CmdFillBuffer;
  311. PFN_vkCmdClearColorImage CmdClearColorImage;
  312. PFN_vkCmdClearDepthStencilImage CmdClearDepthStencilImage;
  313. PFN_vkCmdClearAttachments CmdClearAttachments;
  314. PFN_vkCmdResolveImage CmdResolveImage;
  315. PFN_vkCmdSetEvent CmdSetEvent;
  316. PFN_vkCmdResetEvent CmdResetEvent;
  317. PFN_vkCmdWaitEvents CmdWaitEvents;
  318. PFN_vkCmdPipelineBarrier CmdPipelineBarrier;
  319. PFN_vkCmdBeginQuery CmdBeginQuery;
  320. PFN_vkCmdEndQuery CmdEndQuery;
  321. PFN_vkCmdResetQueryPool CmdResetQueryPool;
  322. PFN_vkCmdWriteTimestamp CmdWriteTimestamp;
  323. PFN_vkCmdCopyQueryPoolResults CmdCopyQueryPoolResults;
  324. PFN_vkCmdPushConstants CmdPushConstants;
  325. PFN_vkCmdBeginRenderPass CmdBeginRenderPass;
  326. PFN_vkCmdNextSubpass CmdNextSubpass;
  327. PFN_vkCmdEndRenderPass CmdEndRenderPass;
  328. PFN_vkCmdExecuteCommands CmdExecuteCommands;
  329. // ---- Core 1_1 commands
  330. PFN_vkBindBufferMemory2 BindBufferMemory2;
  331. PFN_vkBindImageMemory2 BindImageMemory2;
  332. PFN_vkGetDeviceGroupPeerMemoryFeatures GetDeviceGroupPeerMemoryFeatures;
  333. PFN_vkCmdSetDeviceMask CmdSetDeviceMask;
  334. PFN_vkCmdDispatchBase CmdDispatchBase;
  335. PFN_vkGetImageMemoryRequirements2 GetImageMemoryRequirements2;
  336. PFN_vkGetBufferMemoryRequirements2 GetBufferMemoryRequirements2;
  337. PFN_vkGetImageSparseMemoryRequirements2 GetImageSparseMemoryRequirements2;
  338. PFN_vkTrimCommandPool TrimCommandPool;
  339. PFN_vkGetDeviceQueue2 GetDeviceQueue2;
  340. PFN_vkCreateSamplerYcbcrConversion CreateSamplerYcbcrConversion;
  341. PFN_vkDestroySamplerYcbcrConversion DestroySamplerYcbcrConversion;
  342. PFN_vkCreateDescriptorUpdateTemplate CreateDescriptorUpdateTemplate;
  343. PFN_vkDestroyDescriptorUpdateTemplate DestroyDescriptorUpdateTemplate;
  344. PFN_vkUpdateDescriptorSetWithTemplate UpdateDescriptorSetWithTemplate;
  345. PFN_vkGetDescriptorSetLayoutSupport GetDescriptorSetLayoutSupport;
  346. // ---- Core 1_2 commands
  347. PFN_vkCmdDrawIndirectCount CmdDrawIndirectCount;
  348. PFN_vkCmdDrawIndexedIndirectCount CmdDrawIndexedIndirectCount;
  349. PFN_vkCreateRenderPass2 CreateRenderPass2;
  350. PFN_vkCmdBeginRenderPass2 CmdBeginRenderPass2;
  351. PFN_vkCmdNextSubpass2 CmdNextSubpass2;
  352. PFN_vkCmdEndRenderPass2 CmdEndRenderPass2;
  353. PFN_vkResetQueryPool ResetQueryPool;
  354. PFN_vkGetSemaphoreCounterValue GetSemaphoreCounterValue;
  355. PFN_vkWaitSemaphores WaitSemaphores;
  356. PFN_vkSignalSemaphore SignalSemaphore;
  357. PFN_vkGetBufferDeviceAddress GetBufferDeviceAddress;
  358. PFN_vkGetBufferOpaqueCaptureAddress GetBufferOpaqueCaptureAddress;
  359. PFN_vkGetDeviceMemoryOpaqueCaptureAddress GetDeviceMemoryOpaqueCaptureAddress;
  360. // ---- VK_KHR_swapchain extension commands
  361. PFN_vkCreateSwapchainKHR CreateSwapchainKHR;
  362. PFN_vkDestroySwapchainKHR DestroySwapchainKHR;
  363. PFN_vkGetSwapchainImagesKHR GetSwapchainImagesKHR;
  364. PFN_vkAcquireNextImageKHR AcquireNextImageKHR;
  365. PFN_vkQueuePresentKHR QueuePresentKHR;
  366. PFN_vkGetDeviceGroupPresentCapabilitiesKHR GetDeviceGroupPresentCapabilitiesKHR;
  367. PFN_vkGetDeviceGroupSurfacePresentModesKHR GetDeviceGroupSurfacePresentModesKHR;
  368. PFN_vkAcquireNextImage2KHR AcquireNextImage2KHR;
  369. // ---- VK_KHR_display_swapchain extension commands
  370. PFN_vkCreateSharedSwapchainsKHR CreateSharedSwapchainsKHR;
  371. // ---- VK_KHR_device_group extension commands
  372. PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR GetDeviceGroupPeerMemoryFeaturesKHR;
  373. PFN_vkCmdSetDeviceMaskKHR CmdSetDeviceMaskKHR;
  374. PFN_vkCmdDispatchBaseKHR CmdDispatchBaseKHR;
  375. // ---- VK_KHR_maintenance1 extension commands
  376. PFN_vkTrimCommandPoolKHR TrimCommandPoolKHR;
  377. // ---- VK_KHR_external_memory_win32 extension commands
  378. #ifdef VK_USE_PLATFORM_WIN32_KHR
  379. PFN_vkGetMemoryWin32HandleKHR GetMemoryWin32HandleKHR;
  380. #endif // VK_USE_PLATFORM_WIN32_KHR
  381. #ifdef VK_USE_PLATFORM_WIN32_KHR
  382. PFN_vkGetMemoryWin32HandlePropertiesKHR GetMemoryWin32HandlePropertiesKHR;
  383. #endif // VK_USE_PLATFORM_WIN32_KHR
  384. // ---- VK_KHR_external_memory_fd extension commands
  385. PFN_vkGetMemoryFdKHR GetMemoryFdKHR;
  386. PFN_vkGetMemoryFdPropertiesKHR GetMemoryFdPropertiesKHR;
  387. // ---- VK_KHR_external_semaphore_win32 extension commands
  388. #ifdef VK_USE_PLATFORM_WIN32_KHR
  389. PFN_vkImportSemaphoreWin32HandleKHR ImportSemaphoreWin32HandleKHR;
  390. #endif // VK_USE_PLATFORM_WIN32_KHR
  391. #ifdef VK_USE_PLATFORM_WIN32_KHR
  392. PFN_vkGetSemaphoreWin32HandleKHR GetSemaphoreWin32HandleKHR;
  393. #endif // VK_USE_PLATFORM_WIN32_KHR
  394. // ---- VK_KHR_external_semaphore_fd extension commands
  395. PFN_vkImportSemaphoreFdKHR ImportSemaphoreFdKHR;
  396. PFN_vkGetSemaphoreFdKHR GetSemaphoreFdKHR;
  397. // ---- VK_KHR_push_descriptor extension commands
  398. PFN_vkCmdPushDescriptorSetKHR CmdPushDescriptorSetKHR;
  399. PFN_vkCmdPushDescriptorSetWithTemplateKHR CmdPushDescriptorSetWithTemplateKHR;
  400. // ---- VK_KHR_descriptor_update_template extension commands
  401. PFN_vkCreateDescriptorUpdateTemplateKHR CreateDescriptorUpdateTemplateKHR;
  402. PFN_vkDestroyDescriptorUpdateTemplateKHR DestroyDescriptorUpdateTemplateKHR;
  403. PFN_vkUpdateDescriptorSetWithTemplateKHR UpdateDescriptorSetWithTemplateKHR;
  404. // ---- VK_KHR_create_renderpass2 extension commands
  405. PFN_vkCreateRenderPass2KHR CreateRenderPass2KHR;
  406. PFN_vkCmdBeginRenderPass2KHR CmdBeginRenderPass2KHR;
  407. PFN_vkCmdNextSubpass2KHR CmdNextSubpass2KHR;
  408. PFN_vkCmdEndRenderPass2KHR CmdEndRenderPass2KHR;
  409. // ---- VK_KHR_shared_presentable_image extension commands
  410. PFN_vkGetSwapchainStatusKHR GetSwapchainStatusKHR;
  411. // ---- VK_KHR_external_fence_win32 extension commands
  412. #ifdef VK_USE_PLATFORM_WIN32_KHR
  413. PFN_vkImportFenceWin32HandleKHR ImportFenceWin32HandleKHR;
  414. #endif // VK_USE_PLATFORM_WIN32_KHR
  415. #ifdef VK_USE_PLATFORM_WIN32_KHR
  416. PFN_vkGetFenceWin32HandleKHR GetFenceWin32HandleKHR;
  417. #endif // VK_USE_PLATFORM_WIN32_KHR
  418. // ---- VK_KHR_external_fence_fd extension commands
  419. PFN_vkImportFenceFdKHR ImportFenceFdKHR;
  420. PFN_vkGetFenceFdKHR GetFenceFdKHR;
  421. // ---- VK_KHR_performance_query extension commands
  422. PFN_vkAcquireProfilingLockKHR AcquireProfilingLockKHR;
  423. PFN_vkReleaseProfilingLockKHR ReleaseProfilingLockKHR;
  424. // ---- VK_KHR_get_memory_requirements2 extension commands
  425. PFN_vkGetImageMemoryRequirements2KHR GetImageMemoryRequirements2KHR;
  426. PFN_vkGetBufferMemoryRequirements2KHR GetBufferMemoryRequirements2KHR;
  427. PFN_vkGetImageSparseMemoryRequirements2KHR GetImageSparseMemoryRequirements2KHR;
  428. // ---- VK_KHR_sampler_ycbcr_conversion extension commands
  429. PFN_vkCreateSamplerYcbcrConversionKHR CreateSamplerYcbcrConversionKHR;
  430. PFN_vkDestroySamplerYcbcrConversionKHR DestroySamplerYcbcrConversionKHR;
  431. // ---- VK_KHR_bind_memory2 extension commands
  432. PFN_vkBindBufferMemory2KHR BindBufferMemory2KHR;
  433. PFN_vkBindImageMemory2KHR BindImageMemory2KHR;
  434. // ---- VK_KHR_maintenance3 extension commands
  435. PFN_vkGetDescriptorSetLayoutSupportKHR GetDescriptorSetLayoutSupportKHR;
  436. // ---- VK_KHR_draw_indirect_count extension commands
  437. PFN_vkCmdDrawIndirectCountKHR CmdDrawIndirectCountKHR;
  438. PFN_vkCmdDrawIndexedIndirectCountKHR CmdDrawIndexedIndirectCountKHR;
  439. // ---- VK_KHR_timeline_semaphore extension commands
  440. PFN_vkGetSemaphoreCounterValueKHR GetSemaphoreCounterValueKHR;
  441. PFN_vkWaitSemaphoresKHR WaitSemaphoresKHR;
  442. PFN_vkSignalSemaphoreKHR SignalSemaphoreKHR;
  443. // ---- VK_KHR_fragment_shading_rate extension commands
  444. PFN_vkCmdSetFragmentShadingRateKHR CmdSetFragmentShadingRateKHR;
  445. // ---- VK_KHR_buffer_device_address extension commands
  446. PFN_vkGetBufferDeviceAddressKHR GetBufferDeviceAddressKHR;
  447. PFN_vkGetBufferOpaqueCaptureAddressKHR GetBufferOpaqueCaptureAddressKHR;
  448. PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR GetDeviceMemoryOpaqueCaptureAddressKHR;
  449. // ---- VK_KHR_deferred_host_operations extension commands
  450. PFN_vkCreateDeferredOperationKHR CreateDeferredOperationKHR;
  451. PFN_vkDestroyDeferredOperationKHR DestroyDeferredOperationKHR;
  452. PFN_vkGetDeferredOperationMaxConcurrencyKHR GetDeferredOperationMaxConcurrencyKHR;
  453. PFN_vkGetDeferredOperationResultKHR GetDeferredOperationResultKHR;
  454. PFN_vkDeferredOperationJoinKHR DeferredOperationJoinKHR;
  455. // ---- VK_KHR_pipeline_executable_properties extension commands
  456. PFN_vkGetPipelineExecutablePropertiesKHR GetPipelineExecutablePropertiesKHR;
  457. PFN_vkGetPipelineExecutableStatisticsKHR GetPipelineExecutableStatisticsKHR;
  458. PFN_vkGetPipelineExecutableInternalRepresentationsKHR GetPipelineExecutableInternalRepresentationsKHR;
  459. // ---- VK_KHR_copy_commands2 extension commands
  460. PFN_vkCmdCopyBuffer2KHR CmdCopyBuffer2KHR;
  461. PFN_vkCmdCopyImage2KHR CmdCopyImage2KHR;
  462. PFN_vkCmdCopyBufferToImage2KHR CmdCopyBufferToImage2KHR;
  463. PFN_vkCmdCopyImageToBuffer2KHR CmdCopyImageToBuffer2KHR;
  464. PFN_vkCmdBlitImage2KHR CmdBlitImage2KHR;
  465. PFN_vkCmdResolveImage2KHR CmdResolveImage2KHR;
  466. // ---- VK_EXT_debug_marker extension commands
  467. PFN_vkDebugMarkerSetObjectTagEXT DebugMarkerSetObjectTagEXT;
  468. PFN_vkDebugMarkerSetObjectNameEXT DebugMarkerSetObjectNameEXT;
  469. PFN_vkCmdDebugMarkerBeginEXT CmdDebugMarkerBeginEXT;
  470. PFN_vkCmdDebugMarkerEndEXT CmdDebugMarkerEndEXT;
  471. PFN_vkCmdDebugMarkerInsertEXT CmdDebugMarkerInsertEXT;
  472. // ---- VK_EXT_transform_feedback extension commands
  473. PFN_vkCmdBindTransformFeedbackBuffersEXT CmdBindTransformFeedbackBuffersEXT;
  474. PFN_vkCmdBeginTransformFeedbackEXT CmdBeginTransformFeedbackEXT;
  475. PFN_vkCmdEndTransformFeedbackEXT CmdEndTransformFeedbackEXT;
  476. PFN_vkCmdBeginQueryIndexedEXT CmdBeginQueryIndexedEXT;
  477. PFN_vkCmdEndQueryIndexedEXT CmdEndQueryIndexedEXT;
  478. PFN_vkCmdDrawIndirectByteCountEXT CmdDrawIndirectByteCountEXT;
  479. // ---- VK_NVX_image_view_handle extension commands
  480. PFN_vkGetImageViewHandleNVX GetImageViewHandleNVX;
  481. PFN_vkGetImageViewAddressNVX GetImageViewAddressNVX;
  482. // ---- VK_AMD_draw_indirect_count extension commands
  483. PFN_vkCmdDrawIndirectCountAMD CmdDrawIndirectCountAMD;
  484. PFN_vkCmdDrawIndexedIndirectCountAMD CmdDrawIndexedIndirectCountAMD;
  485. // ---- VK_AMD_shader_info extension commands
  486. PFN_vkGetShaderInfoAMD GetShaderInfoAMD;
  487. // ---- VK_NV_external_memory_win32 extension commands
  488. #ifdef VK_USE_PLATFORM_WIN32_KHR
  489. PFN_vkGetMemoryWin32HandleNV GetMemoryWin32HandleNV;
  490. #endif // VK_USE_PLATFORM_WIN32_KHR
  491. // ---- VK_EXT_conditional_rendering extension commands
  492. PFN_vkCmdBeginConditionalRenderingEXT CmdBeginConditionalRenderingEXT;
  493. PFN_vkCmdEndConditionalRenderingEXT CmdEndConditionalRenderingEXT;
  494. // ---- VK_NV_clip_space_w_scaling extension commands
  495. PFN_vkCmdSetViewportWScalingNV CmdSetViewportWScalingNV;
  496. // ---- VK_EXT_display_control extension commands
  497. PFN_vkDisplayPowerControlEXT DisplayPowerControlEXT;
  498. PFN_vkRegisterDeviceEventEXT RegisterDeviceEventEXT;
  499. PFN_vkRegisterDisplayEventEXT RegisterDisplayEventEXT;
  500. PFN_vkGetSwapchainCounterEXT GetSwapchainCounterEXT;
  501. // ---- VK_GOOGLE_display_timing extension commands
  502. PFN_vkGetRefreshCycleDurationGOOGLE GetRefreshCycleDurationGOOGLE;
  503. PFN_vkGetPastPresentationTimingGOOGLE GetPastPresentationTimingGOOGLE;
  504. // ---- VK_EXT_discard_rectangles extension commands
  505. PFN_vkCmdSetDiscardRectangleEXT CmdSetDiscardRectangleEXT;
  506. // ---- VK_EXT_hdr_metadata extension commands
  507. PFN_vkSetHdrMetadataEXT SetHdrMetadataEXT;
  508. // ---- VK_EXT_debug_utils extension commands
  509. PFN_vkSetDebugUtilsObjectNameEXT SetDebugUtilsObjectNameEXT;
  510. PFN_vkSetDebugUtilsObjectTagEXT SetDebugUtilsObjectTagEXT;
  511. PFN_vkQueueBeginDebugUtilsLabelEXT QueueBeginDebugUtilsLabelEXT;
  512. PFN_vkQueueEndDebugUtilsLabelEXT QueueEndDebugUtilsLabelEXT;
  513. PFN_vkQueueInsertDebugUtilsLabelEXT QueueInsertDebugUtilsLabelEXT;
  514. PFN_vkCmdBeginDebugUtilsLabelEXT CmdBeginDebugUtilsLabelEXT;
  515. PFN_vkCmdEndDebugUtilsLabelEXT CmdEndDebugUtilsLabelEXT;
  516. PFN_vkCmdInsertDebugUtilsLabelEXT CmdInsertDebugUtilsLabelEXT;
  517. // ---- VK_ANDROID_external_memory_android_hardware_buffer extension commands
  518. #ifdef VK_USE_PLATFORM_ANDROID_KHR
  519. PFN_vkGetAndroidHardwareBufferPropertiesANDROID GetAndroidHardwareBufferPropertiesANDROID;
  520. #endif // VK_USE_PLATFORM_ANDROID_KHR
  521. #ifdef VK_USE_PLATFORM_ANDROID_KHR
  522. PFN_vkGetMemoryAndroidHardwareBufferANDROID GetMemoryAndroidHardwareBufferANDROID;
  523. #endif // VK_USE_PLATFORM_ANDROID_KHR
  524. // ---- VK_EXT_sample_locations extension commands
  525. PFN_vkCmdSetSampleLocationsEXT CmdSetSampleLocationsEXT;
  526. // ---- VK_EXT_image_drm_format_modifier extension commands
  527. PFN_vkGetImageDrmFormatModifierPropertiesEXT GetImageDrmFormatModifierPropertiesEXT;
  528. // ---- VK_EXT_validation_cache extension commands
  529. PFN_vkCreateValidationCacheEXT CreateValidationCacheEXT;
  530. PFN_vkDestroyValidationCacheEXT DestroyValidationCacheEXT;
  531. PFN_vkMergeValidationCachesEXT MergeValidationCachesEXT;
  532. PFN_vkGetValidationCacheDataEXT GetValidationCacheDataEXT;
  533. // ---- VK_NV_shading_rate_image extension commands
  534. PFN_vkCmdBindShadingRateImageNV CmdBindShadingRateImageNV;
  535. PFN_vkCmdSetViewportShadingRatePaletteNV CmdSetViewportShadingRatePaletteNV;
  536. PFN_vkCmdSetCoarseSampleOrderNV CmdSetCoarseSampleOrderNV;
  537. // ---- VK_NV_ray_tracing extension commands
  538. PFN_vkCreateAccelerationStructureNV CreateAccelerationStructureNV;
  539. PFN_vkDestroyAccelerationStructureNV DestroyAccelerationStructureNV;
  540. PFN_vkGetAccelerationStructureMemoryRequirementsNV GetAccelerationStructureMemoryRequirementsNV;
  541. PFN_vkBindAccelerationStructureMemoryNV BindAccelerationStructureMemoryNV;
  542. PFN_vkCmdBuildAccelerationStructureNV CmdBuildAccelerationStructureNV;
  543. PFN_vkCmdCopyAccelerationStructureNV CmdCopyAccelerationStructureNV;
  544. PFN_vkCmdTraceRaysNV CmdTraceRaysNV;
  545. PFN_vkCreateRayTracingPipelinesNV CreateRayTracingPipelinesNV;
  546. PFN_vkGetRayTracingShaderGroupHandlesKHR GetRayTracingShaderGroupHandlesKHR;
  547. PFN_vkGetRayTracingShaderGroupHandlesNV GetRayTracingShaderGroupHandlesNV;
  548. PFN_vkGetAccelerationStructureHandleNV GetAccelerationStructureHandleNV;
  549. PFN_vkCmdWriteAccelerationStructuresPropertiesNV CmdWriteAccelerationStructuresPropertiesNV;
  550. PFN_vkCompileDeferredNV CompileDeferredNV;
  551. // ---- VK_EXT_external_memory_host extension commands
  552. PFN_vkGetMemoryHostPointerPropertiesEXT GetMemoryHostPointerPropertiesEXT;
  553. // ---- VK_AMD_buffer_marker extension commands
  554. PFN_vkCmdWriteBufferMarkerAMD CmdWriteBufferMarkerAMD;
  555. // ---- VK_EXT_calibrated_timestamps extension commands
  556. PFN_vkGetCalibratedTimestampsEXT GetCalibratedTimestampsEXT;
  557. // ---- VK_NV_mesh_shader extension commands
  558. PFN_vkCmdDrawMeshTasksNV CmdDrawMeshTasksNV;
  559. PFN_vkCmdDrawMeshTasksIndirectNV CmdDrawMeshTasksIndirectNV;
  560. PFN_vkCmdDrawMeshTasksIndirectCountNV CmdDrawMeshTasksIndirectCountNV;
  561. // ---- VK_NV_scissor_exclusive extension commands
  562. PFN_vkCmdSetExclusiveScissorNV CmdSetExclusiveScissorNV;
  563. // ---- VK_NV_device_diagnostic_checkpoints extension commands
  564. PFN_vkCmdSetCheckpointNV CmdSetCheckpointNV;
  565. PFN_vkGetQueueCheckpointDataNV GetQueueCheckpointDataNV;
  566. // ---- VK_INTEL_performance_query extension commands
  567. PFN_vkInitializePerformanceApiINTEL InitializePerformanceApiINTEL;
  568. PFN_vkUninitializePerformanceApiINTEL UninitializePerformanceApiINTEL;
  569. PFN_vkCmdSetPerformanceMarkerINTEL CmdSetPerformanceMarkerINTEL;
  570. PFN_vkCmdSetPerformanceStreamMarkerINTEL CmdSetPerformanceStreamMarkerINTEL;
  571. PFN_vkCmdSetPerformanceOverrideINTEL CmdSetPerformanceOverrideINTEL;
  572. PFN_vkAcquirePerformanceConfigurationINTEL AcquirePerformanceConfigurationINTEL;
  573. PFN_vkReleasePerformanceConfigurationINTEL ReleasePerformanceConfigurationINTEL;
  574. PFN_vkQueueSetPerformanceConfigurationINTEL QueueSetPerformanceConfigurationINTEL;
  575. PFN_vkGetPerformanceParameterINTEL GetPerformanceParameterINTEL;
  576. // ---- VK_AMD_display_native_hdr extension commands
  577. PFN_vkSetLocalDimmingAMD SetLocalDimmingAMD;
  578. // ---- VK_EXT_buffer_device_address extension commands
  579. PFN_vkGetBufferDeviceAddressEXT GetBufferDeviceAddressEXT;
  580. // ---- VK_EXT_full_screen_exclusive extension commands
  581. #ifdef VK_USE_PLATFORM_WIN32_KHR
  582. PFN_vkAcquireFullScreenExclusiveModeEXT AcquireFullScreenExclusiveModeEXT;
  583. #endif // VK_USE_PLATFORM_WIN32_KHR
  584. #ifdef VK_USE_PLATFORM_WIN32_KHR
  585. PFN_vkReleaseFullScreenExclusiveModeEXT ReleaseFullScreenExclusiveModeEXT;
  586. #endif // VK_USE_PLATFORM_WIN32_KHR
  587. #ifdef VK_USE_PLATFORM_WIN32_KHR
  588. PFN_vkGetDeviceGroupSurfacePresentModes2EXT GetDeviceGroupSurfacePresentModes2EXT;
  589. #endif // VK_USE_PLATFORM_WIN32_KHR
  590. // ---- VK_EXT_line_rasterization extension commands
  591. PFN_vkCmdSetLineStippleEXT CmdSetLineStippleEXT;
  592. // ---- VK_EXT_host_query_reset extension commands
  593. PFN_vkResetQueryPoolEXT ResetQueryPoolEXT;
  594. // ---- VK_EXT_extended_dynamic_state extension commands
  595. PFN_vkCmdSetCullModeEXT CmdSetCullModeEXT;
  596. PFN_vkCmdSetFrontFaceEXT CmdSetFrontFaceEXT;
  597. PFN_vkCmdSetPrimitiveTopologyEXT CmdSetPrimitiveTopologyEXT;
  598. PFN_vkCmdSetViewportWithCountEXT CmdSetViewportWithCountEXT;
  599. PFN_vkCmdSetScissorWithCountEXT CmdSetScissorWithCountEXT;
  600. PFN_vkCmdBindVertexBuffers2EXT CmdBindVertexBuffers2EXT;
  601. PFN_vkCmdSetDepthTestEnableEXT CmdSetDepthTestEnableEXT;
  602. PFN_vkCmdSetDepthWriteEnableEXT CmdSetDepthWriteEnableEXT;
  603. PFN_vkCmdSetDepthCompareOpEXT CmdSetDepthCompareOpEXT;
  604. PFN_vkCmdSetDepthBoundsTestEnableEXT CmdSetDepthBoundsTestEnableEXT;
  605. PFN_vkCmdSetStencilTestEnableEXT CmdSetStencilTestEnableEXT;
  606. PFN_vkCmdSetStencilOpEXT CmdSetStencilOpEXT;
  607. // ---- VK_NV_device_generated_commands extension commands
  608. PFN_vkGetGeneratedCommandsMemoryRequirementsNV GetGeneratedCommandsMemoryRequirementsNV;
  609. PFN_vkCmdPreprocessGeneratedCommandsNV CmdPreprocessGeneratedCommandsNV;
  610. PFN_vkCmdExecuteGeneratedCommandsNV CmdExecuteGeneratedCommandsNV;
  611. PFN_vkCmdBindPipelineShaderGroupNV CmdBindPipelineShaderGroupNV;
  612. PFN_vkCreateIndirectCommandsLayoutNV CreateIndirectCommandsLayoutNV;
  613. PFN_vkDestroyIndirectCommandsLayoutNV DestroyIndirectCommandsLayoutNV;
  614. // ---- VK_EXT_private_data extension commands
  615. PFN_vkCreatePrivateDataSlotEXT CreatePrivateDataSlotEXT;
  616. PFN_vkDestroyPrivateDataSlotEXT DestroyPrivateDataSlotEXT;
  617. PFN_vkSetPrivateDataEXT SetPrivateDataEXT;
  618. PFN_vkGetPrivateDataEXT GetPrivateDataEXT;
  619. // ---- VK_NV_fragment_shading_rate_enums extension commands
  620. PFN_vkCmdSetFragmentShadingRateEnumNV CmdSetFragmentShadingRateEnumNV;
  621. // ---- VK_KHR_acceleration_structure extension commands
  622. PFN_vkCreateAccelerationStructureKHR CreateAccelerationStructureKHR;
  623. PFN_vkDestroyAccelerationStructureKHR DestroyAccelerationStructureKHR;
  624. PFN_vkCmdBuildAccelerationStructuresKHR CmdBuildAccelerationStructuresKHR;
  625. PFN_vkCmdBuildAccelerationStructuresIndirectKHR CmdBuildAccelerationStructuresIndirectKHR;
  626. PFN_vkBuildAccelerationStructuresKHR BuildAccelerationStructuresKHR;
  627. PFN_vkCopyAccelerationStructureKHR CopyAccelerationStructureKHR;
  628. PFN_vkCopyAccelerationStructureToMemoryKHR CopyAccelerationStructureToMemoryKHR;
  629. PFN_vkCopyMemoryToAccelerationStructureKHR CopyMemoryToAccelerationStructureKHR;
  630. PFN_vkWriteAccelerationStructuresPropertiesKHR WriteAccelerationStructuresPropertiesKHR;
  631. PFN_vkCmdCopyAccelerationStructureKHR CmdCopyAccelerationStructureKHR;
  632. PFN_vkCmdCopyAccelerationStructureToMemoryKHR CmdCopyAccelerationStructureToMemoryKHR;
  633. PFN_vkCmdCopyMemoryToAccelerationStructureKHR CmdCopyMemoryToAccelerationStructureKHR;
  634. PFN_vkGetAccelerationStructureDeviceAddressKHR GetAccelerationStructureDeviceAddressKHR;
  635. PFN_vkCmdWriteAccelerationStructuresPropertiesKHR CmdWriteAccelerationStructuresPropertiesKHR;
  636. PFN_vkGetDeviceAccelerationStructureCompatibilityKHR GetDeviceAccelerationStructureCompatibilityKHR;
  637. PFN_vkGetAccelerationStructureBuildSizesKHR GetAccelerationStructureBuildSizesKHR;
  638. // ---- VK_KHR_ray_tracing_pipeline extension commands
  639. PFN_vkCmdTraceRaysKHR CmdTraceRaysKHR;
  640. PFN_vkCreateRayTracingPipelinesKHR CreateRayTracingPipelinesKHR;
  641. PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR GetRayTracingCaptureReplayShaderGroupHandlesKHR;
  642. PFN_vkCmdTraceRaysIndirectKHR CmdTraceRaysIndirectKHR;
  643. PFN_vkGetRayTracingShaderGroupStackSizeKHR GetRayTracingShaderGroupStackSizeKHR;
  644. PFN_vkCmdSetRayTracingPipelineStackSizeKHR CmdSetRayTracingPipelineStackSizeKHR;
  645. } VkLayerDispatchTable;