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