1 // *** THIS FILE IS GENERATED - DO NOT EDIT *** 2 // See loader_extension_generator.py for modifications 3 4 /* 5 * Copyright (c) 2015-2017 The Khronos Group Inc. 6 * Copyright (c) 2015-2017 Valve Corporation 7 * Copyright (c) 2015-2017 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_mir_surface extension commands 110 #ifdef VK_USE_PLATFORM_MIR_KHR 111 PFN_vkCreateMirSurfaceKHR CreateMirSurfaceKHR; 112 #endif // VK_USE_PLATFORM_MIR_KHR 113 #ifdef VK_USE_PLATFORM_MIR_KHR 114 PFN_vkGetPhysicalDeviceMirPresentationSupportKHR GetPhysicalDeviceMirPresentationSupportKHR; 115 #endif // VK_USE_PLATFORM_MIR_KHR 116 117 // ---- VK_KHR_android_surface extension commands 118 #ifdef VK_USE_PLATFORM_ANDROID_KHR 119 PFN_vkCreateAndroidSurfaceKHR CreateAndroidSurfaceKHR; 120 #endif // VK_USE_PLATFORM_ANDROID_KHR 121 122 // ---- VK_KHR_win32_surface extension commands 123 #ifdef VK_USE_PLATFORM_WIN32_KHR 124 PFN_vkCreateWin32SurfaceKHR CreateWin32SurfaceKHR; 125 #endif // VK_USE_PLATFORM_WIN32_KHR 126 #ifdef VK_USE_PLATFORM_WIN32_KHR 127 PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR GetPhysicalDeviceWin32PresentationSupportKHR; 128 #endif // VK_USE_PLATFORM_WIN32_KHR 129 130 // ---- VK_KHR_get_physical_device_properties2 extension commands 131 PFN_vkGetPhysicalDeviceFeatures2KHR GetPhysicalDeviceFeatures2KHR; 132 PFN_vkGetPhysicalDeviceProperties2KHR GetPhysicalDeviceProperties2KHR; 133 PFN_vkGetPhysicalDeviceFormatProperties2KHR GetPhysicalDeviceFormatProperties2KHR; 134 PFN_vkGetPhysicalDeviceImageFormatProperties2KHR GetPhysicalDeviceImageFormatProperties2KHR; 135 PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR GetPhysicalDeviceQueueFamilyProperties2KHR; 136 PFN_vkGetPhysicalDeviceMemoryProperties2KHR GetPhysicalDeviceMemoryProperties2KHR; 137 PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR GetPhysicalDeviceSparseImageFormatProperties2KHR; 138 139 // ---- VK_KHR_device_group_creation extension commands 140 PFN_vkEnumeratePhysicalDeviceGroupsKHR EnumeratePhysicalDeviceGroupsKHR; 141 142 // ---- VK_KHR_external_memory_capabilities extension commands 143 PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR GetPhysicalDeviceExternalBufferPropertiesKHR; 144 145 // ---- VK_KHR_external_semaphore_capabilities extension commands 146 PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR GetPhysicalDeviceExternalSemaphorePropertiesKHR; 147 148 // ---- VK_KHR_external_fence_capabilities extension commands 149 PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR GetPhysicalDeviceExternalFencePropertiesKHR; 150 151 // ---- VK_KHR_get_surface_capabilities2 extension commands 152 PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR GetPhysicalDeviceSurfaceCapabilities2KHR; 153 PFN_vkGetPhysicalDeviceSurfaceFormats2KHR GetPhysicalDeviceSurfaceFormats2KHR; 154 155 // ---- VK_KHR_get_display_properties2 extension commands 156 PFN_vkGetPhysicalDeviceDisplayProperties2KHR GetPhysicalDeviceDisplayProperties2KHR; 157 PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR GetPhysicalDeviceDisplayPlaneProperties2KHR; 158 PFN_vkGetDisplayModeProperties2KHR GetDisplayModeProperties2KHR; 159 PFN_vkGetDisplayPlaneCapabilities2KHR GetDisplayPlaneCapabilities2KHR; 160 161 // ---- VK_EXT_debug_report extension commands 162 PFN_vkCreateDebugReportCallbackEXT CreateDebugReportCallbackEXT; 163 PFN_vkDestroyDebugReportCallbackEXT DestroyDebugReportCallbackEXT; 164 PFN_vkDebugReportMessageEXT DebugReportMessageEXT; 165 166 // ---- VK_NV_external_memory_capabilities extension commands 167 PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV GetPhysicalDeviceExternalImageFormatPropertiesNV; 168 169 // ---- VK_NN_vi_surface extension commands 170 #ifdef VK_USE_PLATFORM_VI_NN 171 PFN_vkCreateViSurfaceNN CreateViSurfaceNN; 172 #endif // VK_USE_PLATFORM_VI_NN 173 174 // ---- VK_NVX_device_generated_commands extension commands 175 PFN_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX GetPhysicalDeviceGeneratedCommandsPropertiesNVX; 176 177 // ---- VK_EXT_direct_mode_display extension commands 178 PFN_vkReleaseDisplayEXT ReleaseDisplayEXT; 179 180 // ---- VK_EXT_acquire_xlib_display extension commands 181 #ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT 182 PFN_vkAcquireXlibDisplayEXT AcquireXlibDisplayEXT; 183 #endif // VK_USE_PLATFORM_XLIB_XRANDR_EXT 184 #ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT 185 PFN_vkGetRandROutputDisplayEXT GetRandROutputDisplayEXT; 186 #endif // VK_USE_PLATFORM_XLIB_XRANDR_EXT 187 188 // ---- VK_EXT_display_surface_counter extension commands 189 PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT GetPhysicalDeviceSurfaceCapabilities2EXT; 190 191 // ---- VK_MVK_ios_surface extension commands 192 #ifdef VK_USE_PLATFORM_IOS_MVK 193 PFN_vkCreateIOSSurfaceMVK CreateIOSSurfaceMVK; 194 #endif // VK_USE_PLATFORM_IOS_MVK 195 196 // ---- VK_MVK_macos_surface extension commands 197 #ifdef VK_USE_PLATFORM_MACOS_MVK 198 PFN_vkCreateMacOSSurfaceMVK CreateMacOSSurfaceMVK; 199 #endif // VK_USE_PLATFORM_MACOS_MVK 200 201 // ---- VK_EXT_debug_utils extension commands 202 PFN_vkCreateDebugUtilsMessengerEXT CreateDebugUtilsMessengerEXT; 203 PFN_vkDestroyDebugUtilsMessengerEXT DestroyDebugUtilsMessengerEXT; 204 PFN_vkSubmitDebugUtilsMessageEXT SubmitDebugUtilsMessageEXT; 205 206 // ---- VK_EXT_sample_locations extension commands 207 PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT GetPhysicalDeviceMultisamplePropertiesEXT; 208 } VkLayerInstanceDispatchTable; 209 210 // Device function pointer dispatch table 211 typedef struct VkLayerDispatchTable_ { 212 213 // ---- Core 1_0 commands 214 PFN_vkGetDeviceProcAddr GetDeviceProcAddr; 215 PFN_vkDestroyDevice DestroyDevice; 216 PFN_vkGetDeviceQueue GetDeviceQueue; 217 PFN_vkQueueSubmit QueueSubmit; 218 PFN_vkQueueWaitIdle QueueWaitIdle; 219 PFN_vkDeviceWaitIdle DeviceWaitIdle; 220 PFN_vkAllocateMemory AllocateMemory; 221 PFN_vkFreeMemory FreeMemory; 222 PFN_vkMapMemory MapMemory; 223 PFN_vkUnmapMemory UnmapMemory; 224 PFN_vkFlushMappedMemoryRanges FlushMappedMemoryRanges; 225 PFN_vkInvalidateMappedMemoryRanges InvalidateMappedMemoryRanges; 226 PFN_vkGetDeviceMemoryCommitment GetDeviceMemoryCommitment; 227 PFN_vkBindBufferMemory BindBufferMemory; 228 PFN_vkBindImageMemory BindImageMemory; 229 PFN_vkGetBufferMemoryRequirements GetBufferMemoryRequirements; 230 PFN_vkGetImageMemoryRequirements GetImageMemoryRequirements; 231 PFN_vkGetImageSparseMemoryRequirements GetImageSparseMemoryRequirements; 232 PFN_vkQueueBindSparse QueueBindSparse; 233 PFN_vkCreateFence CreateFence; 234 PFN_vkDestroyFence DestroyFence; 235 PFN_vkResetFences ResetFences; 236 PFN_vkGetFenceStatus GetFenceStatus; 237 PFN_vkWaitForFences WaitForFences; 238 PFN_vkCreateSemaphore CreateSemaphore; 239 PFN_vkDestroySemaphore DestroySemaphore; 240 PFN_vkCreateEvent CreateEvent; 241 PFN_vkDestroyEvent DestroyEvent; 242 PFN_vkGetEventStatus GetEventStatus; 243 PFN_vkSetEvent SetEvent; 244 PFN_vkResetEvent ResetEvent; 245 PFN_vkCreateQueryPool CreateQueryPool; 246 PFN_vkDestroyQueryPool DestroyQueryPool; 247 PFN_vkGetQueryPoolResults GetQueryPoolResults; 248 PFN_vkCreateBuffer CreateBuffer; 249 PFN_vkDestroyBuffer DestroyBuffer; 250 PFN_vkCreateBufferView CreateBufferView; 251 PFN_vkDestroyBufferView DestroyBufferView; 252 PFN_vkCreateImage CreateImage; 253 PFN_vkDestroyImage DestroyImage; 254 PFN_vkGetImageSubresourceLayout GetImageSubresourceLayout; 255 PFN_vkCreateImageView CreateImageView; 256 PFN_vkDestroyImageView DestroyImageView; 257 PFN_vkCreateShaderModule CreateShaderModule; 258 PFN_vkDestroyShaderModule DestroyShaderModule; 259 PFN_vkCreatePipelineCache CreatePipelineCache; 260 PFN_vkDestroyPipelineCache DestroyPipelineCache; 261 PFN_vkGetPipelineCacheData GetPipelineCacheData; 262 PFN_vkMergePipelineCaches MergePipelineCaches; 263 PFN_vkCreateGraphicsPipelines CreateGraphicsPipelines; 264 PFN_vkCreateComputePipelines CreateComputePipelines; 265 PFN_vkDestroyPipeline DestroyPipeline; 266 PFN_vkCreatePipelineLayout CreatePipelineLayout; 267 PFN_vkDestroyPipelineLayout DestroyPipelineLayout; 268 PFN_vkCreateSampler CreateSampler; 269 PFN_vkDestroySampler DestroySampler; 270 PFN_vkCreateDescriptorSetLayout CreateDescriptorSetLayout; 271 PFN_vkDestroyDescriptorSetLayout DestroyDescriptorSetLayout; 272 PFN_vkCreateDescriptorPool CreateDescriptorPool; 273 PFN_vkDestroyDescriptorPool DestroyDescriptorPool; 274 PFN_vkResetDescriptorPool ResetDescriptorPool; 275 PFN_vkAllocateDescriptorSets AllocateDescriptorSets; 276 PFN_vkFreeDescriptorSets FreeDescriptorSets; 277 PFN_vkUpdateDescriptorSets UpdateDescriptorSets; 278 PFN_vkCreateFramebuffer CreateFramebuffer; 279 PFN_vkDestroyFramebuffer DestroyFramebuffer; 280 PFN_vkCreateRenderPass CreateRenderPass; 281 PFN_vkDestroyRenderPass DestroyRenderPass; 282 PFN_vkGetRenderAreaGranularity GetRenderAreaGranularity; 283 PFN_vkCreateCommandPool CreateCommandPool; 284 PFN_vkDestroyCommandPool DestroyCommandPool; 285 PFN_vkResetCommandPool ResetCommandPool; 286 PFN_vkAllocateCommandBuffers AllocateCommandBuffers; 287 PFN_vkFreeCommandBuffers FreeCommandBuffers; 288 PFN_vkBeginCommandBuffer BeginCommandBuffer; 289 PFN_vkEndCommandBuffer EndCommandBuffer; 290 PFN_vkResetCommandBuffer ResetCommandBuffer; 291 PFN_vkCmdBindPipeline CmdBindPipeline; 292 PFN_vkCmdSetViewport CmdSetViewport; 293 PFN_vkCmdSetScissor CmdSetScissor; 294 PFN_vkCmdSetLineWidth CmdSetLineWidth; 295 PFN_vkCmdSetDepthBias CmdSetDepthBias; 296 PFN_vkCmdSetBlendConstants CmdSetBlendConstants; 297 PFN_vkCmdSetDepthBounds CmdSetDepthBounds; 298 PFN_vkCmdSetStencilCompareMask CmdSetStencilCompareMask; 299 PFN_vkCmdSetStencilWriteMask CmdSetStencilWriteMask; 300 PFN_vkCmdSetStencilReference CmdSetStencilReference; 301 PFN_vkCmdBindDescriptorSets CmdBindDescriptorSets; 302 PFN_vkCmdBindIndexBuffer CmdBindIndexBuffer; 303 PFN_vkCmdBindVertexBuffers CmdBindVertexBuffers; 304 PFN_vkCmdDraw CmdDraw; 305 PFN_vkCmdDrawIndexed CmdDrawIndexed; 306 PFN_vkCmdDrawIndirect CmdDrawIndirect; 307 PFN_vkCmdDrawIndexedIndirect CmdDrawIndexedIndirect; 308 PFN_vkCmdDispatch CmdDispatch; 309 PFN_vkCmdDispatchIndirect CmdDispatchIndirect; 310 PFN_vkCmdCopyBuffer CmdCopyBuffer; 311 PFN_vkCmdCopyImage CmdCopyImage; 312 PFN_vkCmdBlitImage CmdBlitImage; 313 PFN_vkCmdCopyBufferToImage CmdCopyBufferToImage; 314 PFN_vkCmdCopyImageToBuffer CmdCopyImageToBuffer; 315 PFN_vkCmdUpdateBuffer CmdUpdateBuffer; 316 PFN_vkCmdFillBuffer CmdFillBuffer; 317 PFN_vkCmdClearColorImage CmdClearColorImage; 318 PFN_vkCmdClearDepthStencilImage CmdClearDepthStencilImage; 319 PFN_vkCmdClearAttachments CmdClearAttachments; 320 PFN_vkCmdResolveImage CmdResolveImage; 321 PFN_vkCmdSetEvent CmdSetEvent; 322 PFN_vkCmdResetEvent CmdResetEvent; 323 PFN_vkCmdWaitEvents CmdWaitEvents; 324 PFN_vkCmdPipelineBarrier CmdPipelineBarrier; 325 PFN_vkCmdBeginQuery CmdBeginQuery; 326 PFN_vkCmdEndQuery CmdEndQuery; 327 PFN_vkCmdResetQueryPool CmdResetQueryPool; 328 PFN_vkCmdWriteTimestamp CmdWriteTimestamp; 329 PFN_vkCmdCopyQueryPoolResults CmdCopyQueryPoolResults; 330 PFN_vkCmdPushConstants CmdPushConstants; 331 PFN_vkCmdBeginRenderPass CmdBeginRenderPass; 332 PFN_vkCmdNextSubpass CmdNextSubpass; 333 PFN_vkCmdEndRenderPass CmdEndRenderPass; 334 PFN_vkCmdExecuteCommands CmdExecuteCommands; 335 336 // ---- Core 1_1 commands 337 PFN_vkBindBufferMemory2 BindBufferMemory2; 338 PFN_vkBindImageMemory2 BindImageMemory2; 339 PFN_vkGetDeviceGroupPeerMemoryFeatures GetDeviceGroupPeerMemoryFeatures; 340 PFN_vkCmdSetDeviceMask CmdSetDeviceMask; 341 PFN_vkCmdDispatchBase CmdDispatchBase; 342 PFN_vkGetImageMemoryRequirements2 GetImageMemoryRequirements2; 343 PFN_vkGetBufferMemoryRequirements2 GetBufferMemoryRequirements2; 344 PFN_vkGetImageSparseMemoryRequirements2 GetImageSparseMemoryRequirements2; 345 PFN_vkTrimCommandPool TrimCommandPool; 346 PFN_vkGetDeviceQueue2 GetDeviceQueue2; 347 PFN_vkCreateSamplerYcbcrConversion CreateSamplerYcbcrConversion; 348 PFN_vkDestroySamplerYcbcrConversion DestroySamplerYcbcrConversion; 349 PFN_vkCreateDescriptorUpdateTemplate CreateDescriptorUpdateTemplate; 350 PFN_vkDestroyDescriptorUpdateTemplate DestroyDescriptorUpdateTemplate; 351 PFN_vkUpdateDescriptorSetWithTemplate UpdateDescriptorSetWithTemplate; 352 PFN_vkGetDescriptorSetLayoutSupport GetDescriptorSetLayoutSupport; 353 354 // ---- VK_KHR_swapchain extension commands 355 PFN_vkCreateSwapchainKHR CreateSwapchainKHR; 356 PFN_vkDestroySwapchainKHR DestroySwapchainKHR; 357 PFN_vkGetSwapchainImagesKHR GetSwapchainImagesKHR; 358 PFN_vkAcquireNextImageKHR AcquireNextImageKHR; 359 PFN_vkQueuePresentKHR QueuePresentKHR; 360 PFN_vkGetDeviceGroupPresentCapabilitiesKHR GetDeviceGroupPresentCapabilitiesKHR; 361 PFN_vkGetDeviceGroupSurfacePresentModesKHR GetDeviceGroupSurfacePresentModesKHR; 362 PFN_vkAcquireNextImage2KHR AcquireNextImage2KHR; 363 364 // ---- VK_KHR_display_swapchain extension commands 365 PFN_vkCreateSharedSwapchainsKHR CreateSharedSwapchainsKHR; 366 367 // ---- VK_KHR_device_group extension commands 368 PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR GetDeviceGroupPeerMemoryFeaturesKHR; 369 PFN_vkCmdSetDeviceMaskKHR CmdSetDeviceMaskKHR; 370 PFN_vkCmdDispatchBaseKHR CmdDispatchBaseKHR; 371 372 // ---- VK_KHR_maintenance1 extension commands 373 PFN_vkTrimCommandPoolKHR TrimCommandPoolKHR; 374 375 // ---- VK_KHR_external_memory_win32 extension commands 376 #ifdef VK_USE_PLATFORM_WIN32_KHR 377 PFN_vkGetMemoryWin32HandleKHR GetMemoryWin32HandleKHR; 378 #endif // VK_USE_PLATFORM_WIN32_KHR 379 #ifdef VK_USE_PLATFORM_WIN32_KHR 380 PFN_vkGetMemoryWin32HandlePropertiesKHR GetMemoryWin32HandlePropertiesKHR; 381 #endif // VK_USE_PLATFORM_WIN32_KHR 382 383 // ---- VK_KHR_external_memory_fd extension commands 384 PFN_vkGetMemoryFdKHR GetMemoryFdKHR; 385 PFN_vkGetMemoryFdPropertiesKHR GetMemoryFdPropertiesKHR; 386 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 395 // ---- VK_KHR_external_semaphore_fd extension commands 396 PFN_vkImportSemaphoreFdKHR ImportSemaphoreFdKHR; 397 PFN_vkGetSemaphoreFdKHR GetSemaphoreFdKHR; 398 399 // ---- VK_KHR_push_descriptor extension commands 400 PFN_vkCmdPushDescriptorSetKHR CmdPushDescriptorSetKHR; 401 PFN_vkCmdPushDescriptorSetWithTemplateKHR CmdPushDescriptorSetWithTemplateKHR; 402 403 // ---- VK_KHR_descriptor_update_template extension commands 404 PFN_vkCreateDescriptorUpdateTemplateKHR CreateDescriptorUpdateTemplateKHR; 405 PFN_vkDestroyDescriptorUpdateTemplateKHR DestroyDescriptorUpdateTemplateKHR; 406 PFN_vkUpdateDescriptorSetWithTemplateKHR UpdateDescriptorSetWithTemplateKHR; 407 408 // ---- VK_KHR_create_renderpass2 extension commands 409 PFN_vkCreateRenderPass2KHR CreateRenderPass2KHR; 410 PFN_vkCmdBeginRenderPass2KHR CmdBeginRenderPass2KHR; 411 PFN_vkCmdNextSubpass2KHR CmdNextSubpass2KHR; 412 PFN_vkCmdEndRenderPass2KHR CmdEndRenderPass2KHR; 413 414 // ---- VK_KHR_shared_presentable_image extension commands 415 PFN_vkGetSwapchainStatusKHR GetSwapchainStatusKHR; 416 417 // ---- VK_KHR_external_fence_win32 extension commands 418 #ifdef VK_USE_PLATFORM_WIN32_KHR 419 PFN_vkImportFenceWin32HandleKHR ImportFenceWin32HandleKHR; 420 #endif // VK_USE_PLATFORM_WIN32_KHR 421 #ifdef VK_USE_PLATFORM_WIN32_KHR 422 PFN_vkGetFenceWin32HandleKHR GetFenceWin32HandleKHR; 423 #endif // VK_USE_PLATFORM_WIN32_KHR 424 425 // ---- VK_KHR_external_fence_fd extension commands 426 PFN_vkImportFenceFdKHR ImportFenceFdKHR; 427 PFN_vkGetFenceFdKHR GetFenceFdKHR; 428 429 // ---- VK_KHR_get_memory_requirements2 extension commands 430 PFN_vkGetImageMemoryRequirements2KHR GetImageMemoryRequirements2KHR; 431 PFN_vkGetBufferMemoryRequirements2KHR GetBufferMemoryRequirements2KHR; 432 PFN_vkGetImageSparseMemoryRequirements2KHR GetImageSparseMemoryRequirements2KHR; 433 434 // ---- VK_KHR_sampler_ycbcr_conversion extension commands 435 PFN_vkCreateSamplerYcbcrConversionKHR CreateSamplerYcbcrConversionKHR; 436 PFN_vkDestroySamplerYcbcrConversionKHR DestroySamplerYcbcrConversionKHR; 437 438 // ---- VK_KHR_bind_memory2 extension commands 439 PFN_vkBindBufferMemory2KHR BindBufferMemory2KHR; 440 PFN_vkBindImageMemory2KHR BindImageMemory2KHR; 441 442 // ---- VK_KHR_maintenance3 extension commands 443 PFN_vkGetDescriptorSetLayoutSupportKHR GetDescriptorSetLayoutSupportKHR; 444 445 // ---- VK_KHR_draw_indirect_count extension commands 446 PFN_vkCmdDrawIndirectCountKHR CmdDrawIndirectCountKHR; 447 PFN_vkCmdDrawIndexedIndirectCountKHR CmdDrawIndexedIndirectCountKHR; 448 449 // ---- VK_EXT_debug_marker extension commands 450 PFN_vkDebugMarkerSetObjectTagEXT DebugMarkerSetObjectTagEXT; 451 PFN_vkDebugMarkerSetObjectNameEXT DebugMarkerSetObjectNameEXT; 452 PFN_vkCmdDebugMarkerBeginEXT CmdDebugMarkerBeginEXT; 453 PFN_vkCmdDebugMarkerEndEXT CmdDebugMarkerEndEXT; 454 PFN_vkCmdDebugMarkerInsertEXT CmdDebugMarkerInsertEXT; 455 456 // ---- VK_AMD_draw_indirect_count extension commands 457 PFN_vkCmdDrawIndirectCountAMD CmdDrawIndirectCountAMD; 458 PFN_vkCmdDrawIndexedIndirectCountAMD CmdDrawIndexedIndirectCountAMD; 459 460 // ---- VK_AMD_shader_info extension commands 461 PFN_vkGetShaderInfoAMD GetShaderInfoAMD; 462 463 // ---- VK_NV_external_memory_win32 extension commands 464 #ifdef VK_USE_PLATFORM_WIN32_KHR 465 PFN_vkGetMemoryWin32HandleNV GetMemoryWin32HandleNV; 466 #endif // VK_USE_PLATFORM_WIN32_KHR 467 468 // ---- VK_EXT_conditional_rendering extension commands 469 PFN_vkCmdBeginConditionalRenderingEXT CmdBeginConditionalRenderingEXT; 470 PFN_vkCmdEndConditionalRenderingEXT CmdEndConditionalRenderingEXT; 471 472 // ---- VK_NVX_device_generated_commands extension commands 473 PFN_vkCmdProcessCommandsNVX CmdProcessCommandsNVX; 474 PFN_vkCmdReserveSpaceForCommandsNVX CmdReserveSpaceForCommandsNVX; 475 PFN_vkCreateIndirectCommandsLayoutNVX CreateIndirectCommandsLayoutNVX; 476 PFN_vkDestroyIndirectCommandsLayoutNVX DestroyIndirectCommandsLayoutNVX; 477 PFN_vkCreateObjectTableNVX CreateObjectTableNVX; 478 PFN_vkDestroyObjectTableNVX DestroyObjectTableNVX; 479 PFN_vkRegisterObjectsNVX RegisterObjectsNVX; 480 PFN_vkUnregisterObjectsNVX UnregisterObjectsNVX; 481 482 // ---- VK_NV_clip_space_w_scaling extension commands 483 PFN_vkCmdSetViewportWScalingNV CmdSetViewportWScalingNV; 484 485 // ---- VK_EXT_display_control extension commands 486 PFN_vkDisplayPowerControlEXT DisplayPowerControlEXT; 487 PFN_vkRegisterDeviceEventEXT RegisterDeviceEventEXT; 488 PFN_vkRegisterDisplayEventEXT RegisterDisplayEventEXT; 489 PFN_vkGetSwapchainCounterEXT GetSwapchainCounterEXT; 490 491 // ---- VK_GOOGLE_display_timing extension commands 492 PFN_vkGetRefreshCycleDurationGOOGLE GetRefreshCycleDurationGOOGLE; 493 PFN_vkGetPastPresentationTimingGOOGLE GetPastPresentationTimingGOOGLE; 494 495 // ---- VK_EXT_discard_rectangles extension commands 496 PFN_vkCmdSetDiscardRectangleEXT CmdSetDiscardRectangleEXT; 497 498 // ---- VK_EXT_hdr_metadata extension commands 499 PFN_vkSetHdrMetadataEXT SetHdrMetadataEXT; 500 501 // ---- VK_EXT_debug_utils extension commands 502 PFN_vkSetDebugUtilsObjectNameEXT SetDebugUtilsObjectNameEXT; 503 PFN_vkSetDebugUtilsObjectTagEXT SetDebugUtilsObjectTagEXT; 504 PFN_vkQueueBeginDebugUtilsLabelEXT QueueBeginDebugUtilsLabelEXT; 505 PFN_vkQueueEndDebugUtilsLabelEXT QueueEndDebugUtilsLabelEXT; 506 PFN_vkQueueInsertDebugUtilsLabelEXT QueueInsertDebugUtilsLabelEXT; 507 PFN_vkCmdBeginDebugUtilsLabelEXT CmdBeginDebugUtilsLabelEXT; 508 PFN_vkCmdEndDebugUtilsLabelEXT CmdEndDebugUtilsLabelEXT; 509 PFN_vkCmdInsertDebugUtilsLabelEXT CmdInsertDebugUtilsLabelEXT; 510 511 // ---- VK_ANDROID_external_memory_android_hardware_buffer extension commands 512 #ifdef VK_USE_PLATFORM_ANDROID_KHR 513 PFN_vkGetAndroidHardwareBufferPropertiesANDROID GetAndroidHardwareBufferPropertiesANDROID; 514 #endif // VK_USE_PLATFORM_ANDROID_KHR 515 #ifdef VK_USE_PLATFORM_ANDROID_KHR 516 PFN_vkGetMemoryAndroidHardwareBufferANDROID GetMemoryAndroidHardwareBufferANDROID; 517 #endif // VK_USE_PLATFORM_ANDROID_KHR 518 519 // ---- VK_EXT_sample_locations extension commands 520 PFN_vkCmdSetSampleLocationsEXT CmdSetSampleLocationsEXT; 521 522 // ---- VK_EXT_validation_cache extension commands 523 PFN_vkCreateValidationCacheEXT CreateValidationCacheEXT; 524 PFN_vkDestroyValidationCacheEXT DestroyValidationCacheEXT; 525 PFN_vkMergeValidationCachesEXT MergeValidationCachesEXT; 526 PFN_vkGetValidationCacheDataEXT GetValidationCacheDataEXT; 527 528 // ---- VK_EXT_external_memory_host extension commands 529 PFN_vkGetMemoryHostPointerPropertiesEXT GetMemoryHostPointerPropertiesEXT; 530 531 // ---- VK_AMD_buffer_marker extension commands 532 PFN_vkCmdWriteBufferMarkerAMD CmdWriteBufferMarkerAMD; 533 534 // ---- VK_NV_device_diagnostic_checkpoints extension commands 535 PFN_vkCmdSetCheckpointNV CmdSetCheckpointNV; 536 PFN_vkGetQueueCheckpointDataNV GetQueueCheckpointDataNV; 537 } VkLayerDispatchTable; 538 539 540