| // *** THIS FILE IS GENERATED - DO NOT EDIT *** |
| // See lvt_file_generator.py for modifications |
| |
| /* |
| * Copyright (c) 2015-2023 The Khronos Group Inc. |
| * Copyright (c) 2015-2023 Valve Corporation |
| * Copyright (c) 2015-2023 LunarG, Inc. |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| |
| #include "lvt_function_pointers.h" |
| #include <cassert> |
| #include <cstdio> |
| #include <cstdlib> |
| #include <functional> |
| #include <string> |
| #include "containers/custom_containers.h" |
| |
| #ifdef _WIN32 |
| // Dynamic Loading: |
| typedef HMODULE dl_handle; |
| static dl_handle open_library(const char *lib_path) { |
| // Try loading the library the original way first. |
| dl_handle lib_handle = LoadLibrary(lib_path); |
| if (lib_handle == NULL && GetLastError() == ERROR_MOD_NOT_FOUND) { |
| // If that failed, then try loading it with broader search folders. |
| lib_handle = LoadLibraryEx(lib_path, NULL, LOAD_LIBRARY_SEARCH_DEFAULT_DIRS | LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR); |
| } |
| return lib_handle; |
| } |
| static char *open_library_error(const char *libPath) { |
| static char errorMsg[164]; |
| (void)snprintf(errorMsg, 163, "Failed to open dynamic library \"%s\" with error %lu", libPath, GetLastError()); |
| return errorMsg; |
| } |
| static void *get_proc_address(dl_handle library, const char *name) { |
| assert(library); |
| assert(name); |
| return (void *)GetProcAddress(library, name); |
| } |
| #elif defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__) || defined(__OpenBSD__) |
| |
| #include <dlfcn.h> |
| |
| typedef void *dl_handle; |
| static inline dl_handle open_library(const char *libPath) { |
| // When loading the library, we use RTLD_LAZY so that not all symbols have to be |
| // resolved at this time (which improves performance). Note that if not all symbols |
| // can be resolved, this could cause crashes later. Use the LD_BIND_NOW environment |
| // variable to force all symbols to be resolved here. |
| return dlopen(libPath, RTLD_LAZY | RTLD_LOCAL); |
| } |
| static inline const char *open_library_error(const char * /*libPath*/) { return dlerror(); } |
| static inline void *get_proc_address(dl_handle library, const char *name) { |
| assert(library); |
| assert(name); |
| return dlsym(library, name); |
| } |
| #else |
| #error Dynamic library functions must be defined for this OS. |
| #endif |
| |
| |
| namespace vk { |
| |
| PFN_vkCreateInstance CreateInstance; |
| PFN_vkDestroyInstance DestroyInstance; |
| PFN_vkEnumeratePhysicalDevices EnumeratePhysicalDevices; |
| PFN_vkGetPhysicalDeviceFeatures GetPhysicalDeviceFeatures; |
| PFN_vkGetPhysicalDeviceFormatProperties GetPhysicalDeviceFormatProperties; |
| PFN_vkGetPhysicalDeviceImageFormatProperties GetPhysicalDeviceImageFormatProperties; |
| PFN_vkGetPhysicalDeviceProperties GetPhysicalDeviceProperties; |
| PFN_vkGetPhysicalDeviceQueueFamilyProperties GetPhysicalDeviceQueueFamilyProperties; |
| PFN_vkGetPhysicalDeviceMemoryProperties GetPhysicalDeviceMemoryProperties; |
| PFN_vkGetInstanceProcAddr GetInstanceProcAddr; |
| PFN_vkGetDeviceProcAddr GetDeviceProcAddr; |
| PFN_vkCreateDevice CreateDevice; |
| PFN_vkDestroyDevice DestroyDevice; |
| PFN_vkEnumerateInstanceExtensionProperties EnumerateInstanceExtensionProperties; |
| PFN_vkEnumerateDeviceExtensionProperties EnumerateDeviceExtensionProperties; |
| PFN_vkEnumerateInstanceLayerProperties EnumerateInstanceLayerProperties; |
| PFN_vkEnumerateDeviceLayerProperties EnumerateDeviceLayerProperties; |
| PFN_vkGetDeviceQueue GetDeviceQueue; |
| PFN_vkQueueSubmit QueueSubmit; |
| PFN_vkQueueWaitIdle QueueWaitIdle; |
| PFN_vkDeviceWaitIdle DeviceWaitIdle; |
| PFN_vkAllocateMemory AllocateMemory; |
| PFN_vkFreeMemory FreeMemory; |
| PFN_vkMapMemory MapMemory; |
| PFN_vkUnmapMemory UnmapMemory; |
| PFN_vkFlushMappedMemoryRanges FlushMappedMemoryRanges; |
| PFN_vkInvalidateMappedMemoryRanges InvalidateMappedMemoryRanges; |
| PFN_vkGetDeviceMemoryCommitment GetDeviceMemoryCommitment; |
| PFN_vkBindBufferMemory BindBufferMemory; |
| PFN_vkBindImageMemory BindImageMemory; |
| PFN_vkGetBufferMemoryRequirements GetBufferMemoryRequirements; |
| PFN_vkGetImageMemoryRequirements GetImageMemoryRequirements; |
| PFN_vkGetImageSparseMemoryRequirements GetImageSparseMemoryRequirements; |
| PFN_vkGetPhysicalDeviceSparseImageFormatProperties GetPhysicalDeviceSparseImageFormatProperties; |
| PFN_vkQueueBindSparse QueueBindSparse; |
| PFN_vkCreateFence CreateFence; |
| PFN_vkDestroyFence DestroyFence; |
| PFN_vkResetFences ResetFences; |
| PFN_vkGetFenceStatus GetFenceStatus; |
| PFN_vkWaitForFences WaitForFences; |
| PFN_vkCreateSemaphore CreateSemaphore; |
| PFN_vkDestroySemaphore DestroySemaphore; |
| PFN_vkCreateEvent CreateEvent; |
| PFN_vkDestroyEvent DestroyEvent; |
| PFN_vkGetEventStatus GetEventStatus; |
| PFN_vkSetEvent SetEvent; |
| PFN_vkResetEvent ResetEvent; |
| PFN_vkCreateQueryPool CreateQueryPool; |
| PFN_vkDestroyQueryPool DestroyQueryPool; |
| PFN_vkGetQueryPoolResults GetQueryPoolResults; |
| PFN_vkCreateBuffer CreateBuffer; |
| PFN_vkDestroyBuffer DestroyBuffer; |
| PFN_vkCreateBufferView CreateBufferView; |
| PFN_vkDestroyBufferView DestroyBufferView; |
| PFN_vkCreateImage CreateImage; |
| PFN_vkDestroyImage DestroyImage; |
| PFN_vkGetImageSubresourceLayout GetImageSubresourceLayout; |
| PFN_vkCreateImageView CreateImageView; |
| PFN_vkDestroyImageView DestroyImageView; |
| PFN_vkCreateShaderModule CreateShaderModule; |
| PFN_vkDestroyShaderModule DestroyShaderModule; |
| PFN_vkCreatePipelineCache CreatePipelineCache; |
| PFN_vkDestroyPipelineCache DestroyPipelineCache; |
| PFN_vkGetPipelineCacheData GetPipelineCacheData; |
| PFN_vkMergePipelineCaches MergePipelineCaches; |
| PFN_vkCreateGraphicsPipelines CreateGraphicsPipelines; |
| PFN_vkCreateComputePipelines CreateComputePipelines; |
| PFN_vkDestroyPipeline DestroyPipeline; |
| PFN_vkCreatePipelineLayout CreatePipelineLayout; |
| PFN_vkDestroyPipelineLayout DestroyPipelineLayout; |
| PFN_vkCreateSampler CreateSampler; |
| PFN_vkDestroySampler DestroySampler; |
| PFN_vkCreateDescriptorSetLayout CreateDescriptorSetLayout; |
| PFN_vkDestroyDescriptorSetLayout DestroyDescriptorSetLayout; |
| PFN_vkCreateDescriptorPool CreateDescriptorPool; |
| PFN_vkDestroyDescriptorPool DestroyDescriptorPool; |
| PFN_vkResetDescriptorPool ResetDescriptorPool; |
| PFN_vkAllocateDescriptorSets AllocateDescriptorSets; |
| PFN_vkFreeDescriptorSets FreeDescriptorSets; |
| PFN_vkUpdateDescriptorSets UpdateDescriptorSets; |
| PFN_vkCreateFramebuffer CreateFramebuffer; |
| PFN_vkDestroyFramebuffer DestroyFramebuffer; |
| PFN_vkCreateRenderPass CreateRenderPass; |
| PFN_vkDestroyRenderPass DestroyRenderPass; |
| PFN_vkGetRenderAreaGranularity GetRenderAreaGranularity; |
| PFN_vkCreateCommandPool CreateCommandPool; |
| PFN_vkDestroyCommandPool DestroyCommandPool; |
| PFN_vkResetCommandPool ResetCommandPool; |
| PFN_vkAllocateCommandBuffers AllocateCommandBuffers; |
| PFN_vkFreeCommandBuffers FreeCommandBuffers; |
| PFN_vkBeginCommandBuffer BeginCommandBuffer; |
| PFN_vkEndCommandBuffer EndCommandBuffer; |
| PFN_vkResetCommandBuffer ResetCommandBuffer; |
| PFN_vkCmdBindPipeline CmdBindPipeline; |
| PFN_vkCmdSetViewport CmdSetViewport; |
| PFN_vkCmdSetScissor CmdSetScissor; |
| PFN_vkCmdSetLineWidth CmdSetLineWidth; |
| PFN_vkCmdSetDepthBias CmdSetDepthBias; |
| PFN_vkCmdSetBlendConstants CmdSetBlendConstants; |
| PFN_vkCmdSetDepthBounds CmdSetDepthBounds; |
| PFN_vkCmdSetStencilCompareMask CmdSetStencilCompareMask; |
| PFN_vkCmdSetStencilWriteMask CmdSetStencilWriteMask; |
| PFN_vkCmdSetStencilReference CmdSetStencilReference; |
| PFN_vkCmdBindDescriptorSets CmdBindDescriptorSets; |
| PFN_vkCmdBindIndexBuffer CmdBindIndexBuffer; |
| PFN_vkCmdBindVertexBuffers CmdBindVertexBuffers; |
| PFN_vkCmdDraw CmdDraw; |
| PFN_vkCmdDrawIndexed CmdDrawIndexed; |
| PFN_vkCmdDrawIndirect CmdDrawIndirect; |
| PFN_vkCmdDrawIndexedIndirect CmdDrawIndexedIndirect; |
| PFN_vkCmdDispatch CmdDispatch; |
| PFN_vkCmdDispatchIndirect CmdDispatchIndirect; |
| PFN_vkCmdCopyBuffer CmdCopyBuffer; |
| PFN_vkCmdCopyImage CmdCopyImage; |
| PFN_vkCmdBlitImage CmdBlitImage; |
| PFN_vkCmdCopyBufferToImage CmdCopyBufferToImage; |
| PFN_vkCmdCopyImageToBuffer CmdCopyImageToBuffer; |
| PFN_vkCmdUpdateBuffer CmdUpdateBuffer; |
| PFN_vkCmdFillBuffer CmdFillBuffer; |
| PFN_vkCmdClearColorImage CmdClearColorImage; |
| PFN_vkCmdClearDepthStencilImage CmdClearDepthStencilImage; |
| PFN_vkCmdClearAttachments CmdClearAttachments; |
| PFN_vkCmdResolveImage CmdResolveImage; |
| PFN_vkCmdSetEvent CmdSetEvent; |
| PFN_vkCmdResetEvent CmdResetEvent; |
| PFN_vkCmdWaitEvents CmdWaitEvents; |
| PFN_vkCmdPipelineBarrier CmdPipelineBarrier; |
| PFN_vkCmdBeginQuery CmdBeginQuery; |
| PFN_vkCmdEndQuery CmdEndQuery; |
| PFN_vkCmdResetQueryPool CmdResetQueryPool; |
| PFN_vkCmdWriteTimestamp CmdWriteTimestamp; |
| PFN_vkCmdCopyQueryPoolResults CmdCopyQueryPoolResults; |
| PFN_vkCmdPushConstants CmdPushConstants; |
| PFN_vkCmdBeginRenderPass CmdBeginRenderPass; |
| PFN_vkCmdNextSubpass CmdNextSubpass; |
| PFN_vkCmdEndRenderPass CmdEndRenderPass; |
| PFN_vkCmdExecuteCommands CmdExecuteCommands; |
| PFN_vkEnumerateInstanceVersion EnumerateInstanceVersion; |
| PFN_vkBindBufferMemory2 BindBufferMemory2; |
| PFN_vkBindImageMemory2 BindImageMemory2; |
| PFN_vkGetDeviceGroupPeerMemoryFeatures GetDeviceGroupPeerMemoryFeatures; |
| PFN_vkCmdSetDeviceMask CmdSetDeviceMask; |
| PFN_vkCmdDispatchBase CmdDispatchBase; |
| PFN_vkEnumeratePhysicalDeviceGroups EnumeratePhysicalDeviceGroups; |
| PFN_vkGetImageMemoryRequirements2 GetImageMemoryRequirements2; |
| PFN_vkGetBufferMemoryRequirements2 GetBufferMemoryRequirements2; |
| PFN_vkGetImageSparseMemoryRequirements2 GetImageSparseMemoryRequirements2; |
| PFN_vkGetPhysicalDeviceFeatures2 GetPhysicalDeviceFeatures2; |
| PFN_vkGetPhysicalDeviceProperties2 GetPhysicalDeviceProperties2; |
| PFN_vkGetPhysicalDeviceFormatProperties2 GetPhysicalDeviceFormatProperties2; |
| PFN_vkGetPhysicalDeviceImageFormatProperties2 GetPhysicalDeviceImageFormatProperties2; |
| PFN_vkGetPhysicalDeviceQueueFamilyProperties2 GetPhysicalDeviceQueueFamilyProperties2; |
| PFN_vkGetPhysicalDeviceMemoryProperties2 GetPhysicalDeviceMemoryProperties2; |
| PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 GetPhysicalDeviceSparseImageFormatProperties2; |
| PFN_vkTrimCommandPool TrimCommandPool; |
| PFN_vkGetDeviceQueue2 GetDeviceQueue2; |
| PFN_vkCreateSamplerYcbcrConversion CreateSamplerYcbcrConversion; |
| PFN_vkDestroySamplerYcbcrConversion DestroySamplerYcbcrConversion; |
| PFN_vkCreateDescriptorUpdateTemplate CreateDescriptorUpdateTemplate; |
| PFN_vkDestroyDescriptorUpdateTemplate DestroyDescriptorUpdateTemplate; |
| PFN_vkUpdateDescriptorSetWithTemplate UpdateDescriptorSetWithTemplate; |
| PFN_vkGetPhysicalDeviceExternalBufferProperties GetPhysicalDeviceExternalBufferProperties; |
| PFN_vkGetPhysicalDeviceExternalFenceProperties GetPhysicalDeviceExternalFenceProperties; |
| PFN_vkGetPhysicalDeviceExternalSemaphoreProperties GetPhysicalDeviceExternalSemaphoreProperties; |
| PFN_vkGetDescriptorSetLayoutSupport GetDescriptorSetLayoutSupport; |
| PFN_vkCmdDrawIndirectCount CmdDrawIndirectCount; |
| PFN_vkCmdDrawIndexedIndirectCount CmdDrawIndexedIndirectCount; |
| PFN_vkCreateRenderPass2 CreateRenderPass2; |
| PFN_vkCmdBeginRenderPass2 CmdBeginRenderPass2; |
| PFN_vkCmdNextSubpass2 CmdNextSubpass2; |
| PFN_vkCmdEndRenderPass2 CmdEndRenderPass2; |
| PFN_vkResetQueryPool ResetQueryPool; |
| PFN_vkGetSemaphoreCounterValue GetSemaphoreCounterValue; |
| PFN_vkWaitSemaphores WaitSemaphores; |
| PFN_vkSignalSemaphore SignalSemaphore; |
| PFN_vkGetBufferDeviceAddress GetBufferDeviceAddress; |
| PFN_vkGetBufferOpaqueCaptureAddress GetBufferOpaqueCaptureAddress; |
| PFN_vkGetDeviceMemoryOpaqueCaptureAddress GetDeviceMemoryOpaqueCaptureAddress; |
| PFN_vkGetPhysicalDeviceToolProperties GetPhysicalDeviceToolProperties; |
| PFN_vkCreatePrivateDataSlot CreatePrivateDataSlot; |
| PFN_vkDestroyPrivateDataSlot DestroyPrivateDataSlot; |
| PFN_vkSetPrivateData SetPrivateData; |
| PFN_vkGetPrivateData GetPrivateData; |
| PFN_vkCmdSetEvent2 CmdSetEvent2; |
| PFN_vkCmdResetEvent2 CmdResetEvent2; |
| PFN_vkCmdWaitEvents2 CmdWaitEvents2; |
| PFN_vkCmdPipelineBarrier2 CmdPipelineBarrier2; |
| PFN_vkCmdWriteTimestamp2 CmdWriteTimestamp2; |
| PFN_vkQueueSubmit2 QueueSubmit2; |
| PFN_vkCmdCopyBuffer2 CmdCopyBuffer2; |
| PFN_vkCmdCopyImage2 CmdCopyImage2; |
| PFN_vkCmdCopyBufferToImage2 CmdCopyBufferToImage2; |
| PFN_vkCmdCopyImageToBuffer2 CmdCopyImageToBuffer2; |
| PFN_vkCmdBlitImage2 CmdBlitImage2; |
| PFN_vkCmdResolveImage2 CmdResolveImage2; |
| PFN_vkCmdBeginRendering CmdBeginRendering; |
| PFN_vkCmdEndRendering CmdEndRendering; |
| PFN_vkCmdSetCullMode CmdSetCullMode; |
| PFN_vkCmdSetFrontFace CmdSetFrontFace; |
| PFN_vkCmdSetPrimitiveTopology CmdSetPrimitiveTopology; |
| PFN_vkCmdSetViewportWithCount CmdSetViewportWithCount; |
| PFN_vkCmdSetScissorWithCount CmdSetScissorWithCount; |
| PFN_vkCmdBindVertexBuffers2 CmdBindVertexBuffers2; |
| PFN_vkCmdSetDepthTestEnable CmdSetDepthTestEnable; |
| PFN_vkCmdSetDepthWriteEnable CmdSetDepthWriteEnable; |
| PFN_vkCmdSetDepthCompareOp CmdSetDepthCompareOp; |
| PFN_vkCmdSetDepthBoundsTestEnable CmdSetDepthBoundsTestEnable; |
| PFN_vkCmdSetStencilTestEnable CmdSetStencilTestEnable; |
| PFN_vkCmdSetStencilOp CmdSetStencilOp; |
| PFN_vkCmdSetRasterizerDiscardEnable CmdSetRasterizerDiscardEnable; |
| PFN_vkCmdSetDepthBiasEnable CmdSetDepthBiasEnable; |
| PFN_vkCmdSetPrimitiveRestartEnable CmdSetPrimitiveRestartEnable; |
| PFN_vkGetDeviceBufferMemoryRequirements GetDeviceBufferMemoryRequirements; |
| PFN_vkGetDeviceImageMemoryRequirements GetDeviceImageMemoryRequirements; |
| PFN_vkGetDeviceImageSparseMemoryRequirements GetDeviceImageSparseMemoryRequirements; |
| |
| // Extension function pointers |
| // VK_AMD_buffer_marker |
| PFN_vkCmdWriteBufferMarkerAMD CmdWriteBufferMarkerAMD; |
| // VK_AMD_display_native_hdr |
| PFN_vkSetLocalDimmingAMD SetLocalDimmingAMD; |
| // VK_AMD_draw_indirect_count |
| PFN_vkCmdDrawIndirectCountAMD CmdDrawIndirectCountAMD; |
| PFN_vkCmdDrawIndexedIndirectCountAMD CmdDrawIndexedIndirectCountAMD; |
| // VK_AMD_shader_info |
| PFN_vkGetShaderInfoAMD GetShaderInfoAMD; |
| // VK_ANDROID_external_memory_android_hardware_buffer |
| #ifdef VK_USE_PLATFORM_ANDROID_KHR |
| PFN_vkGetAndroidHardwareBufferPropertiesANDROID GetAndroidHardwareBufferPropertiesANDROID; |
| PFN_vkGetMemoryAndroidHardwareBufferANDROID GetMemoryAndroidHardwareBufferANDROID; |
| #endif // VK_USE_PLATFORM_ANDROID_KHR |
| // VK_EXT_acquire_drm_display |
| PFN_vkAcquireDrmDisplayEXT AcquireDrmDisplayEXT; |
| PFN_vkGetDrmDisplayEXT GetDrmDisplayEXT; |
| // VK_EXT_acquire_xlib_display |
| #ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT |
| PFN_vkAcquireXlibDisplayEXT AcquireXlibDisplayEXT; |
| PFN_vkGetRandROutputDisplayEXT GetRandROutputDisplayEXT; |
| #endif // VK_USE_PLATFORM_XLIB_XRANDR_EXT |
| // VK_EXT_attachment_feedback_loop_dynamic_state |
| PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT CmdSetAttachmentFeedbackLoopEnableEXT; |
| // VK_EXT_buffer_device_address |
| PFN_vkGetBufferDeviceAddressEXT GetBufferDeviceAddressEXT; |
| // VK_EXT_calibrated_timestamps |
| PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT GetPhysicalDeviceCalibrateableTimeDomainsEXT; |
| PFN_vkGetCalibratedTimestampsEXT GetCalibratedTimestampsEXT; |
| // VK_EXT_color_write_enable |
| PFN_vkCmdSetColorWriteEnableEXT CmdSetColorWriteEnableEXT; |
| // VK_EXT_conditional_rendering |
| PFN_vkCmdBeginConditionalRenderingEXT CmdBeginConditionalRenderingEXT; |
| PFN_vkCmdEndConditionalRenderingEXT CmdEndConditionalRenderingEXT; |
| // VK_EXT_debug_marker |
| PFN_vkDebugMarkerSetObjectTagEXT DebugMarkerSetObjectTagEXT; |
| PFN_vkDebugMarkerSetObjectNameEXT DebugMarkerSetObjectNameEXT; |
| PFN_vkCmdDebugMarkerBeginEXT CmdDebugMarkerBeginEXT; |
| PFN_vkCmdDebugMarkerEndEXT CmdDebugMarkerEndEXT; |
| PFN_vkCmdDebugMarkerInsertEXT CmdDebugMarkerInsertEXT; |
| // VK_EXT_debug_report |
| PFN_vkCreateDebugReportCallbackEXT CreateDebugReportCallbackEXT; |
| PFN_vkDestroyDebugReportCallbackEXT DestroyDebugReportCallbackEXT; |
| PFN_vkDebugReportMessageEXT DebugReportMessageEXT; |
| // VK_EXT_debug_utils |
| PFN_vkSetDebugUtilsObjectNameEXT SetDebugUtilsObjectNameEXT; |
| PFN_vkSetDebugUtilsObjectTagEXT SetDebugUtilsObjectTagEXT; |
| PFN_vkQueueBeginDebugUtilsLabelEXT QueueBeginDebugUtilsLabelEXT; |
| PFN_vkQueueEndDebugUtilsLabelEXT QueueEndDebugUtilsLabelEXT; |
| PFN_vkQueueInsertDebugUtilsLabelEXT QueueInsertDebugUtilsLabelEXT; |
| PFN_vkCmdBeginDebugUtilsLabelEXT CmdBeginDebugUtilsLabelEXT; |
| PFN_vkCmdEndDebugUtilsLabelEXT CmdEndDebugUtilsLabelEXT; |
| PFN_vkCmdInsertDebugUtilsLabelEXT CmdInsertDebugUtilsLabelEXT; |
| PFN_vkCreateDebugUtilsMessengerEXT CreateDebugUtilsMessengerEXT; |
| PFN_vkDestroyDebugUtilsMessengerEXT DestroyDebugUtilsMessengerEXT; |
| PFN_vkSubmitDebugUtilsMessageEXT SubmitDebugUtilsMessageEXT; |
| // VK_EXT_descriptor_buffer |
| PFN_vkGetDescriptorSetLayoutSizeEXT GetDescriptorSetLayoutSizeEXT; |
| PFN_vkGetDescriptorSetLayoutBindingOffsetEXT GetDescriptorSetLayoutBindingOffsetEXT; |
| PFN_vkGetDescriptorEXT GetDescriptorEXT; |
| PFN_vkCmdBindDescriptorBuffersEXT CmdBindDescriptorBuffersEXT; |
| PFN_vkCmdSetDescriptorBufferOffsetsEXT CmdSetDescriptorBufferOffsetsEXT; |
| PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT CmdBindDescriptorBufferEmbeddedSamplersEXT; |
| PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT GetBufferOpaqueCaptureDescriptorDataEXT; |
| PFN_vkGetImageOpaqueCaptureDescriptorDataEXT GetImageOpaqueCaptureDescriptorDataEXT; |
| PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT GetImageViewOpaqueCaptureDescriptorDataEXT; |
| PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT GetSamplerOpaqueCaptureDescriptorDataEXT; |
| PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT GetAccelerationStructureOpaqueCaptureDescriptorDataEXT; |
| // VK_EXT_device_fault |
| PFN_vkGetDeviceFaultInfoEXT GetDeviceFaultInfoEXT; |
| // VK_EXT_direct_mode_display |
| PFN_vkReleaseDisplayEXT ReleaseDisplayEXT; |
| // VK_EXT_directfb_surface |
| #ifdef VK_USE_PLATFORM_DIRECTFB_EXT |
| PFN_vkCreateDirectFBSurfaceEXT CreateDirectFBSurfaceEXT; |
| PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT GetPhysicalDeviceDirectFBPresentationSupportEXT; |
| #endif // VK_USE_PLATFORM_DIRECTFB_EXT |
| // VK_EXT_discard_rectangles |
| PFN_vkCmdSetDiscardRectangleEXT CmdSetDiscardRectangleEXT; |
| PFN_vkCmdSetDiscardRectangleEnableEXT CmdSetDiscardRectangleEnableEXT; |
| PFN_vkCmdSetDiscardRectangleModeEXT CmdSetDiscardRectangleModeEXT; |
| // VK_EXT_display_control |
| PFN_vkDisplayPowerControlEXT DisplayPowerControlEXT; |
| PFN_vkRegisterDeviceEventEXT RegisterDeviceEventEXT; |
| PFN_vkRegisterDisplayEventEXT RegisterDisplayEventEXT; |
| PFN_vkGetSwapchainCounterEXT GetSwapchainCounterEXT; |
| // VK_EXT_display_surface_counter |
| PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT GetPhysicalDeviceSurfaceCapabilities2EXT; |
| // VK_EXT_extended_dynamic_state |
| PFN_vkCmdSetCullModeEXT CmdSetCullModeEXT; |
| PFN_vkCmdSetFrontFaceEXT CmdSetFrontFaceEXT; |
| PFN_vkCmdSetPrimitiveTopologyEXT CmdSetPrimitiveTopologyEXT; |
| PFN_vkCmdSetViewportWithCountEXT CmdSetViewportWithCountEXT; |
| PFN_vkCmdSetScissorWithCountEXT CmdSetScissorWithCountEXT; |
| PFN_vkCmdBindVertexBuffers2EXT CmdBindVertexBuffers2EXT; |
| PFN_vkCmdSetDepthTestEnableEXT CmdSetDepthTestEnableEXT; |
| PFN_vkCmdSetDepthWriteEnableEXT CmdSetDepthWriteEnableEXT; |
| PFN_vkCmdSetDepthCompareOpEXT CmdSetDepthCompareOpEXT; |
| PFN_vkCmdSetDepthBoundsTestEnableEXT CmdSetDepthBoundsTestEnableEXT; |
| PFN_vkCmdSetStencilTestEnableEXT CmdSetStencilTestEnableEXT; |
| PFN_vkCmdSetStencilOpEXT CmdSetStencilOpEXT; |
| // VK_EXT_extended_dynamic_state2 |
| PFN_vkCmdSetPatchControlPointsEXT CmdSetPatchControlPointsEXT; |
| PFN_vkCmdSetRasterizerDiscardEnableEXT CmdSetRasterizerDiscardEnableEXT; |
| PFN_vkCmdSetDepthBiasEnableEXT CmdSetDepthBiasEnableEXT; |
| PFN_vkCmdSetLogicOpEXT CmdSetLogicOpEXT; |
| PFN_vkCmdSetPrimitiveRestartEnableEXT CmdSetPrimitiveRestartEnableEXT; |
| // VK_EXT_extended_dynamic_state3 |
| PFN_vkCmdSetTessellationDomainOriginEXT CmdSetTessellationDomainOriginEXT; |
| PFN_vkCmdSetDepthClampEnableEXT CmdSetDepthClampEnableEXT; |
| PFN_vkCmdSetPolygonModeEXT CmdSetPolygonModeEXT; |
| PFN_vkCmdSetRasterizationSamplesEXT CmdSetRasterizationSamplesEXT; |
| PFN_vkCmdSetSampleMaskEXT CmdSetSampleMaskEXT; |
| PFN_vkCmdSetAlphaToCoverageEnableEXT CmdSetAlphaToCoverageEnableEXT; |
| PFN_vkCmdSetAlphaToOneEnableEXT CmdSetAlphaToOneEnableEXT; |
| PFN_vkCmdSetLogicOpEnableEXT CmdSetLogicOpEnableEXT; |
| PFN_vkCmdSetColorBlendEnableEXT CmdSetColorBlendEnableEXT; |
| PFN_vkCmdSetColorBlendEquationEXT CmdSetColorBlendEquationEXT; |
| PFN_vkCmdSetColorWriteMaskEXT CmdSetColorWriteMaskEXT; |
| PFN_vkCmdSetRasterizationStreamEXT CmdSetRasterizationStreamEXT; |
| PFN_vkCmdSetConservativeRasterizationModeEXT CmdSetConservativeRasterizationModeEXT; |
| PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT CmdSetExtraPrimitiveOverestimationSizeEXT; |
| PFN_vkCmdSetDepthClipEnableEXT CmdSetDepthClipEnableEXT; |
| PFN_vkCmdSetSampleLocationsEnableEXT CmdSetSampleLocationsEnableEXT; |
| PFN_vkCmdSetColorBlendAdvancedEXT CmdSetColorBlendAdvancedEXT; |
| PFN_vkCmdSetProvokingVertexModeEXT CmdSetProvokingVertexModeEXT; |
| PFN_vkCmdSetLineRasterizationModeEXT CmdSetLineRasterizationModeEXT; |
| PFN_vkCmdSetLineStippleEnableEXT CmdSetLineStippleEnableEXT; |
| PFN_vkCmdSetDepthClipNegativeOneToOneEXT CmdSetDepthClipNegativeOneToOneEXT; |
| PFN_vkCmdSetViewportWScalingEnableNV CmdSetViewportWScalingEnableNV; |
| PFN_vkCmdSetViewportSwizzleNV CmdSetViewportSwizzleNV; |
| PFN_vkCmdSetCoverageToColorEnableNV CmdSetCoverageToColorEnableNV; |
| PFN_vkCmdSetCoverageToColorLocationNV CmdSetCoverageToColorLocationNV; |
| PFN_vkCmdSetCoverageModulationModeNV CmdSetCoverageModulationModeNV; |
| PFN_vkCmdSetCoverageModulationTableEnableNV CmdSetCoverageModulationTableEnableNV; |
| PFN_vkCmdSetCoverageModulationTableNV CmdSetCoverageModulationTableNV; |
| PFN_vkCmdSetShadingRateImageEnableNV CmdSetShadingRateImageEnableNV; |
| PFN_vkCmdSetRepresentativeFragmentTestEnableNV CmdSetRepresentativeFragmentTestEnableNV; |
| PFN_vkCmdSetCoverageReductionModeNV CmdSetCoverageReductionModeNV; |
| // VK_EXT_external_memory_host |
| PFN_vkGetMemoryHostPointerPropertiesEXT GetMemoryHostPointerPropertiesEXT; |
| // VK_EXT_full_screen_exclusive |
| #ifdef VK_USE_PLATFORM_WIN32_KHR |
| PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT GetPhysicalDeviceSurfacePresentModes2EXT; |
| PFN_vkAcquireFullScreenExclusiveModeEXT AcquireFullScreenExclusiveModeEXT; |
| PFN_vkReleaseFullScreenExclusiveModeEXT ReleaseFullScreenExclusiveModeEXT; |
| PFN_vkGetDeviceGroupSurfacePresentModes2EXT GetDeviceGroupSurfacePresentModes2EXT; |
| #endif // VK_USE_PLATFORM_WIN32_KHR |
| // VK_EXT_hdr_metadata |
| PFN_vkSetHdrMetadataEXT SetHdrMetadataEXT; |
| // VK_EXT_headless_surface |
| PFN_vkCreateHeadlessSurfaceEXT CreateHeadlessSurfaceEXT; |
| // VK_EXT_host_query_reset |
| PFN_vkResetQueryPoolEXT ResetQueryPoolEXT; |
| // VK_EXT_image_compression_control |
| PFN_vkGetImageSubresourceLayout2EXT GetImageSubresourceLayout2EXT; |
| // VK_EXT_image_drm_format_modifier |
| PFN_vkGetImageDrmFormatModifierPropertiesEXT GetImageDrmFormatModifierPropertiesEXT; |
| // VK_EXT_line_rasterization |
| PFN_vkCmdSetLineStippleEXT CmdSetLineStippleEXT; |
| // VK_EXT_mesh_shader |
| PFN_vkCmdDrawMeshTasksEXT CmdDrawMeshTasksEXT; |
| PFN_vkCmdDrawMeshTasksIndirectEXT CmdDrawMeshTasksIndirectEXT; |
| PFN_vkCmdDrawMeshTasksIndirectCountEXT CmdDrawMeshTasksIndirectCountEXT; |
| // VK_EXT_metal_objects |
| #ifdef VK_USE_PLATFORM_METAL_EXT |
| PFN_vkExportMetalObjectsEXT ExportMetalObjectsEXT; |
| #endif // VK_USE_PLATFORM_METAL_EXT |
| // VK_EXT_metal_surface |
| #ifdef VK_USE_PLATFORM_METAL_EXT |
| PFN_vkCreateMetalSurfaceEXT CreateMetalSurfaceEXT; |
| #endif // VK_USE_PLATFORM_METAL_EXT |
| // VK_EXT_multi_draw |
| PFN_vkCmdDrawMultiEXT CmdDrawMultiEXT; |
| PFN_vkCmdDrawMultiIndexedEXT CmdDrawMultiIndexedEXT; |
| // VK_EXT_opacity_micromap |
| PFN_vkCreateMicromapEXT CreateMicromapEXT; |
| PFN_vkDestroyMicromapEXT DestroyMicromapEXT; |
| PFN_vkCmdBuildMicromapsEXT CmdBuildMicromapsEXT; |
| PFN_vkBuildMicromapsEXT BuildMicromapsEXT; |
| PFN_vkCopyMicromapEXT CopyMicromapEXT; |
| PFN_vkCopyMicromapToMemoryEXT CopyMicromapToMemoryEXT; |
| PFN_vkCopyMemoryToMicromapEXT CopyMemoryToMicromapEXT; |
| PFN_vkWriteMicromapsPropertiesEXT WriteMicromapsPropertiesEXT; |
| PFN_vkCmdCopyMicromapEXT CmdCopyMicromapEXT; |
| PFN_vkCmdCopyMicromapToMemoryEXT CmdCopyMicromapToMemoryEXT; |
| PFN_vkCmdCopyMemoryToMicromapEXT CmdCopyMemoryToMicromapEXT; |
| PFN_vkCmdWriteMicromapsPropertiesEXT CmdWriteMicromapsPropertiesEXT; |
| PFN_vkGetDeviceMicromapCompatibilityEXT GetDeviceMicromapCompatibilityEXT; |
| PFN_vkGetMicromapBuildSizesEXT GetMicromapBuildSizesEXT; |
| // VK_EXT_pageable_device_local_memory |
| PFN_vkSetDeviceMemoryPriorityEXT SetDeviceMemoryPriorityEXT; |
| // VK_EXT_pipeline_properties |
| PFN_vkGetPipelinePropertiesEXT GetPipelinePropertiesEXT; |
| // VK_EXT_private_data |
| PFN_vkCreatePrivateDataSlotEXT CreatePrivateDataSlotEXT; |
| PFN_vkDestroyPrivateDataSlotEXT DestroyPrivateDataSlotEXT; |
| PFN_vkSetPrivateDataEXT SetPrivateDataEXT; |
| PFN_vkGetPrivateDataEXT GetPrivateDataEXT; |
| // VK_EXT_sample_locations |
| PFN_vkCmdSetSampleLocationsEXT CmdSetSampleLocationsEXT; |
| PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT GetPhysicalDeviceMultisamplePropertiesEXT; |
| // VK_EXT_shader_module_identifier |
| PFN_vkGetShaderModuleIdentifierEXT GetShaderModuleIdentifierEXT; |
| PFN_vkGetShaderModuleCreateInfoIdentifierEXT GetShaderModuleCreateInfoIdentifierEXT; |
| // VK_EXT_shader_object |
| PFN_vkCreateShadersEXT CreateShadersEXT; |
| PFN_vkDestroyShaderEXT DestroyShaderEXT; |
| PFN_vkGetShaderBinaryDataEXT GetShaderBinaryDataEXT; |
| PFN_vkCmdBindShadersEXT CmdBindShadersEXT; |
| // VK_EXT_swapchain_maintenance1 |
| PFN_vkReleaseSwapchainImagesEXT ReleaseSwapchainImagesEXT; |
| // VK_EXT_tooling_info |
| PFN_vkGetPhysicalDeviceToolPropertiesEXT GetPhysicalDeviceToolPropertiesEXT; |
| // VK_EXT_transform_feedback |
| PFN_vkCmdBindTransformFeedbackBuffersEXT CmdBindTransformFeedbackBuffersEXT; |
| PFN_vkCmdBeginTransformFeedbackEXT CmdBeginTransformFeedbackEXT; |
| PFN_vkCmdEndTransformFeedbackEXT CmdEndTransformFeedbackEXT; |
| PFN_vkCmdBeginQueryIndexedEXT CmdBeginQueryIndexedEXT; |
| PFN_vkCmdEndQueryIndexedEXT CmdEndQueryIndexedEXT; |
| PFN_vkCmdDrawIndirectByteCountEXT CmdDrawIndirectByteCountEXT; |
| // VK_EXT_validation_cache |
| PFN_vkCreateValidationCacheEXT CreateValidationCacheEXT; |
| PFN_vkDestroyValidationCacheEXT DestroyValidationCacheEXT; |
| PFN_vkMergeValidationCachesEXT MergeValidationCachesEXT; |
| PFN_vkGetValidationCacheDataEXT GetValidationCacheDataEXT; |
| // VK_EXT_vertex_input_dynamic_state |
| PFN_vkCmdSetVertexInputEXT CmdSetVertexInputEXT; |
| // VK_FUCHSIA_buffer_collection |
| #ifdef VK_USE_PLATFORM_FUCHSIA |
| PFN_vkCreateBufferCollectionFUCHSIA CreateBufferCollectionFUCHSIA; |
| PFN_vkSetBufferCollectionImageConstraintsFUCHSIA SetBufferCollectionImageConstraintsFUCHSIA; |
| PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA SetBufferCollectionBufferConstraintsFUCHSIA; |
| PFN_vkDestroyBufferCollectionFUCHSIA DestroyBufferCollectionFUCHSIA; |
| PFN_vkGetBufferCollectionPropertiesFUCHSIA GetBufferCollectionPropertiesFUCHSIA; |
| #endif // VK_USE_PLATFORM_FUCHSIA |
| // VK_FUCHSIA_external_memory |
| #ifdef VK_USE_PLATFORM_FUCHSIA |
| PFN_vkGetMemoryZirconHandleFUCHSIA GetMemoryZirconHandleFUCHSIA; |
| PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA GetMemoryZirconHandlePropertiesFUCHSIA; |
| #endif // VK_USE_PLATFORM_FUCHSIA |
| // VK_FUCHSIA_external_semaphore |
| #ifdef VK_USE_PLATFORM_FUCHSIA |
| PFN_vkImportSemaphoreZirconHandleFUCHSIA ImportSemaphoreZirconHandleFUCHSIA; |
| PFN_vkGetSemaphoreZirconHandleFUCHSIA GetSemaphoreZirconHandleFUCHSIA; |
| #endif // VK_USE_PLATFORM_FUCHSIA |
| // VK_FUCHSIA_imagepipe_surface |
| #ifdef VK_USE_PLATFORM_FUCHSIA |
| PFN_vkCreateImagePipeSurfaceFUCHSIA CreateImagePipeSurfaceFUCHSIA; |
| #endif // VK_USE_PLATFORM_FUCHSIA |
| // VK_GGP_stream_descriptor_surface |
| #ifdef VK_USE_PLATFORM_GGP |
| PFN_vkCreateStreamDescriptorSurfaceGGP CreateStreamDescriptorSurfaceGGP; |
| #endif // VK_USE_PLATFORM_GGP |
| // VK_GOOGLE_display_timing |
| PFN_vkGetRefreshCycleDurationGOOGLE GetRefreshCycleDurationGOOGLE; |
| PFN_vkGetPastPresentationTimingGOOGLE GetPastPresentationTimingGOOGLE; |
| // VK_HUAWEI_cluster_culling_shader |
| PFN_vkCmdDrawClusterHUAWEI CmdDrawClusterHUAWEI; |
| PFN_vkCmdDrawClusterIndirectHUAWEI CmdDrawClusterIndirectHUAWEI; |
| // VK_HUAWEI_invocation_mask |
| PFN_vkCmdBindInvocationMaskHUAWEI CmdBindInvocationMaskHUAWEI; |
| // VK_HUAWEI_subpass_shading |
| PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI; |
| PFN_vkCmdSubpassShadingHUAWEI CmdSubpassShadingHUAWEI; |
| // VK_INTEL_performance_query |
| PFN_vkInitializePerformanceApiINTEL InitializePerformanceApiINTEL; |
| PFN_vkUninitializePerformanceApiINTEL UninitializePerformanceApiINTEL; |
| PFN_vkCmdSetPerformanceMarkerINTEL CmdSetPerformanceMarkerINTEL; |
| PFN_vkCmdSetPerformanceStreamMarkerINTEL CmdSetPerformanceStreamMarkerINTEL; |
| PFN_vkCmdSetPerformanceOverrideINTEL CmdSetPerformanceOverrideINTEL; |
| PFN_vkAcquirePerformanceConfigurationINTEL AcquirePerformanceConfigurationINTEL; |
| PFN_vkReleasePerformanceConfigurationINTEL ReleasePerformanceConfigurationINTEL; |
| PFN_vkQueueSetPerformanceConfigurationINTEL QueueSetPerformanceConfigurationINTEL; |
| PFN_vkGetPerformanceParameterINTEL GetPerformanceParameterINTEL; |
| // VK_KHR_acceleration_structure |
| PFN_vkCreateAccelerationStructureKHR CreateAccelerationStructureKHR; |
| PFN_vkDestroyAccelerationStructureKHR DestroyAccelerationStructureKHR; |
| PFN_vkCmdBuildAccelerationStructuresKHR CmdBuildAccelerationStructuresKHR; |
| PFN_vkCmdBuildAccelerationStructuresIndirectKHR CmdBuildAccelerationStructuresIndirectKHR; |
| PFN_vkBuildAccelerationStructuresKHR BuildAccelerationStructuresKHR; |
| PFN_vkCopyAccelerationStructureKHR CopyAccelerationStructureKHR; |
| PFN_vkCopyAccelerationStructureToMemoryKHR CopyAccelerationStructureToMemoryKHR; |
| PFN_vkCopyMemoryToAccelerationStructureKHR CopyMemoryToAccelerationStructureKHR; |
| PFN_vkWriteAccelerationStructuresPropertiesKHR WriteAccelerationStructuresPropertiesKHR; |
| PFN_vkCmdCopyAccelerationStructureKHR CmdCopyAccelerationStructureKHR; |
| PFN_vkCmdCopyAccelerationStructureToMemoryKHR CmdCopyAccelerationStructureToMemoryKHR; |
| PFN_vkCmdCopyMemoryToAccelerationStructureKHR CmdCopyMemoryToAccelerationStructureKHR; |
| PFN_vkGetAccelerationStructureDeviceAddressKHR GetAccelerationStructureDeviceAddressKHR; |
| PFN_vkCmdWriteAccelerationStructuresPropertiesKHR CmdWriteAccelerationStructuresPropertiesKHR; |
| PFN_vkGetDeviceAccelerationStructureCompatibilityKHR GetDeviceAccelerationStructureCompatibilityKHR; |
| PFN_vkGetAccelerationStructureBuildSizesKHR GetAccelerationStructureBuildSizesKHR; |
| // VK_KHR_android_surface |
| #ifdef VK_USE_PLATFORM_ANDROID_KHR |
| PFN_vkCreateAndroidSurfaceKHR CreateAndroidSurfaceKHR; |
| #endif // VK_USE_PLATFORM_ANDROID_KHR |
| // VK_KHR_bind_memory2 |
| PFN_vkBindBufferMemory2KHR BindBufferMemory2KHR; |
| PFN_vkBindImageMemory2KHR BindImageMemory2KHR; |
| // VK_KHR_buffer_device_address |
| PFN_vkGetBufferDeviceAddressKHR GetBufferDeviceAddressKHR; |
| PFN_vkGetBufferOpaqueCaptureAddressKHR GetBufferOpaqueCaptureAddressKHR; |
| PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR GetDeviceMemoryOpaqueCaptureAddressKHR; |
| // VK_KHR_copy_commands2 |
| PFN_vkCmdCopyBuffer2KHR CmdCopyBuffer2KHR; |
| PFN_vkCmdCopyImage2KHR CmdCopyImage2KHR; |
| PFN_vkCmdCopyBufferToImage2KHR CmdCopyBufferToImage2KHR; |
| PFN_vkCmdCopyImageToBuffer2KHR CmdCopyImageToBuffer2KHR; |
| PFN_vkCmdBlitImage2KHR CmdBlitImage2KHR; |
| PFN_vkCmdResolveImage2KHR CmdResolveImage2KHR; |
| // VK_KHR_create_renderpass2 |
| PFN_vkCreateRenderPass2KHR CreateRenderPass2KHR; |
| PFN_vkCmdBeginRenderPass2KHR CmdBeginRenderPass2KHR; |
| PFN_vkCmdNextSubpass2KHR CmdNextSubpass2KHR; |
| PFN_vkCmdEndRenderPass2KHR CmdEndRenderPass2KHR; |
| // VK_KHR_deferred_host_operations |
| PFN_vkCreateDeferredOperationKHR CreateDeferredOperationKHR; |
| PFN_vkDestroyDeferredOperationKHR DestroyDeferredOperationKHR; |
| PFN_vkGetDeferredOperationMaxConcurrencyKHR GetDeferredOperationMaxConcurrencyKHR; |
| PFN_vkGetDeferredOperationResultKHR GetDeferredOperationResultKHR; |
| PFN_vkDeferredOperationJoinKHR DeferredOperationJoinKHR; |
| // VK_KHR_descriptor_update_template |
| PFN_vkCreateDescriptorUpdateTemplateKHR CreateDescriptorUpdateTemplateKHR; |
| PFN_vkDestroyDescriptorUpdateTemplateKHR DestroyDescriptorUpdateTemplateKHR; |
| PFN_vkUpdateDescriptorSetWithTemplateKHR UpdateDescriptorSetWithTemplateKHR; |
| // VK_KHR_device_group |
| PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR GetDeviceGroupPeerMemoryFeaturesKHR; |
| PFN_vkCmdSetDeviceMaskKHR CmdSetDeviceMaskKHR; |
| PFN_vkCmdDispatchBaseKHR CmdDispatchBaseKHR; |
| // VK_KHR_device_group_creation |
| PFN_vkEnumeratePhysicalDeviceGroupsKHR EnumeratePhysicalDeviceGroupsKHR; |
| // VK_KHR_display |
| PFN_vkGetPhysicalDeviceDisplayPropertiesKHR GetPhysicalDeviceDisplayPropertiesKHR; |
| PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR GetPhysicalDeviceDisplayPlanePropertiesKHR; |
| PFN_vkGetDisplayPlaneSupportedDisplaysKHR GetDisplayPlaneSupportedDisplaysKHR; |
| PFN_vkGetDisplayModePropertiesKHR GetDisplayModePropertiesKHR; |
| PFN_vkCreateDisplayModeKHR CreateDisplayModeKHR; |
| PFN_vkGetDisplayPlaneCapabilitiesKHR GetDisplayPlaneCapabilitiesKHR; |
| PFN_vkCreateDisplayPlaneSurfaceKHR CreateDisplayPlaneSurfaceKHR; |
| // VK_KHR_display_swapchain |
| PFN_vkCreateSharedSwapchainsKHR CreateSharedSwapchainsKHR; |
| // VK_KHR_draw_indirect_count |
| PFN_vkCmdDrawIndirectCountKHR CmdDrawIndirectCountKHR; |
| PFN_vkCmdDrawIndexedIndirectCountKHR CmdDrawIndexedIndirectCountKHR; |
| // VK_KHR_dynamic_rendering |
| PFN_vkCmdBeginRenderingKHR CmdBeginRenderingKHR; |
| PFN_vkCmdEndRenderingKHR CmdEndRenderingKHR; |
| // VK_KHR_external_fence_capabilities |
| PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR GetPhysicalDeviceExternalFencePropertiesKHR; |
| // VK_KHR_external_fence_fd |
| PFN_vkImportFenceFdKHR ImportFenceFdKHR; |
| PFN_vkGetFenceFdKHR GetFenceFdKHR; |
| // VK_KHR_external_fence_win32 |
| #ifdef VK_USE_PLATFORM_WIN32_KHR |
| PFN_vkImportFenceWin32HandleKHR ImportFenceWin32HandleKHR; |
| PFN_vkGetFenceWin32HandleKHR GetFenceWin32HandleKHR; |
| #endif // VK_USE_PLATFORM_WIN32_KHR |
| // VK_KHR_external_memory_capabilities |
| PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR GetPhysicalDeviceExternalBufferPropertiesKHR; |
| // VK_KHR_external_memory_fd |
| PFN_vkGetMemoryFdKHR GetMemoryFdKHR; |
| PFN_vkGetMemoryFdPropertiesKHR GetMemoryFdPropertiesKHR; |
| // VK_KHR_external_memory_win32 |
| #ifdef VK_USE_PLATFORM_WIN32_KHR |
| PFN_vkGetMemoryWin32HandleKHR GetMemoryWin32HandleKHR; |
| PFN_vkGetMemoryWin32HandlePropertiesKHR GetMemoryWin32HandlePropertiesKHR; |
| #endif // VK_USE_PLATFORM_WIN32_KHR |
| // VK_KHR_external_semaphore_capabilities |
| PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR GetPhysicalDeviceExternalSemaphorePropertiesKHR; |
| // VK_KHR_external_semaphore_fd |
| PFN_vkImportSemaphoreFdKHR ImportSemaphoreFdKHR; |
| PFN_vkGetSemaphoreFdKHR GetSemaphoreFdKHR; |
| // VK_KHR_external_semaphore_win32 |
| #ifdef VK_USE_PLATFORM_WIN32_KHR |
| PFN_vkImportSemaphoreWin32HandleKHR ImportSemaphoreWin32HandleKHR; |
| PFN_vkGetSemaphoreWin32HandleKHR GetSemaphoreWin32HandleKHR; |
| #endif // VK_USE_PLATFORM_WIN32_KHR |
| // VK_KHR_fragment_shading_rate |
| PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR GetPhysicalDeviceFragmentShadingRatesKHR; |
| PFN_vkCmdSetFragmentShadingRateKHR CmdSetFragmentShadingRateKHR; |
| // VK_KHR_get_display_properties2 |
| PFN_vkGetPhysicalDeviceDisplayProperties2KHR GetPhysicalDeviceDisplayProperties2KHR; |
| PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR GetPhysicalDeviceDisplayPlaneProperties2KHR; |
| PFN_vkGetDisplayModeProperties2KHR GetDisplayModeProperties2KHR; |
| PFN_vkGetDisplayPlaneCapabilities2KHR GetDisplayPlaneCapabilities2KHR; |
| // VK_KHR_get_memory_requirements2 |
| PFN_vkGetImageMemoryRequirements2KHR GetImageMemoryRequirements2KHR; |
| PFN_vkGetBufferMemoryRequirements2KHR GetBufferMemoryRequirements2KHR; |
| PFN_vkGetImageSparseMemoryRequirements2KHR GetImageSparseMemoryRequirements2KHR; |
| // VK_KHR_get_physical_device_properties2 |
| PFN_vkGetPhysicalDeviceFeatures2KHR GetPhysicalDeviceFeatures2KHR; |
| PFN_vkGetPhysicalDeviceProperties2KHR GetPhysicalDeviceProperties2KHR; |
| PFN_vkGetPhysicalDeviceFormatProperties2KHR GetPhysicalDeviceFormatProperties2KHR; |
| PFN_vkGetPhysicalDeviceImageFormatProperties2KHR GetPhysicalDeviceImageFormatProperties2KHR; |
| PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR GetPhysicalDeviceQueueFamilyProperties2KHR; |
| PFN_vkGetPhysicalDeviceMemoryProperties2KHR GetPhysicalDeviceMemoryProperties2KHR; |
| PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR GetPhysicalDeviceSparseImageFormatProperties2KHR; |
| // VK_KHR_get_surface_capabilities2 |
| PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR GetPhysicalDeviceSurfaceCapabilities2KHR; |
| PFN_vkGetPhysicalDeviceSurfaceFormats2KHR GetPhysicalDeviceSurfaceFormats2KHR; |
| // VK_KHR_maintenance1 |
| PFN_vkTrimCommandPoolKHR TrimCommandPoolKHR; |
| // VK_KHR_maintenance3 |
| PFN_vkGetDescriptorSetLayoutSupportKHR GetDescriptorSetLayoutSupportKHR; |
| // VK_KHR_maintenance4 |
| PFN_vkGetDeviceBufferMemoryRequirementsKHR GetDeviceBufferMemoryRequirementsKHR; |
| PFN_vkGetDeviceImageMemoryRequirementsKHR GetDeviceImageMemoryRequirementsKHR; |
| PFN_vkGetDeviceImageSparseMemoryRequirementsKHR GetDeviceImageSparseMemoryRequirementsKHR; |
| // VK_KHR_map_memory2 |
| PFN_vkMapMemory2KHR MapMemory2KHR; |
| PFN_vkUnmapMemory2KHR UnmapMemory2KHR; |
| // VK_KHR_performance_query |
| PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR; |
| PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR; |
| PFN_vkAcquireProfilingLockKHR AcquireProfilingLockKHR; |
| PFN_vkReleaseProfilingLockKHR ReleaseProfilingLockKHR; |
| // VK_KHR_pipeline_executable_properties |
| PFN_vkGetPipelineExecutablePropertiesKHR GetPipelineExecutablePropertiesKHR; |
| PFN_vkGetPipelineExecutableStatisticsKHR GetPipelineExecutableStatisticsKHR; |
| PFN_vkGetPipelineExecutableInternalRepresentationsKHR GetPipelineExecutableInternalRepresentationsKHR; |
| // VK_KHR_present_wait |
| PFN_vkWaitForPresentKHR WaitForPresentKHR; |
| // VK_KHR_push_descriptor |
| PFN_vkCmdPushDescriptorSetKHR CmdPushDescriptorSetKHR; |
| PFN_vkCmdPushDescriptorSetWithTemplateKHR CmdPushDescriptorSetWithTemplateKHR; |
| // VK_KHR_ray_tracing_maintenance1 |
| PFN_vkCmdTraceRaysIndirect2KHR CmdTraceRaysIndirect2KHR; |
| // VK_KHR_ray_tracing_pipeline |
| PFN_vkCmdTraceRaysKHR CmdTraceRaysKHR; |
| PFN_vkCreateRayTracingPipelinesKHR CreateRayTracingPipelinesKHR; |
| PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR GetRayTracingCaptureReplayShaderGroupHandlesKHR; |
| PFN_vkCmdTraceRaysIndirectKHR CmdTraceRaysIndirectKHR; |
| PFN_vkGetRayTracingShaderGroupStackSizeKHR GetRayTracingShaderGroupStackSizeKHR; |
| PFN_vkCmdSetRayTracingPipelineStackSizeKHR CmdSetRayTracingPipelineStackSizeKHR; |
| // VK_KHR_sampler_ycbcr_conversion |
| PFN_vkCreateSamplerYcbcrConversionKHR CreateSamplerYcbcrConversionKHR; |
| PFN_vkDestroySamplerYcbcrConversionKHR DestroySamplerYcbcrConversionKHR; |
| // VK_KHR_shared_presentable_image |
| PFN_vkGetSwapchainStatusKHR GetSwapchainStatusKHR; |
| // VK_KHR_surface |
| PFN_vkDestroySurfaceKHR DestroySurfaceKHR; |
| PFN_vkGetPhysicalDeviceSurfaceSupportKHR GetPhysicalDeviceSurfaceSupportKHR; |
| PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR GetPhysicalDeviceSurfaceCapabilitiesKHR; |
| PFN_vkGetPhysicalDeviceSurfaceFormatsKHR GetPhysicalDeviceSurfaceFormatsKHR; |
| PFN_vkGetPhysicalDeviceSurfacePresentModesKHR GetPhysicalDeviceSurfacePresentModesKHR; |
| // VK_KHR_swapchain |
| PFN_vkCreateSwapchainKHR CreateSwapchainKHR; |
| PFN_vkDestroySwapchainKHR DestroySwapchainKHR; |
| PFN_vkGetSwapchainImagesKHR GetSwapchainImagesKHR; |
| PFN_vkAcquireNextImageKHR AcquireNextImageKHR; |
| PFN_vkQueuePresentKHR QueuePresentKHR; |
| PFN_vkGetDeviceGroupPresentCapabilitiesKHR GetDeviceGroupPresentCapabilitiesKHR; |
| PFN_vkGetDeviceGroupSurfacePresentModesKHR GetDeviceGroupSurfacePresentModesKHR; |
| PFN_vkGetPhysicalDevicePresentRectanglesKHR GetPhysicalDevicePresentRectanglesKHR; |
| PFN_vkAcquireNextImage2KHR AcquireNextImage2KHR; |
| // VK_KHR_synchronization2 |
| PFN_vkCmdSetEvent2KHR CmdSetEvent2KHR; |
| PFN_vkCmdResetEvent2KHR CmdResetEvent2KHR; |
| PFN_vkCmdWaitEvents2KHR CmdWaitEvents2KHR; |
| PFN_vkCmdPipelineBarrier2KHR CmdPipelineBarrier2KHR; |
| PFN_vkCmdWriteTimestamp2KHR CmdWriteTimestamp2KHR; |
| PFN_vkQueueSubmit2KHR QueueSubmit2KHR; |
| PFN_vkCmdWriteBufferMarker2AMD CmdWriteBufferMarker2AMD; |
| PFN_vkGetQueueCheckpointData2NV GetQueueCheckpointData2NV; |
| // VK_KHR_timeline_semaphore |
| PFN_vkGetSemaphoreCounterValueKHR GetSemaphoreCounterValueKHR; |
| PFN_vkWaitSemaphoresKHR WaitSemaphoresKHR; |
| PFN_vkSignalSemaphoreKHR SignalSemaphoreKHR; |
| // VK_KHR_video_decode_queue |
| PFN_vkCmdDecodeVideoKHR CmdDecodeVideoKHR; |
| // VK_KHR_video_encode_queue |
| #ifdef VK_ENABLE_BETA_EXTENSIONS |
| PFN_vkCmdEncodeVideoKHR CmdEncodeVideoKHR; |
| #endif // VK_ENABLE_BETA_EXTENSIONS |
| // VK_KHR_video_queue |
| PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR GetPhysicalDeviceVideoCapabilitiesKHR; |
| PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR GetPhysicalDeviceVideoFormatPropertiesKHR; |
| PFN_vkCreateVideoSessionKHR CreateVideoSessionKHR; |
| PFN_vkDestroyVideoSessionKHR DestroyVideoSessionKHR; |
| PFN_vkGetVideoSessionMemoryRequirementsKHR GetVideoSessionMemoryRequirementsKHR; |
| PFN_vkBindVideoSessionMemoryKHR BindVideoSessionMemoryKHR; |
| PFN_vkCreateVideoSessionParametersKHR CreateVideoSessionParametersKHR; |
| PFN_vkUpdateVideoSessionParametersKHR UpdateVideoSessionParametersKHR; |
| PFN_vkDestroyVideoSessionParametersKHR DestroyVideoSessionParametersKHR; |
| PFN_vkCmdBeginVideoCodingKHR CmdBeginVideoCodingKHR; |
| PFN_vkCmdEndVideoCodingKHR CmdEndVideoCodingKHR; |
| PFN_vkCmdControlVideoCodingKHR CmdControlVideoCodingKHR; |
| // VK_KHR_wayland_surface |
| #ifdef VK_USE_PLATFORM_WAYLAND_KHR |
| PFN_vkCreateWaylandSurfaceKHR CreateWaylandSurfaceKHR; |
| PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR GetPhysicalDeviceWaylandPresentationSupportKHR; |
| #endif // VK_USE_PLATFORM_WAYLAND_KHR |
| // VK_KHR_win32_surface |
| #ifdef VK_USE_PLATFORM_WIN32_KHR |
| PFN_vkCreateWin32SurfaceKHR CreateWin32SurfaceKHR; |
| PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR GetPhysicalDeviceWin32PresentationSupportKHR; |
| #endif // VK_USE_PLATFORM_WIN32_KHR |
| // VK_KHR_xcb_surface |
| #ifdef VK_USE_PLATFORM_XCB_KHR |
| PFN_vkCreateXcbSurfaceKHR CreateXcbSurfaceKHR; |
| PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR GetPhysicalDeviceXcbPresentationSupportKHR; |
| #endif // VK_USE_PLATFORM_XCB_KHR |
| // VK_KHR_xlib_surface |
| #ifdef VK_USE_PLATFORM_XLIB_KHR |
| PFN_vkCreateXlibSurfaceKHR CreateXlibSurfaceKHR; |
| PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR GetPhysicalDeviceXlibPresentationSupportKHR; |
| #endif // VK_USE_PLATFORM_XLIB_KHR |
| // VK_MVK_ios_surface |
| #ifdef VK_USE_PLATFORM_IOS_MVK |
| PFN_vkCreateIOSSurfaceMVK CreateIOSSurfaceMVK; |
| #endif // VK_USE_PLATFORM_IOS_MVK |
| // VK_MVK_macos_surface |
| #ifdef VK_USE_PLATFORM_MACOS_MVK |
| PFN_vkCreateMacOSSurfaceMVK CreateMacOSSurfaceMVK; |
| #endif // VK_USE_PLATFORM_MACOS_MVK |
| // VK_NN_vi_surface |
| #ifdef VK_USE_PLATFORM_VI_NN |
| PFN_vkCreateViSurfaceNN CreateViSurfaceNN; |
| #endif // VK_USE_PLATFORM_VI_NN |
| // VK_NVX_binary_import |
| PFN_vkCreateCuModuleNVX CreateCuModuleNVX; |
| PFN_vkCreateCuFunctionNVX CreateCuFunctionNVX; |
| PFN_vkDestroyCuModuleNVX DestroyCuModuleNVX; |
| PFN_vkDestroyCuFunctionNVX DestroyCuFunctionNVX; |
| PFN_vkCmdCuLaunchKernelNVX CmdCuLaunchKernelNVX; |
| // VK_NVX_image_view_handle |
| PFN_vkGetImageViewHandleNVX GetImageViewHandleNVX; |
| PFN_vkGetImageViewAddressNVX GetImageViewAddressNVX; |
| // VK_NV_acquire_winrt_display |
| #ifdef VK_USE_PLATFORM_WIN32_KHR |
| PFN_vkAcquireWinrtDisplayNV AcquireWinrtDisplayNV; |
| PFN_vkGetWinrtDisplayNV GetWinrtDisplayNV; |
| #endif // VK_USE_PLATFORM_WIN32_KHR |
| // VK_NV_clip_space_w_scaling |
| PFN_vkCmdSetViewportWScalingNV CmdSetViewportWScalingNV; |
| // VK_NV_cooperative_matrix |
| PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV GetPhysicalDeviceCooperativeMatrixPropertiesNV; |
| // VK_NV_copy_memory_indirect |
| PFN_vkCmdCopyMemoryIndirectNV CmdCopyMemoryIndirectNV; |
| PFN_vkCmdCopyMemoryToImageIndirectNV CmdCopyMemoryToImageIndirectNV; |
| // VK_NV_coverage_reduction_mode |
| PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV; |
| // VK_NV_device_diagnostic_checkpoints |
| PFN_vkCmdSetCheckpointNV CmdSetCheckpointNV; |
| PFN_vkGetQueueCheckpointDataNV GetQueueCheckpointDataNV; |
| // VK_NV_device_generated_commands |
| PFN_vkGetGeneratedCommandsMemoryRequirementsNV GetGeneratedCommandsMemoryRequirementsNV; |
| PFN_vkCmdPreprocessGeneratedCommandsNV CmdPreprocessGeneratedCommandsNV; |
| PFN_vkCmdExecuteGeneratedCommandsNV CmdExecuteGeneratedCommandsNV; |
| PFN_vkCmdBindPipelineShaderGroupNV CmdBindPipelineShaderGroupNV; |
| PFN_vkCreateIndirectCommandsLayoutNV CreateIndirectCommandsLayoutNV; |
| PFN_vkDestroyIndirectCommandsLayoutNV DestroyIndirectCommandsLayoutNV; |
| // VK_NV_external_memory_capabilities |
| PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV GetPhysicalDeviceExternalImageFormatPropertiesNV; |
| // VK_NV_external_memory_rdma |
| PFN_vkGetMemoryRemoteAddressNV GetMemoryRemoteAddressNV; |
| // VK_NV_external_memory_win32 |
| #ifdef VK_USE_PLATFORM_WIN32_KHR |
| PFN_vkGetMemoryWin32HandleNV GetMemoryWin32HandleNV; |
| #endif // VK_USE_PLATFORM_WIN32_KHR |
| // VK_NV_fragment_shading_rate_enums |
| PFN_vkCmdSetFragmentShadingRateEnumNV CmdSetFragmentShadingRateEnumNV; |
| // VK_NV_memory_decompression |
| PFN_vkCmdDecompressMemoryNV CmdDecompressMemoryNV; |
| PFN_vkCmdDecompressMemoryIndirectCountNV CmdDecompressMemoryIndirectCountNV; |
| // VK_NV_mesh_shader |
| PFN_vkCmdDrawMeshTasksNV CmdDrawMeshTasksNV; |
| PFN_vkCmdDrawMeshTasksIndirectNV CmdDrawMeshTasksIndirectNV; |
| PFN_vkCmdDrawMeshTasksIndirectCountNV CmdDrawMeshTasksIndirectCountNV; |
| // VK_NV_optical_flow |
| PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV GetPhysicalDeviceOpticalFlowImageFormatsNV; |
| PFN_vkCreateOpticalFlowSessionNV CreateOpticalFlowSessionNV; |
| PFN_vkDestroyOpticalFlowSessionNV DestroyOpticalFlowSessionNV; |
| PFN_vkBindOpticalFlowSessionImageNV BindOpticalFlowSessionImageNV; |
| PFN_vkCmdOpticalFlowExecuteNV CmdOpticalFlowExecuteNV; |
| // VK_NV_ray_tracing |
| PFN_vkCreateAccelerationStructureNV CreateAccelerationStructureNV; |
| PFN_vkDestroyAccelerationStructureNV DestroyAccelerationStructureNV; |
| PFN_vkGetAccelerationStructureMemoryRequirementsNV GetAccelerationStructureMemoryRequirementsNV; |
| PFN_vkBindAccelerationStructureMemoryNV BindAccelerationStructureMemoryNV; |
| PFN_vkCmdBuildAccelerationStructureNV CmdBuildAccelerationStructureNV; |
| PFN_vkCmdCopyAccelerationStructureNV CmdCopyAccelerationStructureNV; |
| PFN_vkCmdTraceRaysNV CmdTraceRaysNV; |
| PFN_vkCreateRayTracingPipelinesNV CreateRayTracingPipelinesNV; |
| PFN_vkGetRayTracingShaderGroupHandlesKHR GetRayTracingShaderGroupHandlesKHR; |
| PFN_vkGetRayTracingShaderGroupHandlesNV GetRayTracingShaderGroupHandlesNV; |
| PFN_vkGetAccelerationStructureHandleNV GetAccelerationStructureHandleNV; |
| PFN_vkCmdWriteAccelerationStructuresPropertiesNV CmdWriteAccelerationStructuresPropertiesNV; |
| PFN_vkCompileDeferredNV CompileDeferredNV; |
| // VK_NV_scissor_exclusive |
| PFN_vkCmdSetExclusiveScissorEnableNV CmdSetExclusiveScissorEnableNV; |
| PFN_vkCmdSetExclusiveScissorNV CmdSetExclusiveScissorNV; |
| // VK_NV_shading_rate_image |
| PFN_vkCmdBindShadingRateImageNV CmdBindShadingRateImageNV; |
| PFN_vkCmdSetViewportShadingRatePaletteNV CmdSetViewportShadingRatePaletteNV; |
| PFN_vkCmdSetCoarseSampleOrderNV CmdSetCoarseSampleOrderNV; |
| // VK_QCOM_tile_properties |
| PFN_vkGetFramebufferTilePropertiesQCOM GetFramebufferTilePropertiesQCOM; |
| PFN_vkGetDynamicRenderingTilePropertiesQCOM GetDynamicRenderingTilePropertiesQCOM; |
| // VK_QNX_screen_surface |
| #ifdef VK_USE_PLATFORM_SCREEN_QNX |
| PFN_vkCreateScreenSurfaceQNX CreateScreenSurfaceQNX; |
| PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX GetPhysicalDeviceScreenPresentationSupportQNX; |
| #endif // VK_USE_PLATFORM_SCREEN_QNX |
| // VK_VALVE_descriptor_set_host_mapping |
| PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE GetDescriptorSetLayoutHostMappingInfoVALVE; |
| PFN_vkGetDescriptorSetHostMappingVALVE GetDescriptorSetHostMappingVALVE; |
| |
| |
| void InitCore() { |
| |
| #if defined(WIN32) |
| const char filename[] = "vulkan-1.dll"; |
| auto lib_handle = open_library(filename); |
| #elif(__APPLE__) |
| const char filename[] = "libvulkan.dylib"; |
| auto lib_handle = open_library(filename); |
| #else |
| const char *filename = "libvulkan.so"; |
| auto lib_handle = open_library(filename); |
| if (!lib_handle) { |
| filename = "libvulkan.so.1"; |
| lib_handle = open_library(filename); |
| } |
| #endif |
| |
| if (lib_handle == nullptr) { |
| printf("%s\n", open_library_error(filename)); |
| exit(1); |
| } |
| |
| CreateInstance = reinterpret_cast<PFN_vkCreateInstance>(get_proc_address(lib_handle, "vkCreateInstance")); |
| DestroyInstance = reinterpret_cast<PFN_vkDestroyInstance>(get_proc_address(lib_handle, "vkDestroyInstance")); |
| EnumeratePhysicalDevices = reinterpret_cast<PFN_vkEnumeratePhysicalDevices>(get_proc_address(lib_handle, "vkEnumeratePhysicalDevices")); |
| GetPhysicalDeviceFeatures = reinterpret_cast<PFN_vkGetPhysicalDeviceFeatures>(get_proc_address(lib_handle, "vkGetPhysicalDeviceFeatures")); |
| GetPhysicalDeviceFormatProperties = reinterpret_cast<PFN_vkGetPhysicalDeviceFormatProperties>(get_proc_address(lib_handle, "vkGetPhysicalDeviceFormatProperties")); |
| GetPhysicalDeviceImageFormatProperties = reinterpret_cast<PFN_vkGetPhysicalDeviceImageFormatProperties>(get_proc_address(lib_handle, "vkGetPhysicalDeviceImageFormatProperties")); |
| GetPhysicalDeviceProperties = reinterpret_cast<PFN_vkGetPhysicalDeviceProperties>(get_proc_address(lib_handle, "vkGetPhysicalDeviceProperties")); |
| GetPhysicalDeviceQueueFamilyProperties = reinterpret_cast<PFN_vkGetPhysicalDeviceQueueFamilyProperties>(get_proc_address(lib_handle, "vkGetPhysicalDeviceQueueFamilyProperties")); |
| GetPhysicalDeviceMemoryProperties = reinterpret_cast<PFN_vkGetPhysicalDeviceMemoryProperties>(get_proc_address(lib_handle, "vkGetPhysicalDeviceMemoryProperties")); |
| GetInstanceProcAddr = reinterpret_cast<PFN_vkGetInstanceProcAddr>(get_proc_address(lib_handle, "vkGetInstanceProcAddr")); |
| GetDeviceProcAddr = reinterpret_cast<PFN_vkGetDeviceProcAddr>(get_proc_address(lib_handle, "vkGetDeviceProcAddr")); |
| CreateDevice = reinterpret_cast<PFN_vkCreateDevice>(get_proc_address(lib_handle, "vkCreateDevice")); |
| DestroyDevice = reinterpret_cast<PFN_vkDestroyDevice>(get_proc_address(lib_handle, "vkDestroyDevice")); |
| EnumerateInstanceExtensionProperties = reinterpret_cast<PFN_vkEnumerateInstanceExtensionProperties>(get_proc_address(lib_handle, "vkEnumerateInstanceExtensionProperties")); |
| EnumerateDeviceExtensionProperties = reinterpret_cast<PFN_vkEnumerateDeviceExtensionProperties>(get_proc_address(lib_handle, "vkEnumerateDeviceExtensionProperties")); |
| EnumerateInstanceLayerProperties = reinterpret_cast<PFN_vkEnumerateInstanceLayerProperties>(get_proc_address(lib_handle, "vkEnumerateInstanceLayerProperties")); |
| EnumerateDeviceLayerProperties = reinterpret_cast<PFN_vkEnumerateDeviceLayerProperties>(get_proc_address(lib_handle, "vkEnumerateDeviceLayerProperties")); |
| GetDeviceQueue = reinterpret_cast<PFN_vkGetDeviceQueue>(get_proc_address(lib_handle, "vkGetDeviceQueue")); |
| QueueSubmit = reinterpret_cast<PFN_vkQueueSubmit>(get_proc_address(lib_handle, "vkQueueSubmit")); |
| QueueWaitIdle = reinterpret_cast<PFN_vkQueueWaitIdle>(get_proc_address(lib_handle, "vkQueueWaitIdle")); |
| DeviceWaitIdle = reinterpret_cast<PFN_vkDeviceWaitIdle>(get_proc_address(lib_handle, "vkDeviceWaitIdle")); |
| AllocateMemory = reinterpret_cast<PFN_vkAllocateMemory>(get_proc_address(lib_handle, "vkAllocateMemory")); |
| FreeMemory = reinterpret_cast<PFN_vkFreeMemory>(get_proc_address(lib_handle, "vkFreeMemory")); |
| MapMemory = reinterpret_cast<PFN_vkMapMemory>(get_proc_address(lib_handle, "vkMapMemory")); |
| UnmapMemory = reinterpret_cast<PFN_vkUnmapMemory>(get_proc_address(lib_handle, "vkUnmapMemory")); |
| FlushMappedMemoryRanges = reinterpret_cast<PFN_vkFlushMappedMemoryRanges>(get_proc_address(lib_handle, "vkFlushMappedMemoryRanges")); |
| InvalidateMappedMemoryRanges = reinterpret_cast<PFN_vkInvalidateMappedMemoryRanges>(get_proc_address(lib_handle, "vkInvalidateMappedMemoryRanges")); |
| GetDeviceMemoryCommitment = reinterpret_cast<PFN_vkGetDeviceMemoryCommitment>(get_proc_address(lib_handle, "vkGetDeviceMemoryCommitment")); |
| BindBufferMemory = reinterpret_cast<PFN_vkBindBufferMemory>(get_proc_address(lib_handle, "vkBindBufferMemory")); |
| BindImageMemory = reinterpret_cast<PFN_vkBindImageMemory>(get_proc_address(lib_handle, "vkBindImageMemory")); |
| GetBufferMemoryRequirements = reinterpret_cast<PFN_vkGetBufferMemoryRequirements>(get_proc_address(lib_handle, "vkGetBufferMemoryRequirements")); |
| GetImageMemoryRequirements = reinterpret_cast<PFN_vkGetImageMemoryRequirements>(get_proc_address(lib_handle, "vkGetImageMemoryRequirements")); |
| GetImageSparseMemoryRequirements = reinterpret_cast<PFN_vkGetImageSparseMemoryRequirements>(get_proc_address(lib_handle, "vkGetImageSparseMemoryRequirements")); |
| GetPhysicalDeviceSparseImageFormatProperties = reinterpret_cast<PFN_vkGetPhysicalDeviceSparseImageFormatProperties>(get_proc_address(lib_handle, "vkGetPhysicalDeviceSparseImageFormatProperties")); |
| QueueBindSparse = reinterpret_cast<PFN_vkQueueBindSparse>(get_proc_address(lib_handle, "vkQueueBindSparse")); |
| CreateFence = reinterpret_cast<PFN_vkCreateFence>(get_proc_address(lib_handle, "vkCreateFence")); |
| DestroyFence = reinterpret_cast<PFN_vkDestroyFence>(get_proc_address(lib_handle, "vkDestroyFence")); |
| ResetFences = reinterpret_cast<PFN_vkResetFences>(get_proc_address(lib_handle, "vkResetFences")); |
| GetFenceStatus = reinterpret_cast<PFN_vkGetFenceStatus>(get_proc_address(lib_handle, "vkGetFenceStatus")); |
| WaitForFences = reinterpret_cast<PFN_vkWaitForFences>(get_proc_address(lib_handle, "vkWaitForFences")); |
| CreateSemaphore = reinterpret_cast<PFN_vkCreateSemaphore>(get_proc_address(lib_handle, "vkCreateSemaphore")); |
| DestroySemaphore = reinterpret_cast<PFN_vkDestroySemaphore>(get_proc_address(lib_handle, "vkDestroySemaphore")); |
| CreateEvent = reinterpret_cast<PFN_vkCreateEvent>(get_proc_address(lib_handle, "vkCreateEvent")); |
| DestroyEvent = reinterpret_cast<PFN_vkDestroyEvent>(get_proc_address(lib_handle, "vkDestroyEvent")); |
| GetEventStatus = reinterpret_cast<PFN_vkGetEventStatus>(get_proc_address(lib_handle, "vkGetEventStatus")); |
| SetEvent = reinterpret_cast<PFN_vkSetEvent>(get_proc_address(lib_handle, "vkSetEvent")); |
| ResetEvent = reinterpret_cast<PFN_vkResetEvent>(get_proc_address(lib_handle, "vkResetEvent")); |
| CreateQueryPool = reinterpret_cast<PFN_vkCreateQueryPool>(get_proc_address(lib_handle, "vkCreateQueryPool")); |
| DestroyQueryPool = reinterpret_cast<PFN_vkDestroyQueryPool>(get_proc_address(lib_handle, "vkDestroyQueryPool")); |
| GetQueryPoolResults = reinterpret_cast<PFN_vkGetQueryPoolResults>(get_proc_address(lib_handle, "vkGetQueryPoolResults")); |
| CreateBuffer = reinterpret_cast<PFN_vkCreateBuffer>(get_proc_address(lib_handle, "vkCreateBuffer")); |
| DestroyBuffer = reinterpret_cast<PFN_vkDestroyBuffer>(get_proc_address(lib_handle, "vkDestroyBuffer")); |
| CreateBufferView = reinterpret_cast<PFN_vkCreateBufferView>(get_proc_address(lib_handle, "vkCreateBufferView")); |
| DestroyBufferView = reinterpret_cast<PFN_vkDestroyBufferView>(get_proc_address(lib_handle, "vkDestroyBufferView")); |
| CreateImage = reinterpret_cast<PFN_vkCreateImage>(get_proc_address(lib_handle, "vkCreateImage")); |
| DestroyImage = reinterpret_cast<PFN_vkDestroyImage>(get_proc_address(lib_handle, "vkDestroyImage")); |
| GetImageSubresourceLayout = reinterpret_cast<PFN_vkGetImageSubresourceLayout>(get_proc_address(lib_handle, "vkGetImageSubresourceLayout")); |
| CreateImageView = reinterpret_cast<PFN_vkCreateImageView>(get_proc_address(lib_handle, "vkCreateImageView")); |
| DestroyImageView = reinterpret_cast<PFN_vkDestroyImageView>(get_proc_address(lib_handle, "vkDestroyImageView")); |
| CreateShaderModule = reinterpret_cast<PFN_vkCreateShaderModule>(get_proc_address(lib_handle, "vkCreateShaderModule")); |
| DestroyShaderModule = reinterpret_cast<PFN_vkDestroyShaderModule>(get_proc_address(lib_handle, "vkDestroyShaderModule")); |
| CreatePipelineCache = reinterpret_cast<PFN_vkCreatePipelineCache>(get_proc_address(lib_handle, "vkCreatePipelineCache")); |
| DestroyPipelineCache = reinterpret_cast<PFN_vkDestroyPipelineCache>(get_proc_address(lib_handle, "vkDestroyPipelineCache")); |
| GetPipelineCacheData = reinterpret_cast<PFN_vkGetPipelineCacheData>(get_proc_address(lib_handle, "vkGetPipelineCacheData")); |
| MergePipelineCaches = reinterpret_cast<PFN_vkMergePipelineCaches>(get_proc_address(lib_handle, "vkMergePipelineCaches")); |
| CreateGraphicsPipelines = reinterpret_cast<PFN_vkCreateGraphicsPipelines>(get_proc_address(lib_handle, "vkCreateGraphicsPipelines")); |
| CreateComputePipelines = reinterpret_cast<PFN_vkCreateComputePipelines>(get_proc_address(lib_handle, "vkCreateComputePipelines")); |
| DestroyPipeline = reinterpret_cast<PFN_vkDestroyPipeline>(get_proc_address(lib_handle, "vkDestroyPipeline")); |
| CreatePipelineLayout = reinterpret_cast<PFN_vkCreatePipelineLayout>(get_proc_address(lib_handle, "vkCreatePipelineLayout")); |
| DestroyPipelineLayout = reinterpret_cast<PFN_vkDestroyPipelineLayout>(get_proc_address(lib_handle, "vkDestroyPipelineLayout")); |
| CreateSampler = reinterpret_cast<PFN_vkCreateSampler>(get_proc_address(lib_handle, "vkCreateSampler")); |
| DestroySampler = reinterpret_cast<PFN_vkDestroySampler>(get_proc_address(lib_handle, "vkDestroySampler")); |
| CreateDescriptorSetLayout = reinterpret_cast<PFN_vkCreateDescriptorSetLayout>(get_proc_address(lib_handle, "vkCreateDescriptorSetLayout")); |
| DestroyDescriptorSetLayout = reinterpret_cast<PFN_vkDestroyDescriptorSetLayout>(get_proc_address(lib_handle, "vkDestroyDescriptorSetLayout")); |
| CreateDescriptorPool = reinterpret_cast<PFN_vkCreateDescriptorPool>(get_proc_address(lib_handle, "vkCreateDescriptorPool")); |
| DestroyDescriptorPool = reinterpret_cast<PFN_vkDestroyDescriptorPool>(get_proc_address(lib_handle, "vkDestroyDescriptorPool")); |
| ResetDescriptorPool = reinterpret_cast<PFN_vkResetDescriptorPool>(get_proc_address(lib_handle, "vkResetDescriptorPool")); |
| AllocateDescriptorSets = reinterpret_cast<PFN_vkAllocateDescriptorSets>(get_proc_address(lib_handle, "vkAllocateDescriptorSets")); |
| FreeDescriptorSets = reinterpret_cast<PFN_vkFreeDescriptorSets>(get_proc_address(lib_handle, "vkFreeDescriptorSets")); |
| UpdateDescriptorSets = reinterpret_cast<PFN_vkUpdateDescriptorSets>(get_proc_address(lib_handle, "vkUpdateDescriptorSets")); |
| CreateFramebuffer = reinterpret_cast<PFN_vkCreateFramebuffer>(get_proc_address(lib_handle, "vkCreateFramebuffer")); |
| DestroyFramebuffer = reinterpret_cast<PFN_vkDestroyFramebuffer>(get_proc_address(lib_handle, "vkDestroyFramebuffer")); |
| CreateRenderPass = reinterpret_cast<PFN_vkCreateRenderPass>(get_proc_address(lib_handle, "vkCreateRenderPass")); |
| DestroyRenderPass = reinterpret_cast<PFN_vkDestroyRenderPass>(get_proc_address(lib_handle, "vkDestroyRenderPass")); |
| GetRenderAreaGranularity = reinterpret_cast<PFN_vkGetRenderAreaGranularity>(get_proc_address(lib_handle, "vkGetRenderAreaGranularity")); |
| CreateCommandPool = reinterpret_cast<PFN_vkCreateCommandPool>(get_proc_address(lib_handle, "vkCreateCommandPool")); |
| DestroyCommandPool = reinterpret_cast<PFN_vkDestroyCommandPool>(get_proc_address(lib_handle, "vkDestroyCommandPool")); |
| ResetCommandPool = reinterpret_cast<PFN_vkResetCommandPool>(get_proc_address(lib_handle, "vkResetCommandPool")); |
| AllocateCommandBuffers = reinterpret_cast<PFN_vkAllocateCommandBuffers>(get_proc_address(lib_handle, "vkAllocateCommandBuffers")); |
| FreeCommandBuffers = reinterpret_cast<PFN_vkFreeCommandBuffers>(get_proc_address(lib_handle, "vkFreeCommandBuffers")); |
| BeginCommandBuffer = reinterpret_cast<PFN_vkBeginCommandBuffer>(get_proc_address(lib_handle, "vkBeginCommandBuffer")); |
| EndCommandBuffer = reinterpret_cast<PFN_vkEndCommandBuffer>(get_proc_address(lib_handle, "vkEndCommandBuffer")); |
| ResetCommandBuffer = reinterpret_cast<PFN_vkResetCommandBuffer>(get_proc_address(lib_handle, "vkResetCommandBuffer")); |
| CmdBindPipeline = reinterpret_cast<PFN_vkCmdBindPipeline>(get_proc_address(lib_handle, "vkCmdBindPipeline")); |
| CmdSetViewport = reinterpret_cast<PFN_vkCmdSetViewport>(get_proc_address(lib_handle, "vkCmdSetViewport")); |
| CmdSetScissor = reinterpret_cast<PFN_vkCmdSetScissor>(get_proc_address(lib_handle, "vkCmdSetScissor")); |
| CmdSetLineWidth = reinterpret_cast<PFN_vkCmdSetLineWidth>(get_proc_address(lib_handle, "vkCmdSetLineWidth")); |
| CmdSetDepthBias = reinterpret_cast<PFN_vkCmdSetDepthBias>(get_proc_address(lib_handle, "vkCmdSetDepthBias")); |
| CmdSetBlendConstants = reinterpret_cast<PFN_vkCmdSetBlendConstants>(get_proc_address(lib_handle, "vkCmdSetBlendConstants")); |
| CmdSetDepthBounds = reinterpret_cast<PFN_vkCmdSetDepthBounds>(get_proc_address(lib_handle, "vkCmdSetDepthBounds")); |
| CmdSetStencilCompareMask = reinterpret_cast<PFN_vkCmdSetStencilCompareMask>(get_proc_address(lib_handle, "vkCmdSetStencilCompareMask")); |
| CmdSetStencilWriteMask = reinterpret_cast<PFN_vkCmdSetStencilWriteMask>(get_proc_address(lib_handle, "vkCmdSetStencilWriteMask")); |
| CmdSetStencilReference = reinterpret_cast<PFN_vkCmdSetStencilReference>(get_proc_address(lib_handle, "vkCmdSetStencilReference")); |
| CmdBindDescriptorSets = reinterpret_cast<PFN_vkCmdBindDescriptorSets>(get_proc_address(lib_handle, "vkCmdBindDescriptorSets")); |
| CmdBindIndexBuffer = reinterpret_cast<PFN_vkCmdBindIndexBuffer>(get_proc_address(lib_handle, "vkCmdBindIndexBuffer")); |
| CmdBindVertexBuffers = reinterpret_cast<PFN_vkCmdBindVertexBuffers>(get_proc_address(lib_handle, "vkCmdBindVertexBuffers")); |
| CmdDraw = reinterpret_cast<PFN_vkCmdDraw>(get_proc_address(lib_handle, "vkCmdDraw")); |
| CmdDrawIndexed = reinterpret_cast<PFN_vkCmdDrawIndexed>(get_proc_address(lib_handle, "vkCmdDrawIndexed")); |
| CmdDrawIndirect = reinterpret_cast<PFN_vkCmdDrawIndirect>(get_proc_address(lib_handle, "vkCmdDrawIndirect")); |
| CmdDrawIndexedIndirect = reinterpret_cast<PFN_vkCmdDrawIndexedIndirect>(get_proc_address(lib_handle, "vkCmdDrawIndexedIndirect")); |
| CmdDispatch = reinterpret_cast<PFN_vkCmdDispatch>(get_proc_address(lib_handle, "vkCmdDispatch")); |
| CmdDispatchIndirect = reinterpret_cast<PFN_vkCmdDispatchIndirect>(get_proc_address(lib_handle, "vkCmdDispatchIndirect")); |
| CmdCopyBuffer = reinterpret_cast<PFN_vkCmdCopyBuffer>(get_proc_address(lib_handle, "vkCmdCopyBuffer")); |
| CmdCopyImage = reinterpret_cast<PFN_vkCmdCopyImage>(get_proc_address(lib_handle, "vkCmdCopyImage")); |
| CmdBlitImage = reinterpret_cast<PFN_vkCmdBlitImage>(get_proc_address(lib_handle, "vkCmdBlitImage")); |
| CmdCopyBufferToImage = reinterpret_cast<PFN_vkCmdCopyBufferToImage>(get_proc_address(lib_handle, "vkCmdCopyBufferToImage")); |
| CmdCopyImageToBuffer = reinterpret_cast<PFN_vkCmdCopyImageToBuffer>(get_proc_address(lib_handle, "vkCmdCopyImageToBuffer")); |
| CmdUpdateBuffer = reinterpret_cast<PFN_vkCmdUpdateBuffer>(get_proc_address(lib_handle, "vkCmdUpdateBuffer")); |
| CmdFillBuffer = reinterpret_cast<PFN_vkCmdFillBuffer>(get_proc_address(lib_handle, "vkCmdFillBuffer")); |
| CmdClearColorImage = reinterpret_cast<PFN_vkCmdClearColorImage>(get_proc_address(lib_handle, "vkCmdClearColorImage")); |
| CmdClearDepthStencilImage = reinterpret_cast<PFN_vkCmdClearDepthStencilImage>(get_proc_address(lib_handle, "vkCmdClearDepthStencilImage")); |
| CmdClearAttachments = reinterpret_cast<PFN_vkCmdClearAttachments>(get_proc_address(lib_handle, "vkCmdClearAttachments")); |
| CmdResolveImage = reinterpret_cast<PFN_vkCmdResolveImage>(get_proc_address(lib_handle, "vkCmdResolveImage")); |
| CmdSetEvent = reinterpret_cast<PFN_vkCmdSetEvent>(get_proc_address(lib_handle, "vkCmdSetEvent")); |
| CmdResetEvent = reinterpret_cast<PFN_vkCmdResetEvent>(get_proc_address(lib_handle, "vkCmdResetEvent")); |
| CmdWaitEvents = reinterpret_cast<PFN_vkCmdWaitEvents>(get_proc_address(lib_handle, "vkCmdWaitEvents")); |
| CmdPipelineBarrier = reinterpret_cast<PFN_vkCmdPipelineBarrier>(get_proc_address(lib_handle, "vkCmdPipelineBarrier")); |
| CmdBeginQuery = reinterpret_cast<PFN_vkCmdBeginQuery>(get_proc_address(lib_handle, "vkCmdBeginQuery")); |
| CmdEndQuery = reinterpret_cast<PFN_vkCmdEndQuery>(get_proc_address(lib_handle, "vkCmdEndQuery")); |
| CmdResetQueryPool = reinterpret_cast<PFN_vkCmdResetQueryPool>(get_proc_address(lib_handle, "vkCmdResetQueryPool")); |
| CmdWriteTimestamp = reinterpret_cast<PFN_vkCmdWriteTimestamp>(get_proc_address(lib_handle, "vkCmdWriteTimestamp")); |
| CmdCopyQueryPoolResults = reinterpret_cast<PFN_vkCmdCopyQueryPoolResults>(get_proc_address(lib_handle, "vkCmdCopyQueryPoolResults")); |
| CmdPushConstants = reinterpret_cast<PFN_vkCmdPushConstants>(get_proc_address(lib_handle, "vkCmdPushConstants")); |
| CmdBeginRenderPass = reinterpret_cast<PFN_vkCmdBeginRenderPass>(get_proc_address(lib_handle, "vkCmdBeginRenderPass")); |
| CmdNextSubpass = reinterpret_cast<PFN_vkCmdNextSubpass>(get_proc_address(lib_handle, "vkCmdNextSubpass")); |
| CmdEndRenderPass = reinterpret_cast<PFN_vkCmdEndRenderPass>(get_proc_address(lib_handle, "vkCmdEndRenderPass")); |
| CmdExecuteCommands = reinterpret_cast<PFN_vkCmdExecuteCommands>(get_proc_address(lib_handle, "vkCmdExecuteCommands")); |
| EnumerateInstanceVersion = reinterpret_cast<PFN_vkEnumerateInstanceVersion>(get_proc_address(lib_handle, "vkEnumerateInstanceVersion")); |
| BindBufferMemory2 = reinterpret_cast<PFN_vkBindBufferMemory2>(get_proc_address(lib_handle, "vkBindBufferMemory2")); |
| BindImageMemory2 = reinterpret_cast<PFN_vkBindImageMemory2>(get_proc_address(lib_handle, "vkBindImageMemory2")); |
| GetDeviceGroupPeerMemoryFeatures = reinterpret_cast<PFN_vkGetDeviceGroupPeerMemoryFeatures>(get_proc_address(lib_handle, "vkGetDeviceGroupPeerMemoryFeatures")); |
| CmdSetDeviceMask = reinterpret_cast<PFN_vkCmdSetDeviceMask>(get_proc_address(lib_handle, "vkCmdSetDeviceMask")); |
| CmdDispatchBase = reinterpret_cast<PFN_vkCmdDispatchBase>(get_proc_address(lib_handle, "vkCmdDispatchBase")); |
| EnumeratePhysicalDeviceGroups = reinterpret_cast<PFN_vkEnumeratePhysicalDeviceGroups>(get_proc_address(lib_handle, "vkEnumeratePhysicalDeviceGroups")); |
| GetImageMemoryRequirements2 = reinterpret_cast<PFN_vkGetImageMemoryRequirements2>(get_proc_address(lib_handle, "vkGetImageMemoryRequirements2")); |
| GetBufferMemoryRequirements2 = reinterpret_cast<PFN_vkGetBufferMemoryRequirements2>(get_proc_address(lib_handle, "vkGetBufferMemoryRequirements2")); |
| GetImageSparseMemoryRequirements2 = reinterpret_cast<PFN_vkGetImageSparseMemoryRequirements2>(get_proc_address(lib_handle, "vkGetImageSparseMemoryRequirements2")); |
| GetPhysicalDeviceFeatures2 = reinterpret_cast<PFN_vkGetPhysicalDeviceFeatures2>(get_proc_address(lib_handle, "vkGetPhysicalDeviceFeatures2")); |
| GetPhysicalDeviceProperties2 = reinterpret_cast<PFN_vkGetPhysicalDeviceProperties2>(get_proc_address(lib_handle, "vkGetPhysicalDeviceProperties2")); |
| GetPhysicalDeviceFormatProperties2 = reinterpret_cast<PFN_vkGetPhysicalDeviceFormatProperties2>(get_proc_address(lib_handle, "vkGetPhysicalDeviceFormatProperties2")); |
| GetPhysicalDeviceImageFormatProperties2 = reinterpret_cast<PFN_vkGetPhysicalDeviceImageFormatProperties2>(get_proc_address(lib_handle, "vkGetPhysicalDeviceImageFormatProperties2")); |
| GetPhysicalDeviceQueueFamilyProperties2 = reinterpret_cast<PFN_vkGetPhysicalDeviceQueueFamilyProperties2>(get_proc_address(lib_handle, "vkGetPhysicalDeviceQueueFamilyProperties2")); |
| GetPhysicalDeviceMemoryProperties2 = reinterpret_cast<PFN_vkGetPhysicalDeviceMemoryProperties2>(get_proc_address(lib_handle, "vkGetPhysicalDeviceMemoryProperties2")); |
| GetPhysicalDeviceSparseImageFormatProperties2 = reinterpret_cast<PFN_vkGetPhysicalDeviceSparseImageFormatProperties2>(get_proc_address(lib_handle, "vkGetPhysicalDeviceSparseImageFormatProperties2")); |
| TrimCommandPool = reinterpret_cast<PFN_vkTrimCommandPool>(get_proc_address(lib_handle, "vkTrimCommandPool")); |
| GetDeviceQueue2 = reinterpret_cast<PFN_vkGetDeviceQueue2>(get_proc_address(lib_handle, "vkGetDeviceQueue2")); |
| CreateSamplerYcbcrConversion = reinterpret_cast<PFN_vkCreateSamplerYcbcrConversion>(get_proc_address(lib_handle, "vkCreateSamplerYcbcrConversion")); |
| DestroySamplerYcbcrConversion = reinterpret_cast<PFN_vkDestroySamplerYcbcrConversion>(get_proc_address(lib_handle, "vkDestroySamplerYcbcrConversion")); |
| CreateDescriptorUpdateTemplate = reinterpret_cast<PFN_vkCreateDescriptorUpdateTemplate>(get_proc_address(lib_handle, "vkCreateDescriptorUpdateTemplate")); |
| DestroyDescriptorUpdateTemplate = reinterpret_cast<PFN_vkDestroyDescriptorUpdateTemplate>(get_proc_address(lib_handle, "vkDestroyDescriptorUpdateTemplate")); |
| UpdateDescriptorSetWithTemplate = reinterpret_cast<PFN_vkUpdateDescriptorSetWithTemplate>(get_proc_address(lib_handle, "vkUpdateDescriptorSetWithTemplate")); |
| GetPhysicalDeviceExternalBufferProperties = reinterpret_cast<PFN_vkGetPhysicalDeviceExternalBufferProperties>(get_proc_address(lib_handle, "vkGetPhysicalDeviceExternalBufferProperties")); |
| GetPhysicalDeviceExternalFenceProperties = reinterpret_cast<PFN_vkGetPhysicalDeviceExternalFenceProperties>(get_proc_address(lib_handle, "vkGetPhysicalDeviceExternalFenceProperties")); |
| GetPhysicalDeviceExternalSemaphoreProperties = reinterpret_cast<PFN_vkGetPhysicalDeviceExternalSemaphoreProperties>(get_proc_address(lib_handle, "vkGetPhysicalDeviceExternalSemaphoreProperties")); |
| GetDescriptorSetLayoutSupport = reinterpret_cast<PFN_vkGetDescriptorSetLayoutSupport>(get_proc_address(lib_handle, "vkGetDescriptorSetLayoutSupport")); |
| CmdDrawIndirectCount = reinterpret_cast<PFN_vkCmdDrawIndirectCount>(get_proc_address(lib_handle, "vkCmdDrawIndirectCount")); |
| CmdDrawIndexedIndirectCount = reinterpret_cast<PFN_vkCmdDrawIndexedIndirectCount>(get_proc_address(lib_handle, "vkCmdDrawIndexedIndirectCount")); |
| CreateRenderPass2 = reinterpret_cast<PFN_vkCreateRenderPass2>(get_proc_address(lib_handle, "vkCreateRenderPass2")); |
| CmdBeginRenderPass2 = reinterpret_cast<PFN_vkCmdBeginRenderPass2>(get_proc_address(lib_handle, "vkCmdBeginRenderPass2")); |
| CmdNextSubpass2 = reinterpret_cast<PFN_vkCmdNextSubpass2>(get_proc_address(lib_handle, "vkCmdNextSubpass2")); |
| CmdEndRenderPass2 = reinterpret_cast<PFN_vkCmdEndRenderPass2>(get_proc_address(lib_handle, "vkCmdEndRenderPass2")); |
| ResetQueryPool = reinterpret_cast<PFN_vkResetQueryPool>(get_proc_address(lib_handle, "vkResetQueryPool")); |
| GetSemaphoreCounterValue = reinterpret_cast<PFN_vkGetSemaphoreCounterValue>(get_proc_address(lib_handle, "vkGetSemaphoreCounterValue")); |
| WaitSemaphores = reinterpret_cast<PFN_vkWaitSemaphores>(get_proc_address(lib_handle, "vkWaitSemaphores")); |
| SignalSemaphore = reinterpret_cast<PFN_vkSignalSemaphore>(get_proc_address(lib_handle, "vkSignalSemaphore")); |
| GetBufferDeviceAddress = reinterpret_cast<PFN_vkGetBufferDeviceAddress>(get_proc_address(lib_handle, "vkGetBufferDeviceAddress")); |
| GetBufferOpaqueCaptureAddress = reinterpret_cast<PFN_vkGetBufferOpaqueCaptureAddress>(get_proc_address(lib_handle, "vkGetBufferOpaqueCaptureAddress")); |
| GetDeviceMemoryOpaqueCaptureAddress = reinterpret_cast<PFN_vkGetDeviceMemoryOpaqueCaptureAddress>(get_proc_address(lib_handle, "vkGetDeviceMemoryOpaqueCaptureAddress")); |
| GetPhysicalDeviceToolProperties = reinterpret_cast<PFN_vkGetPhysicalDeviceToolProperties>(get_proc_address(lib_handle, "vkGetPhysicalDeviceToolProperties")); |
| CreatePrivateDataSlot = reinterpret_cast<PFN_vkCreatePrivateDataSlot>(get_proc_address(lib_handle, "vkCreatePrivateDataSlot")); |
| DestroyPrivateDataSlot = reinterpret_cast<PFN_vkDestroyPrivateDataSlot>(get_proc_address(lib_handle, "vkDestroyPrivateDataSlot")); |
| SetPrivateData = reinterpret_cast<PFN_vkSetPrivateData>(get_proc_address(lib_handle, "vkSetPrivateData")); |
| GetPrivateData = reinterpret_cast<PFN_vkGetPrivateData>(get_proc_address(lib_handle, "vkGetPrivateData")); |
| CmdSetEvent2 = reinterpret_cast<PFN_vkCmdSetEvent2>(get_proc_address(lib_handle, "vkCmdSetEvent2")); |
| CmdResetEvent2 = reinterpret_cast<PFN_vkCmdResetEvent2>(get_proc_address(lib_handle, "vkCmdResetEvent2")); |
| CmdWaitEvents2 = reinterpret_cast<PFN_vkCmdWaitEvents2>(get_proc_address(lib_handle, "vkCmdWaitEvents2")); |
| CmdPipelineBarrier2 = reinterpret_cast<PFN_vkCmdPipelineBarrier2>(get_proc_address(lib_handle, "vkCmdPipelineBarrier2")); |
| CmdWriteTimestamp2 = reinterpret_cast<PFN_vkCmdWriteTimestamp2>(get_proc_address(lib_handle, "vkCmdWriteTimestamp2")); |
| QueueSubmit2 = reinterpret_cast<PFN_vkQueueSubmit2>(get_proc_address(lib_handle, "vkQueueSubmit2")); |
| CmdCopyBuffer2 = reinterpret_cast<PFN_vkCmdCopyBuffer2>(get_proc_address(lib_handle, "vkCmdCopyBuffer2")); |
| CmdCopyImage2 = reinterpret_cast<PFN_vkCmdCopyImage2>(get_proc_address(lib_handle, "vkCmdCopyImage2")); |
| CmdCopyBufferToImage2 = reinterpret_cast<PFN_vkCmdCopyBufferToImage2>(get_proc_address(lib_handle, "vkCmdCopyBufferToImage2")); |
| CmdCopyImageToBuffer2 = reinterpret_cast<PFN_vkCmdCopyImageToBuffer2>(get_proc_address(lib_handle, "vkCmdCopyImageToBuffer2")); |
| CmdBlitImage2 = reinterpret_cast<PFN_vkCmdBlitImage2>(get_proc_address(lib_handle, "vkCmdBlitImage2")); |
| CmdResolveImage2 = reinterpret_cast<PFN_vkCmdResolveImage2>(get_proc_address(lib_handle, "vkCmdResolveImage2")); |
| CmdBeginRendering = reinterpret_cast<PFN_vkCmdBeginRendering>(get_proc_address(lib_handle, "vkCmdBeginRendering")); |
| CmdEndRendering = reinterpret_cast<PFN_vkCmdEndRendering>(get_proc_address(lib_handle, "vkCmdEndRendering")); |
| CmdSetCullMode = reinterpret_cast<PFN_vkCmdSetCullMode>(get_proc_address(lib_handle, "vkCmdSetCullMode")); |
| CmdSetFrontFace = reinterpret_cast<PFN_vkCmdSetFrontFace>(get_proc_address(lib_handle, "vkCmdSetFrontFace")); |
| CmdSetPrimitiveTopology = reinterpret_cast<PFN_vkCmdSetPrimitiveTopology>(get_proc_address(lib_handle, "vkCmdSetPrimitiveTopology")); |
| CmdSetViewportWithCount = reinterpret_cast<PFN_vkCmdSetViewportWithCount>(get_proc_address(lib_handle, "vkCmdSetViewportWithCount")); |
| CmdSetScissorWithCount = reinterpret_cast<PFN_vkCmdSetScissorWithCount>(get_proc_address(lib_handle, "vkCmdSetScissorWithCount")); |
| CmdBindVertexBuffers2 = reinterpret_cast<PFN_vkCmdBindVertexBuffers2>(get_proc_address(lib_handle, "vkCmdBindVertexBuffers2")); |
| CmdSetDepthTestEnable = reinterpret_cast<PFN_vkCmdSetDepthTestEnable>(get_proc_address(lib_handle, "vkCmdSetDepthTestEnable")); |
| CmdSetDepthWriteEnable = reinterpret_cast<PFN_vkCmdSetDepthWriteEnable>(get_proc_address(lib_handle, "vkCmdSetDepthWriteEnable")); |
| CmdSetDepthCompareOp = reinterpret_cast<PFN_vkCmdSetDepthCompareOp>(get_proc_address(lib_handle, "vkCmdSetDepthCompareOp")); |
| CmdSetDepthBoundsTestEnable = reinterpret_cast<PFN_vkCmdSetDepthBoundsTestEnable>(get_proc_address(lib_handle, "vkCmdSetDepthBoundsTestEnable")); |
| CmdSetStencilTestEnable = reinterpret_cast<PFN_vkCmdSetStencilTestEnable>(get_proc_address(lib_handle, "vkCmdSetStencilTestEnable")); |
| CmdSetStencilOp = reinterpret_cast<PFN_vkCmdSetStencilOp>(get_proc_address(lib_handle, "vkCmdSetStencilOp")); |
| CmdSetRasterizerDiscardEnable = reinterpret_cast<PFN_vkCmdSetRasterizerDiscardEnable>(get_proc_address(lib_handle, "vkCmdSetRasterizerDiscardEnable")); |
| CmdSetDepthBiasEnable = reinterpret_cast<PFN_vkCmdSetDepthBiasEnable>(get_proc_address(lib_handle, "vkCmdSetDepthBiasEnable")); |
| CmdSetPrimitiveRestartEnable = reinterpret_cast<PFN_vkCmdSetPrimitiveRestartEnable>(get_proc_address(lib_handle, "vkCmdSetPrimitiveRestartEnable")); |
| GetDeviceBufferMemoryRequirements = reinterpret_cast<PFN_vkGetDeviceBufferMemoryRequirements>(get_proc_address(lib_handle, "vkGetDeviceBufferMemoryRequirements")); |
| GetDeviceImageMemoryRequirements = reinterpret_cast<PFN_vkGetDeviceImageMemoryRequirements>(get_proc_address(lib_handle, "vkGetDeviceImageMemoryRequirements")); |
| GetDeviceImageSparseMemoryRequirements = reinterpret_cast<PFN_vkGetDeviceImageSparseMemoryRequirements>(get_proc_address(lib_handle, "vkGetDeviceImageSparseMemoryRequirements")); |
| } |
| |
| void InitInstanceExtension(VkInstance instance, const char* extension_name) { |
| assert(instance); |
| static const vvl::unordered_map<std::string, std::function<void(VkInstance)>> initializers = { |
| { |
| "VK_EXT_acquire_drm_display", [](VkInstance instance) { |
| AcquireDrmDisplayEXT = reinterpret_cast<PFN_vkAcquireDrmDisplayEXT>(GetInstanceProcAddr(instance, "vkAcquireDrmDisplayEXT")); |
| GetDrmDisplayEXT = reinterpret_cast<PFN_vkGetDrmDisplayEXT>(GetInstanceProcAddr(instance, "vkGetDrmDisplayEXT")); |
| } |
| }, |
| #ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT |
| { |
| "VK_EXT_acquire_xlib_display", [](VkInstance instance) { |
| AcquireXlibDisplayEXT = reinterpret_cast<PFN_vkAcquireXlibDisplayEXT>(GetInstanceProcAddr(instance, "vkAcquireXlibDisplayEXT")); |
| GetRandROutputDisplayEXT = reinterpret_cast<PFN_vkGetRandROutputDisplayEXT>(GetInstanceProcAddr(instance, "vkGetRandROutputDisplayEXT")); |
| } |
| }, |
| #endif // VK_USE_PLATFORM_XLIB_XRANDR_EXT |
| { |
| "VK_EXT_debug_report", [](VkInstance instance) { |
| CreateDebugReportCallbackEXT = reinterpret_cast<PFN_vkCreateDebugReportCallbackEXT>(GetInstanceProcAddr(instance, "vkCreateDebugReportCallbackEXT")); |
| DestroyDebugReportCallbackEXT = reinterpret_cast<PFN_vkDestroyDebugReportCallbackEXT>(GetInstanceProcAddr(instance, "vkDestroyDebugReportCallbackEXT")); |
| DebugReportMessageEXT = reinterpret_cast<PFN_vkDebugReportMessageEXT>(GetInstanceProcAddr(instance, "vkDebugReportMessageEXT")); |
| } |
| }, |
| { |
| "VK_EXT_debug_utils", [](VkInstance instance) { |
| SetDebugUtilsObjectNameEXT = reinterpret_cast<PFN_vkSetDebugUtilsObjectNameEXT>(GetInstanceProcAddr(instance, "vkSetDebugUtilsObjectNameEXT")); |
| SetDebugUtilsObjectTagEXT = reinterpret_cast<PFN_vkSetDebugUtilsObjectTagEXT>(GetInstanceProcAddr(instance, "vkSetDebugUtilsObjectTagEXT")); |
| QueueBeginDebugUtilsLabelEXT = reinterpret_cast<PFN_vkQueueBeginDebugUtilsLabelEXT>(GetInstanceProcAddr(instance, "vkQueueBeginDebugUtilsLabelEXT")); |
| QueueEndDebugUtilsLabelEXT = reinterpret_cast<PFN_vkQueueEndDebugUtilsLabelEXT>(GetInstanceProcAddr(instance, "vkQueueEndDebugUtilsLabelEXT")); |
| QueueInsertDebugUtilsLabelEXT = reinterpret_cast<PFN_vkQueueInsertDebugUtilsLabelEXT>(GetInstanceProcAddr(instance, "vkQueueInsertDebugUtilsLabelEXT")); |
| CmdBeginDebugUtilsLabelEXT = reinterpret_cast<PFN_vkCmdBeginDebugUtilsLabelEXT>(GetInstanceProcAddr(instance, "vkCmdBeginDebugUtilsLabelEXT")); |
| CmdEndDebugUtilsLabelEXT = reinterpret_cast<PFN_vkCmdEndDebugUtilsLabelEXT>(GetInstanceProcAddr(instance, "vkCmdEndDebugUtilsLabelEXT")); |
| CmdInsertDebugUtilsLabelEXT = reinterpret_cast<PFN_vkCmdInsertDebugUtilsLabelEXT>(GetInstanceProcAddr(instance, "vkCmdInsertDebugUtilsLabelEXT")); |
| CreateDebugUtilsMessengerEXT = reinterpret_cast<PFN_vkCreateDebugUtilsMessengerEXT>(GetInstanceProcAddr(instance, "vkCreateDebugUtilsMessengerEXT")); |
| DestroyDebugUtilsMessengerEXT = reinterpret_cast<PFN_vkDestroyDebugUtilsMessengerEXT>(GetInstanceProcAddr(instance, "vkDestroyDebugUtilsMessengerEXT")); |
| SubmitDebugUtilsMessageEXT = reinterpret_cast<PFN_vkSubmitDebugUtilsMessageEXT>(GetInstanceProcAddr(instance, "vkSubmitDebugUtilsMessageEXT")); |
| } |
| }, |
| { |
| "VK_EXT_direct_mode_display", [](VkInstance instance) { |
| ReleaseDisplayEXT = reinterpret_cast<PFN_vkReleaseDisplayEXT>(GetInstanceProcAddr(instance, "vkReleaseDisplayEXT")); |
| } |
| }, |
| #ifdef VK_USE_PLATFORM_DIRECTFB_EXT |
| { |
| "VK_EXT_directfb_surface", [](VkInstance instance) { |
| CreateDirectFBSurfaceEXT = reinterpret_cast<PFN_vkCreateDirectFBSurfaceEXT>(GetInstanceProcAddr(instance, "vkCreateDirectFBSurfaceEXT")); |
| GetPhysicalDeviceDirectFBPresentationSupportEXT = reinterpret_cast<PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceDirectFBPresentationSupportEXT")); |
| } |
| }, |
| #endif // VK_USE_PLATFORM_DIRECTFB_EXT |
| { |
| "VK_EXT_display_surface_counter", [](VkInstance instance) { |
| GetPhysicalDeviceSurfaceCapabilities2EXT = reinterpret_cast<PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfaceCapabilities2EXT")); |
| } |
| }, |
| { |
| "VK_EXT_headless_surface", [](VkInstance instance) { |
| CreateHeadlessSurfaceEXT = reinterpret_cast<PFN_vkCreateHeadlessSurfaceEXT>(GetInstanceProcAddr(instance, "vkCreateHeadlessSurfaceEXT")); |
| } |
| }, |
| #ifdef VK_USE_PLATFORM_METAL_EXT |
| { |
| "VK_EXT_metal_surface", [](VkInstance instance) { |
| CreateMetalSurfaceEXT = reinterpret_cast<PFN_vkCreateMetalSurfaceEXT>(GetInstanceProcAddr(instance, "vkCreateMetalSurfaceEXT")); |
| } |
| }, |
| #endif // VK_USE_PLATFORM_METAL_EXT |
| #ifdef VK_USE_PLATFORM_FUCHSIA |
| { |
| "VK_FUCHSIA_imagepipe_surface", [](VkInstance instance) { |
| CreateImagePipeSurfaceFUCHSIA = reinterpret_cast<PFN_vkCreateImagePipeSurfaceFUCHSIA>(GetInstanceProcAddr(instance, "vkCreateImagePipeSurfaceFUCHSIA")); |
| } |
| }, |
| #endif // VK_USE_PLATFORM_FUCHSIA |
| #ifdef VK_USE_PLATFORM_GGP |
| { |
| "VK_GGP_stream_descriptor_surface", [](VkInstance instance) { |
| CreateStreamDescriptorSurfaceGGP = reinterpret_cast<PFN_vkCreateStreamDescriptorSurfaceGGP>(GetInstanceProcAddr(instance, "vkCreateStreamDescriptorSurfaceGGP")); |
| } |
| }, |
| #endif // VK_USE_PLATFORM_GGP |
| #ifdef VK_USE_PLATFORM_ANDROID_KHR |
| { |
| "VK_KHR_android_surface", [](VkInstance instance) { |
| CreateAndroidSurfaceKHR = reinterpret_cast<PFN_vkCreateAndroidSurfaceKHR>(GetInstanceProcAddr(instance, "vkCreateAndroidSurfaceKHR")); |
| } |
| }, |
| #endif // VK_USE_PLATFORM_ANDROID_KHR |
| { |
| "VK_KHR_device_group_creation", [](VkInstance instance) { |
| EnumeratePhysicalDeviceGroupsKHR = reinterpret_cast<PFN_vkEnumeratePhysicalDeviceGroupsKHR>(GetInstanceProcAddr(instance, "vkEnumeratePhysicalDeviceGroupsKHR")); |
| } |
| }, |
| { |
| "VK_KHR_display", [](VkInstance instance) { |
| GetPhysicalDeviceDisplayPropertiesKHR = reinterpret_cast<PFN_vkGetPhysicalDeviceDisplayPropertiesKHR>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceDisplayPropertiesKHR")); |
| GetPhysicalDeviceDisplayPlanePropertiesKHR = reinterpret_cast<PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceDisplayPlanePropertiesKHR")); |
| GetDisplayPlaneSupportedDisplaysKHR = reinterpret_cast<PFN_vkGetDisplayPlaneSupportedDisplaysKHR>(GetInstanceProcAddr(instance, "vkGetDisplayPlaneSupportedDisplaysKHR")); |
| GetDisplayModePropertiesKHR = reinterpret_cast<PFN_vkGetDisplayModePropertiesKHR>(GetInstanceProcAddr(instance, "vkGetDisplayModePropertiesKHR")); |
| CreateDisplayModeKHR = reinterpret_cast<PFN_vkCreateDisplayModeKHR>(GetInstanceProcAddr(instance, "vkCreateDisplayModeKHR")); |
| GetDisplayPlaneCapabilitiesKHR = reinterpret_cast<PFN_vkGetDisplayPlaneCapabilitiesKHR>(GetInstanceProcAddr(instance, "vkGetDisplayPlaneCapabilitiesKHR")); |
| CreateDisplayPlaneSurfaceKHR = reinterpret_cast<PFN_vkCreateDisplayPlaneSurfaceKHR>(GetInstanceProcAddr(instance, "vkCreateDisplayPlaneSurfaceKHR")); |
| } |
| }, |
| { |
| "VK_KHR_external_fence_capabilities", [](VkInstance instance) { |
| GetPhysicalDeviceExternalFencePropertiesKHR = reinterpret_cast<PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceExternalFencePropertiesKHR")); |
| } |
| }, |
| { |
| "VK_KHR_external_memory_capabilities", [](VkInstance instance) { |
| GetPhysicalDeviceExternalBufferPropertiesKHR = reinterpret_cast<PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceExternalBufferPropertiesKHR")); |
| } |
| }, |
| { |
| "VK_KHR_external_semaphore_capabilities", [](VkInstance instance) { |
| GetPhysicalDeviceExternalSemaphorePropertiesKHR = reinterpret_cast<PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR")); |
| } |
| }, |
| { |
| "VK_KHR_get_display_properties2", [](VkInstance instance) { |
| GetPhysicalDeviceDisplayProperties2KHR = reinterpret_cast<PFN_vkGetPhysicalDeviceDisplayProperties2KHR>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceDisplayProperties2KHR")); |
| GetPhysicalDeviceDisplayPlaneProperties2KHR = reinterpret_cast<PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceDisplayPlaneProperties2KHR")); |
| GetDisplayModeProperties2KHR = reinterpret_cast<PFN_vkGetDisplayModeProperties2KHR>(GetInstanceProcAddr(instance, "vkGetDisplayModeProperties2KHR")); |
| GetDisplayPlaneCapabilities2KHR = reinterpret_cast<PFN_vkGetDisplayPlaneCapabilities2KHR>(GetInstanceProcAddr(instance, "vkGetDisplayPlaneCapabilities2KHR")); |
| } |
| }, |
| { |
| "VK_KHR_get_physical_device_properties2", [](VkInstance instance) { |
| GetPhysicalDeviceFeatures2KHR = reinterpret_cast<PFN_vkGetPhysicalDeviceFeatures2KHR>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceFeatures2KHR")); |
| GetPhysicalDeviceProperties2KHR = reinterpret_cast<PFN_vkGetPhysicalDeviceProperties2KHR>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceProperties2KHR")); |
| GetPhysicalDeviceFormatProperties2KHR = reinterpret_cast<PFN_vkGetPhysicalDeviceFormatProperties2KHR>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceFormatProperties2KHR")); |
| GetPhysicalDeviceImageFormatProperties2KHR = reinterpret_cast<PFN_vkGetPhysicalDeviceImageFormatProperties2KHR>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceImageFormatProperties2KHR")); |
| GetPhysicalDeviceQueueFamilyProperties2KHR = reinterpret_cast<PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceQueueFamilyProperties2KHR")); |
| GetPhysicalDeviceMemoryProperties2KHR = reinterpret_cast<PFN_vkGetPhysicalDeviceMemoryProperties2KHR>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceMemoryProperties2KHR")); |
| GetPhysicalDeviceSparseImageFormatProperties2KHR = reinterpret_cast<PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSparseImageFormatProperties2KHR")); |
| } |
| }, |
| { |
| "VK_KHR_get_surface_capabilities2", [](VkInstance instance) { |
| GetPhysicalDeviceSurfaceCapabilities2KHR = reinterpret_cast<PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfaceCapabilities2KHR")); |
| GetPhysicalDeviceSurfaceFormats2KHR = reinterpret_cast<PFN_vkGetPhysicalDeviceSurfaceFormats2KHR>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfaceFormats2KHR")); |
| } |
| }, |
| { |
| "VK_KHR_surface", [](VkInstance instance) { |
| DestroySurfaceKHR = reinterpret_cast<PFN_vkDestroySurfaceKHR>(GetInstanceProcAddr(instance, "vkDestroySurfaceKHR")); |
| GetPhysicalDeviceSurfaceSupportKHR = reinterpret_cast<PFN_vkGetPhysicalDeviceSurfaceSupportKHR>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfaceSupportKHR")); |
| GetPhysicalDeviceSurfaceCapabilitiesKHR = reinterpret_cast<PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR")); |
| GetPhysicalDeviceSurfaceFormatsKHR = reinterpret_cast<PFN_vkGetPhysicalDeviceSurfaceFormatsKHR>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfaceFormatsKHR")); |
| GetPhysicalDeviceSurfacePresentModesKHR = reinterpret_cast<PFN_vkGetPhysicalDeviceSurfacePresentModesKHR>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfacePresentModesKHR")); |
| } |
| }, |
| #ifdef VK_USE_PLATFORM_WAYLAND_KHR |
| { |
| "VK_KHR_wayland_surface", [](VkInstance instance) { |
| CreateWaylandSurfaceKHR = reinterpret_cast<PFN_vkCreateWaylandSurfaceKHR>(GetInstanceProcAddr(instance, "vkCreateWaylandSurfaceKHR")); |
| GetPhysicalDeviceWaylandPresentationSupportKHR = reinterpret_cast<PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceWaylandPresentationSupportKHR")); |
| } |
| }, |
| #endif // VK_USE_PLATFORM_WAYLAND_KHR |
| #ifdef VK_USE_PLATFORM_WIN32_KHR |
| { |
| "VK_KHR_win32_surface", [](VkInstance instance) { |
| CreateWin32SurfaceKHR = reinterpret_cast<PFN_vkCreateWin32SurfaceKHR>(GetInstanceProcAddr(instance, "vkCreateWin32SurfaceKHR")); |
| GetPhysicalDeviceWin32PresentationSupportKHR = reinterpret_cast<PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceWin32PresentationSupportKHR")); |
| } |
| }, |
| #endif // VK_USE_PLATFORM_WIN32_KHR |
| #ifdef VK_USE_PLATFORM_XCB_KHR |
| { |
| "VK_KHR_xcb_surface", [](VkInstance instance) { |
| CreateXcbSurfaceKHR = reinterpret_cast<PFN_vkCreateXcbSurfaceKHR>(GetInstanceProcAddr(instance, "vkCreateXcbSurfaceKHR")); |
| GetPhysicalDeviceXcbPresentationSupportKHR = reinterpret_cast<PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceXcbPresentationSupportKHR")); |
| } |
| }, |
| #endif // VK_USE_PLATFORM_XCB_KHR |
| #ifdef VK_USE_PLATFORM_XLIB_KHR |
| { |
| "VK_KHR_xlib_surface", [](VkInstance instance) { |
| CreateXlibSurfaceKHR = reinterpret_cast<PFN_vkCreateXlibSurfaceKHR>(GetInstanceProcAddr(instance, "vkCreateXlibSurfaceKHR")); |
| GetPhysicalDeviceXlibPresentationSupportKHR = reinterpret_cast<PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceXlibPresentationSupportKHR")); |
| } |
| }, |
| #endif // VK_USE_PLATFORM_XLIB_KHR |
| #ifdef VK_USE_PLATFORM_IOS_MVK |
| { |
| "VK_MVK_ios_surface", [](VkInstance instance) { |
| CreateIOSSurfaceMVK = reinterpret_cast<PFN_vkCreateIOSSurfaceMVK>(GetInstanceProcAddr(instance, "vkCreateIOSSurfaceMVK")); |
| } |
| }, |
| #endif // VK_USE_PLATFORM_IOS_MVK |
| #ifdef VK_USE_PLATFORM_MACOS_MVK |
| { |
| "VK_MVK_macos_surface", [](VkInstance instance) { |
| CreateMacOSSurfaceMVK = reinterpret_cast<PFN_vkCreateMacOSSurfaceMVK>(GetInstanceProcAddr(instance, "vkCreateMacOSSurfaceMVK")); |
| } |
| }, |
| #endif // VK_USE_PLATFORM_MACOS_MVK |
| #ifdef VK_USE_PLATFORM_VI_NN |
| { |
| "VK_NN_vi_surface", [](VkInstance instance) { |
| CreateViSurfaceNN = reinterpret_cast<PFN_vkCreateViSurfaceNN>(GetInstanceProcAddr(instance, "vkCreateViSurfaceNN")); |
| } |
| }, |
| #endif // VK_USE_PLATFORM_VI_NN |
| { |
| "VK_NV_external_memory_capabilities", [](VkInstance instance) { |
| GetPhysicalDeviceExternalImageFormatPropertiesNV = reinterpret_cast<PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceExternalImageFormatPropertiesNV")); |
| } |
| }, |
| #ifdef VK_USE_PLATFORM_SCREEN_QNX |
| { |
| "VK_QNX_screen_surface", [](VkInstance instance) { |
| CreateScreenSurfaceQNX = reinterpret_cast<PFN_vkCreateScreenSurfaceQNX>(GetInstanceProcAddr(instance, "vkCreateScreenSurfaceQNX")); |
| GetPhysicalDeviceScreenPresentationSupportQNX = reinterpret_cast<PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceScreenPresentationSupportQNX")); |
| } |
| }, |
| #endif // VK_USE_PLATFORM_SCREEN_QNX |
| }; |
| |
| if (auto it = initializers.find(extension_name); it != initializers.end()) |
| (it->second)(instance); |
| } |
| |
| void InitDeviceExtension(VkInstance instance, VkDevice device, const char* extension_name) { |
| static const vvl::unordered_map<std::string, std::function<void(VkInstance, VkDevice)>> initializers = { |
| { |
| "VK_AMD_buffer_marker", [](VkInstance, VkDevice device) { |
| CmdWriteBufferMarkerAMD = reinterpret_cast<PFN_vkCmdWriteBufferMarkerAMD>(GetDeviceProcAddr(device, "vkCmdWriteBufferMarkerAMD")); |
| } |
| }, |
| { |
| "VK_AMD_display_native_hdr", [](VkInstance, VkDevice device) { |
| SetLocalDimmingAMD = reinterpret_cast<PFN_vkSetLocalDimmingAMD>(GetDeviceProcAddr(device, "vkSetLocalDimmingAMD")); |
| } |
| }, |
| { |
| "VK_AMD_draw_indirect_count", [](VkInstance, VkDevice device) { |
| CmdDrawIndirectCountAMD = reinterpret_cast<PFN_vkCmdDrawIndirectCountAMD>(GetDeviceProcAddr(device, "vkCmdDrawIndirectCountAMD")); |
| CmdDrawIndexedIndirectCountAMD = reinterpret_cast<PFN_vkCmdDrawIndexedIndirectCountAMD>(GetDeviceProcAddr(device, "vkCmdDrawIndexedIndirectCountAMD")); |
| } |
| }, |
| { |
| "VK_AMD_shader_info", [](VkInstance, VkDevice device) { |
| GetShaderInfoAMD = reinterpret_cast<PFN_vkGetShaderInfoAMD>(GetDeviceProcAddr(device, "vkGetShaderInfoAMD")); |
| } |
| }, |
| #ifdef VK_USE_PLATFORM_ANDROID_KHR |
| { |
| "VK_ANDROID_external_memory_android_hardware_buffer", [](VkInstance, VkDevice device) { |
| GetAndroidHardwareBufferPropertiesANDROID = reinterpret_cast<PFN_vkGetAndroidHardwareBufferPropertiesANDROID>(GetDeviceProcAddr(device, "vkGetAndroidHardwareBufferPropertiesANDROID")); |
| GetMemoryAndroidHardwareBufferANDROID = reinterpret_cast<PFN_vkGetMemoryAndroidHardwareBufferANDROID>(GetDeviceProcAddr(device, "vkGetMemoryAndroidHardwareBufferANDROID")); |
| } |
| }, |
| #endif // VK_USE_PLATFORM_ANDROID_KHR |
| { |
| "VK_EXT_attachment_feedback_loop_dynamic_state", [](VkInstance, VkDevice device) { |
| CmdSetAttachmentFeedbackLoopEnableEXT = reinterpret_cast<PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT>(GetDeviceProcAddr(device, "vkCmdSetAttachmentFeedbackLoopEnableEXT")); |
| } |
| }, |
| { |
| "VK_EXT_buffer_device_address", [](VkInstance, VkDevice device) { |
| GetBufferDeviceAddressEXT = reinterpret_cast<PFN_vkGetBufferDeviceAddressEXT>(GetDeviceProcAddr(device, "vkGetBufferDeviceAddressEXT")); |
| } |
| }, |
| { |
| "VK_EXT_calibrated_timestamps", [](VkInstance instance, VkDevice device) { |
| GetPhysicalDeviceCalibrateableTimeDomainsEXT = reinterpret_cast<PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceCalibrateableTimeDomainsEXT")); |
| GetCalibratedTimestampsEXT = reinterpret_cast<PFN_vkGetCalibratedTimestampsEXT>(GetDeviceProcAddr(device, "vkGetCalibratedTimestampsEXT")); |
| } |
| }, |
| { |
| "VK_EXT_color_write_enable", [](VkInstance, VkDevice device) { |
| CmdSetColorWriteEnableEXT = reinterpret_cast<PFN_vkCmdSetColorWriteEnableEXT>(GetDeviceProcAddr(device, "vkCmdSetColorWriteEnableEXT")); |
| } |
| }, |
| { |
| "VK_EXT_conditional_rendering", [](VkInstance, VkDevice device) { |
| CmdBeginConditionalRenderingEXT = reinterpret_cast<PFN_vkCmdBeginConditionalRenderingEXT>(GetDeviceProcAddr(device, "vkCmdBeginConditionalRenderingEXT")); |
| CmdEndConditionalRenderingEXT = reinterpret_cast<PFN_vkCmdEndConditionalRenderingEXT>(GetDeviceProcAddr(device, "vkCmdEndConditionalRenderingEXT")); |
| } |
| }, |
| { |
| "VK_EXT_debug_marker", [](VkInstance, VkDevice device) { |
| DebugMarkerSetObjectTagEXT = reinterpret_cast<PFN_vkDebugMarkerSetObjectTagEXT>(GetDeviceProcAddr(device, "vkDebugMarkerSetObjectTagEXT")); |
| DebugMarkerSetObjectNameEXT = reinterpret_cast<PFN_vkDebugMarkerSetObjectNameEXT>(GetDeviceProcAddr(device, "vkDebugMarkerSetObjectNameEXT")); |
| CmdDebugMarkerBeginEXT = reinterpret_cast<PFN_vkCmdDebugMarkerBeginEXT>(GetDeviceProcAddr(device, "vkCmdDebugMarkerBeginEXT")); |
| CmdDebugMarkerEndEXT = reinterpret_cast<PFN_vkCmdDebugMarkerEndEXT>(GetDeviceProcAddr(device, "vkCmdDebugMarkerEndEXT")); |
| CmdDebugMarkerInsertEXT = reinterpret_cast<PFN_vkCmdDebugMarkerInsertEXT>(GetDeviceProcAddr(device, "vkCmdDebugMarkerInsertEXT")); |
| } |
| }, |
| { |
| "VK_EXT_descriptor_buffer", [](VkInstance, VkDevice device) { |
| GetDescriptorSetLayoutSizeEXT = reinterpret_cast<PFN_vkGetDescriptorSetLayoutSizeEXT>(GetDeviceProcAddr(device, "vkGetDescriptorSetLayoutSizeEXT")); |
| GetDescriptorSetLayoutBindingOffsetEXT = reinterpret_cast<PFN_vkGetDescriptorSetLayoutBindingOffsetEXT>(GetDeviceProcAddr(device, "vkGetDescriptorSetLayoutBindingOffsetEXT")); |
| GetDescriptorEXT = reinterpret_cast<PFN_vkGetDescriptorEXT>(GetDeviceProcAddr(device, "vkGetDescriptorEXT")); |
| CmdBindDescriptorBuffersEXT = reinterpret_cast<PFN_vkCmdBindDescriptorBuffersEXT>(GetDeviceProcAddr(device, "vkCmdBindDescriptorBuffersEXT")); |
| CmdSetDescriptorBufferOffsetsEXT = reinterpret_cast<PFN_vkCmdSetDescriptorBufferOffsetsEXT>(GetDeviceProcAddr(device, "vkCmdSetDescriptorBufferOffsetsEXT")); |
| CmdBindDescriptorBufferEmbeddedSamplersEXT = reinterpret_cast<PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT>(GetDeviceProcAddr(device, "vkCmdBindDescriptorBufferEmbeddedSamplersEXT")); |
| GetBufferOpaqueCaptureDescriptorDataEXT = reinterpret_cast<PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT>(GetDeviceProcAddr(device, "vkGetBufferOpaqueCaptureDescriptorDataEXT")); |
| GetImageOpaqueCaptureDescriptorDataEXT = reinterpret_cast<PFN_vkGetImageOpaqueCaptureDescriptorDataEXT>(GetDeviceProcAddr(device, "vkGetImageOpaqueCaptureDescriptorDataEXT")); |
| GetImageViewOpaqueCaptureDescriptorDataEXT = reinterpret_cast<PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT>(GetDeviceProcAddr(device, "vkGetImageViewOpaqueCaptureDescriptorDataEXT")); |
| GetSamplerOpaqueCaptureDescriptorDataEXT = reinterpret_cast<PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT>(GetDeviceProcAddr(device, "vkGetSamplerOpaqueCaptureDescriptorDataEXT")); |
| GetAccelerationStructureOpaqueCaptureDescriptorDataEXT = reinterpret_cast<PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT>(GetDeviceProcAddr(device, "vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT")); |
| } |
| }, |
| { |
| "VK_EXT_device_fault", [](VkInstance, VkDevice device) { |
| GetDeviceFaultInfoEXT = reinterpret_cast<PFN_vkGetDeviceFaultInfoEXT>(GetDeviceProcAddr(device, "vkGetDeviceFaultInfoEXT")); |
| } |
| }, |
| { |
| "VK_EXT_discard_rectangles", [](VkInstance, VkDevice device) { |
| CmdSetDiscardRectangleEXT = reinterpret_cast<PFN_vkCmdSetDiscardRectangleEXT>(GetDeviceProcAddr(device, "vkCmdSetDiscardRectangleEXT")); |
| CmdSetDiscardRectangleEnableEXT = reinterpret_cast<PFN_vkCmdSetDiscardRectangleEnableEXT>(GetDeviceProcAddr(device, "vkCmdSetDiscardRectangleEnableEXT")); |
| CmdSetDiscardRectangleModeEXT = reinterpret_cast<PFN_vkCmdSetDiscardRectangleModeEXT>(GetDeviceProcAddr(device, "vkCmdSetDiscardRectangleModeEXT")); |
| } |
| }, |
| { |
| "VK_EXT_display_control", [](VkInstance, VkDevice device) { |
| DisplayPowerControlEXT = reinterpret_cast<PFN_vkDisplayPowerControlEXT>(GetDeviceProcAddr(device, "vkDisplayPowerControlEXT")); |
| RegisterDeviceEventEXT = reinterpret_cast<PFN_vkRegisterDeviceEventEXT>(GetDeviceProcAddr(device, "vkRegisterDeviceEventEXT")); |
| RegisterDisplayEventEXT = reinterpret_cast<PFN_vkRegisterDisplayEventEXT>(GetDeviceProcAddr(device, "vkRegisterDisplayEventEXT")); |
| GetSwapchainCounterEXT = reinterpret_cast<PFN_vkGetSwapchainCounterEXT>(GetDeviceProcAddr(device, "vkGetSwapchainCounterEXT")); |
| } |
| }, |
| { |
| "VK_EXT_extended_dynamic_state", [](VkInstance, VkDevice device) { |
| CmdSetCullModeEXT = reinterpret_cast<PFN_vkCmdSetCullModeEXT>(GetDeviceProcAddr(device, "vkCmdSetCullModeEXT")); |
| CmdSetFrontFaceEXT = reinterpret_cast<PFN_vkCmdSetFrontFaceEXT>(GetDeviceProcAddr(device, "vkCmdSetFrontFaceEXT")); |
| CmdSetPrimitiveTopologyEXT = reinterpret_cast<PFN_vkCmdSetPrimitiveTopologyEXT>(GetDeviceProcAddr(device, "vkCmdSetPrimitiveTopologyEXT")); |
| CmdSetViewportWithCountEXT = reinterpret_cast<PFN_vkCmdSetViewportWithCountEXT>(GetDeviceProcAddr(device, "vkCmdSetViewportWithCountEXT")); |
| CmdSetScissorWithCountEXT = reinterpret_cast<PFN_vkCmdSetScissorWithCountEXT>(GetDeviceProcAddr(device, "vkCmdSetScissorWithCountEXT")); |
| CmdBindVertexBuffers2EXT = reinterpret_cast<PFN_vkCmdBindVertexBuffers2EXT>(GetDeviceProcAddr(device, "vkCmdBindVertexBuffers2EXT")); |
| CmdSetDepthTestEnableEXT = reinterpret_cast<PFN_vkCmdSetDepthTestEnableEXT>(GetDeviceProcAddr(device, "vkCmdSetDepthTestEnableEXT")); |
| CmdSetDepthWriteEnableEXT = reinterpret_cast<PFN_vkCmdSetDepthWriteEnableEXT>(GetDeviceProcAddr(device, "vkCmdSetDepthWriteEnableEXT")); |
| CmdSetDepthCompareOpEXT = reinterpret_cast<PFN_vkCmdSetDepthCompareOpEXT>(GetDeviceProcAddr(device, "vkCmdSetDepthCompareOpEXT")); |
| CmdSetDepthBoundsTestEnableEXT = reinterpret_cast<PFN_vkCmdSetDepthBoundsTestEnableEXT>(GetDeviceProcAddr(device, "vkCmdSetDepthBoundsTestEnableEXT")); |
| CmdSetStencilTestEnableEXT = reinterpret_cast<PFN_vkCmdSetStencilTestEnableEXT>(GetDeviceProcAddr(device, "vkCmdSetStencilTestEnableEXT")); |
| CmdSetStencilOpEXT = reinterpret_cast<PFN_vkCmdSetStencilOpEXT>(GetDeviceProcAddr(device, "vkCmdSetStencilOpEXT")); |
| } |
| }, |
| { |
| "VK_EXT_extended_dynamic_state2", [](VkInstance, VkDevice device) { |
| CmdSetPatchControlPointsEXT = reinterpret_cast<PFN_vkCmdSetPatchControlPointsEXT>(GetDeviceProcAddr(device, "vkCmdSetPatchControlPointsEXT")); |
| CmdSetRasterizerDiscardEnableEXT = reinterpret_cast<PFN_vkCmdSetRasterizerDiscardEnableEXT>(GetDeviceProcAddr(device, "vkCmdSetRasterizerDiscardEnableEXT")); |
| CmdSetDepthBiasEnableEXT = reinterpret_cast<PFN_vkCmdSetDepthBiasEnableEXT>(GetDeviceProcAddr(device, "vkCmdSetDepthBiasEnableEXT")); |
| CmdSetLogicOpEXT = reinterpret_cast<PFN_vkCmdSetLogicOpEXT>(GetDeviceProcAddr(device, "vkCmdSetLogicOpEXT")); |
| CmdSetPrimitiveRestartEnableEXT = reinterpret_cast<PFN_vkCmdSetPrimitiveRestartEnableEXT>(GetDeviceProcAddr(device, "vkCmdSetPrimitiveRestartEnableEXT")); |
| } |
| }, |
| { |
| "VK_EXT_extended_dynamic_state3", [](VkInstance, VkDevice device) { |
| CmdSetTessellationDomainOriginEXT = reinterpret_cast<PFN_vkCmdSetTessellationDomainOriginEXT>(GetDeviceProcAddr(device, "vkCmdSetTessellationDomainOriginEXT")); |
| CmdSetDepthClampEnableEXT = reinterpret_cast<PFN_vkCmdSetDepthClampEnableEXT>(GetDeviceProcAddr(device, "vkCmdSetDepthClampEnableEXT")); |
| CmdSetPolygonModeEXT = reinterpret_cast<PFN_vkCmdSetPolygonModeEXT>(GetDeviceProcAddr(device, "vkCmdSetPolygonModeEXT")); |
| CmdSetRasterizationSamplesEXT = reinterpret_cast<PFN_vkCmdSetRasterizationSamplesEXT>(GetDeviceProcAddr(device, "vkCmdSetRasterizationSamplesEXT")); |
| CmdSetSampleMaskEXT = reinterpret_cast<PFN_vkCmdSetSampleMaskEXT>(GetDeviceProcAddr(device, "vkCmdSetSampleMaskEXT")); |
| CmdSetAlphaToCoverageEnableEXT = reinterpret_cast<PFN_vkCmdSetAlphaToCoverageEnableEXT>(GetDeviceProcAddr(device, "vkCmdSetAlphaToCoverageEnableEXT")); |
| CmdSetAlphaToOneEnableEXT = reinterpret_cast<PFN_vkCmdSetAlphaToOneEnableEXT>(GetDeviceProcAddr(device, "vkCmdSetAlphaToOneEnableEXT")); |
| CmdSetLogicOpEnableEXT = reinterpret_cast<PFN_vkCmdSetLogicOpEnableEXT>(GetDeviceProcAddr(device, "vkCmdSetLogicOpEnableEXT")); |
| CmdSetColorBlendEnableEXT = reinterpret_cast<PFN_vkCmdSetColorBlendEnableEXT>(GetDeviceProcAddr(device, "vkCmdSetColorBlendEnableEXT")); |
| CmdSetColorBlendEquationEXT = reinterpret_cast<PFN_vkCmdSetColorBlendEquationEXT>(GetDeviceProcAddr(device, "vkCmdSetColorBlendEquationEXT")); |
| CmdSetColorWriteMaskEXT = reinterpret_cast<PFN_vkCmdSetColorWriteMaskEXT>(GetDeviceProcAddr(device, "vkCmdSetColorWriteMaskEXT")); |
| CmdSetRasterizationStreamEXT = reinterpret_cast<PFN_vkCmdSetRasterizationStreamEXT>(GetDeviceProcAddr(device, "vkCmdSetRasterizationStreamEXT")); |
| CmdSetConservativeRasterizationModeEXT = reinterpret_cast<PFN_vkCmdSetConservativeRasterizationModeEXT>(GetDeviceProcAddr(device, "vkCmdSetConservativeRasterizationModeEXT")); |
| CmdSetExtraPrimitiveOverestimationSizeEXT = reinterpret_cast<PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT>(GetDeviceProcAddr(device, "vkCmdSetExtraPrimitiveOverestimationSizeEXT")); |
| CmdSetDepthClipEnableEXT = reinterpret_cast<PFN_vkCmdSetDepthClipEnableEXT>(GetDeviceProcAddr(device, "vkCmdSetDepthClipEnableEXT")); |
| CmdSetSampleLocationsEnableEXT = reinterpret_cast<PFN_vkCmdSetSampleLocationsEnableEXT>(GetDeviceProcAddr(device, "vkCmdSetSampleLocationsEnableEXT")); |
| CmdSetColorBlendAdvancedEXT = reinterpret_cast<PFN_vkCmdSetColorBlendAdvancedEXT>(GetDeviceProcAddr(device, "vkCmdSetColorBlendAdvancedEXT")); |
| CmdSetProvokingVertexModeEXT = reinterpret_cast<PFN_vkCmdSetProvokingVertexModeEXT>(GetDeviceProcAddr(device, "vkCmdSetProvokingVertexModeEXT")); |
| CmdSetLineRasterizationModeEXT = reinterpret_cast<PFN_vkCmdSetLineRasterizationModeEXT>(GetDeviceProcAddr(device, "vkCmdSetLineRasterizationModeEXT")); |
| CmdSetLineStippleEnableEXT = reinterpret_cast<PFN_vkCmdSetLineStippleEnableEXT>(GetDeviceProcAddr(device, "vkCmdSetLineStippleEnableEXT")); |
| CmdSetDepthClipNegativeOneToOneEXT = reinterpret_cast<PFN_vkCmdSetDepthClipNegativeOneToOneEXT>(GetDeviceProcAddr(device, "vkCmdSetDepthClipNegativeOneToOneEXT")); |
| CmdSetViewportWScalingEnableNV = reinterpret_cast<PFN_vkCmdSetViewportWScalingEnableNV>(GetDeviceProcAddr(device, "vkCmdSetViewportWScalingEnableNV")); |
| CmdSetViewportSwizzleNV = reinterpret_cast<PFN_vkCmdSetViewportSwizzleNV>(GetDeviceProcAddr(device, "vkCmdSetViewportSwizzleNV")); |
| CmdSetCoverageToColorEnableNV = reinterpret_cast<PFN_vkCmdSetCoverageToColorEnableNV>(GetDeviceProcAddr(device, "vkCmdSetCoverageToColorEnableNV")); |
| CmdSetCoverageToColorLocationNV = reinterpret_cast<PFN_vkCmdSetCoverageToColorLocationNV>(GetDeviceProcAddr(device, "vkCmdSetCoverageToColorLocationNV")); |
| CmdSetCoverageModulationModeNV = reinterpret_cast<PFN_vkCmdSetCoverageModulationModeNV>(GetDeviceProcAddr(device, "vkCmdSetCoverageModulationModeNV")); |
| CmdSetCoverageModulationTableEnableNV = reinterpret_cast<PFN_vkCmdSetCoverageModulationTableEnableNV>(GetDeviceProcAddr(device, "vkCmdSetCoverageModulationTableEnableNV")); |
| CmdSetCoverageModulationTableNV = reinterpret_cast<PFN_vkCmdSetCoverageModulationTableNV>(GetDeviceProcAddr(device, "vkCmdSetCoverageModulationTableNV")); |
| CmdSetShadingRateImageEnableNV = reinterpret_cast<PFN_vkCmdSetShadingRateImageEnableNV>(GetDeviceProcAddr(device, "vkCmdSetShadingRateImageEnableNV")); |
| CmdSetRepresentativeFragmentTestEnableNV = reinterpret_cast<PFN_vkCmdSetRepresentativeFragmentTestEnableNV>(GetDeviceProcAddr(device, "vkCmdSetRepresentativeFragmentTestEnableNV")); |
| CmdSetCoverageReductionModeNV = reinterpret_cast<PFN_vkCmdSetCoverageReductionModeNV>(GetDeviceProcAddr(device, "vkCmdSetCoverageReductionModeNV")); |
| } |
| }, |
| { |
| "VK_EXT_external_memory_host", [](VkInstance, VkDevice device) { |
| GetMemoryHostPointerPropertiesEXT = reinterpret_cast<PFN_vkGetMemoryHostPointerPropertiesEXT>(GetDeviceProcAddr(device, "vkGetMemoryHostPointerPropertiesEXT")); |
| } |
| }, |
| #ifdef VK_USE_PLATFORM_WIN32_KHR |
| { |
| "VK_EXT_full_screen_exclusive", [](VkInstance instance, VkDevice device) { |
| GetPhysicalDeviceSurfacePresentModes2EXT = reinterpret_cast<PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfacePresentModes2EXT")); |
| AcquireFullScreenExclusiveModeEXT = reinterpret_cast<PFN_vkAcquireFullScreenExclusiveModeEXT>(GetDeviceProcAddr(device, "vkAcquireFullScreenExclusiveModeEXT")); |
| ReleaseFullScreenExclusiveModeEXT = reinterpret_cast<PFN_vkReleaseFullScreenExclusiveModeEXT>(GetDeviceProcAddr(device, "vkReleaseFullScreenExclusiveModeEXT")); |
| GetDeviceGroupSurfacePresentModes2EXT = reinterpret_cast<PFN_vkGetDeviceGroupSurfacePresentModes2EXT>(GetDeviceProcAddr(device, "vkGetDeviceGroupSurfacePresentModes2EXT")); |
| } |
| }, |
| #endif // VK_USE_PLATFORM_WIN32_KHR |
| { |
| "VK_EXT_hdr_metadata", [](VkInstance, VkDevice device) { |
| SetHdrMetadataEXT = reinterpret_cast<PFN_vkSetHdrMetadataEXT>(GetDeviceProcAddr(device, "vkSetHdrMetadataEXT")); |
| } |
| }, |
| { |
| "VK_EXT_host_query_reset", [](VkInstance, VkDevice device) { |
| ResetQueryPoolEXT = reinterpret_cast<PFN_vkResetQueryPoolEXT>(GetDeviceProcAddr(device, "vkResetQueryPoolEXT")); |
| } |
| }, |
| { |
| "VK_EXT_image_compression_control", [](VkInstance, VkDevice device) { |
| GetImageSubresourceLayout2EXT = reinterpret_cast<PFN_vkGetImageSubresourceLayout2EXT>(GetDeviceProcAddr(device, "vkGetImageSubresourceLayout2EXT")); |
| } |
| }, |
| { |
| "VK_EXT_image_drm_format_modifier", [](VkInstance, VkDevice device) { |
| GetImageDrmFormatModifierPropertiesEXT = reinterpret_cast<PFN_vkGetImageDrmFormatModifierPropertiesEXT>(GetDeviceProcAddr(device, "vkGetImageDrmFormatModifierPropertiesEXT")); |
| } |
| }, |
| { |
| "VK_EXT_line_rasterization", [](VkInstance, VkDevice device) { |
| CmdSetLineStippleEXT = reinterpret_cast<PFN_vkCmdSetLineStippleEXT>(GetDeviceProcAddr(device, "vkCmdSetLineStippleEXT")); |
| } |
| }, |
| { |
| "VK_EXT_mesh_shader", [](VkInstance, VkDevice device) { |
| CmdDrawMeshTasksEXT = reinterpret_cast<PFN_vkCmdDrawMeshTasksEXT>(GetDeviceProcAddr(device, "vkCmdDrawMeshTasksEXT")); |
| CmdDrawMeshTasksIndirectEXT = reinterpret_cast<PFN_vkCmdDrawMeshTasksIndirectEXT>(GetDeviceProcAddr(device, "vkCmdDrawMeshTasksIndirectEXT")); |
| CmdDrawMeshTasksIndirectCountEXT = reinterpret_cast<PFN_vkCmdDrawMeshTasksIndirectCountEXT>(GetDeviceProcAddr(device, "vkCmdDrawMeshTasksIndirectCountEXT")); |
| } |
| }, |
| #ifdef VK_USE_PLATFORM_METAL_EXT |
| { |
| "VK_EXT_metal_objects", [](VkInstance, VkDevice device) { |
| ExportMetalObjectsEXT = reinterpret_cast<PFN_vkExportMetalObjectsEXT>(GetDeviceProcAddr(device, "vkExportMetalObjectsEXT")); |
| } |
| }, |
| #endif // VK_USE_PLATFORM_METAL_EXT |
| { |
| "VK_EXT_multi_draw", [](VkInstance, VkDevice device) { |
| CmdDrawMultiEXT = reinterpret_cast<PFN_vkCmdDrawMultiEXT>(GetDeviceProcAddr(device, "vkCmdDrawMultiEXT")); |
| CmdDrawMultiIndexedEXT = reinterpret_cast<PFN_vkCmdDrawMultiIndexedEXT>(GetDeviceProcAddr(device, "vkCmdDrawMultiIndexedEXT")); |
| } |
| }, |
| { |
| "VK_EXT_opacity_micromap", [](VkInstance, VkDevice device) { |
| CreateMicromapEXT = reinterpret_cast<PFN_vkCreateMicromapEXT>(GetDeviceProcAddr(device, "vkCreateMicromapEXT")); |
| DestroyMicromapEXT = reinterpret_cast<PFN_vkDestroyMicromapEXT>(GetDeviceProcAddr(device, "vkDestroyMicromapEXT")); |
| CmdBuildMicromapsEXT = reinterpret_cast<PFN_vkCmdBuildMicromapsEXT>(GetDeviceProcAddr(device, "vkCmdBuildMicromapsEXT")); |
| BuildMicromapsEXT = reinterpret_cast<PFN_vkBuildMicromapsEXT>(GetDeviceProcAddr(device, "vkBuildMicromapsEXT")); |
| CopyMicromapEXT = reinterpret_cast<PFN_vkCopyMicromapEXT>(GetDeviceProcAddr(device, "vkCopyMicromapEXT")); |
| CopyMicromapToMemoryEXT = reinterpret_cast<PFN_vkCopyMicromapToMemoryEXT>(GetDeviceProcAddr(device, "vkCopyMicromapToMemoryEXT")); |
| CopyMemoryToMicromapEXT = reinterpret_cast<PFN_vkCopyMemoryToMicromapEXT>(GetDeviceProcAddr(device, "vkCopyMemoryToMicromapEXT")); |
| WriteMicromapsPropertiesEXT = reinterpret_cast<PFN_vkWriteMicromapsPropertiesEXT>(GetDeviceProcAddr(device, "vkWriteMicromapsPropertiesEXT")); |
| CmdCopyMicromapEXT = reinterpret_cast<PFN_vkCmdCopyMicromapEXT>(GetDeviceProcAddr(device, "vkCmdCopyMicromapEXT")); |
| CmdCopyMicromapToMemoryEXT = reinterpret_cast<PFN_vkCmdCopyMicromapToMemoryEXT>(GetDeviceProcAddr(device, "vkCmdCopyMicromapToMemoryEXT")); |
| CmdCopyMemoryToMicromapEXT = reinterpret_cast<PFN_vkCmdCopyMemoryToMicromapEXT>(GetDeviceProcAddr(device, "vkCmdCopyMemoryToMicromapEXT")); |
| CmdWriteMicromapsPropertiesEXT = reinterpret_cast<PFN_vkCmdWriteMicromapsPropertiesEXT>(GetDeviceProcAddr(device, "vkCmdWriteMicromapsPropertiesEXT")); |
| GetDeviceMicromapCompatibilityEXT = reinterpret_cast<PFN_vkGetDeviceMicromapCompatibilityEXT>(GetDeviceProcAddr(device, "vkGetDeviceMicromapCompatibilityEXT")); |
| GetMicromapBuildSizesEXT = reinterpret_cast<PFN_vkGetMicromapBuildSizesEXT>(GetDeviceProcAddr(device, "vkGetMicromapBuildSizesEXT")); |
| } |
| }, |
| { |
| "VK_EXT_pageable_device_local_memory", [](VkInstance, VkDevice device) { |
| SetDeviceMemoryPriorityEXT = reinterpret_cast<PFN_vkSetDeviceMemoryPriorityEXT>(GetDeviceProcAddr(device, "vkSetDeviceMemoryPriorityEXT")); |
| } |
| }, |
| { |
| "VK_EXT_pipeline_properties", [](VkInstance, VkDevice device) { |
| GetPipelinePropertiesEXT = reinterpret_cast<PFN_vkGetPipelinePropertiesEXT>(GetDeviceProcAddr(device, "vkGetPipelinePropertiesEXT")); |
| } |
| }, |
| { |
| "VK_EXT_private_data", [](VkInstance, VkDevice device) { |
| CreatePrivateDataSlotEXT = reinterpret_cast<PFN_vkCreatePrivateDataSlotEXT>(GetDeviceProcAddr(device, "vkCreatePrivateDataSlotEXT")); |
| DestroyPrivateDataSlotEXT = reinterpret_cast<PFN_vkDestroyPrivateDataSlotEXT>(GetDeviceProcAddr(device, "vkDestroyPrivateDataSlotEXT")); |
| SetPrivateDataEXT = reinterpret_cast<PFN_vkSetPrivateDataEXT>(GetDeviceProcAddr(device, "vkSetPrivateDataEXT")); |
| GetPrivateDataEXT = reinterpret_cast<PFN_vkGetPrivateDataEXT>(GetDeviceProcAddr(device, "vkGetPrivateDataEXT")); |
| } |
| }, |
| { |
| "VK_EXT_sample_locations", [](VkInstance instance, VkDevice device) { |
| CmdSetSampleLocationsEXT = reinterpret_cast<PFN_vkCmdSetSampleLocationsEXT>(GetDeviceProcAddr(device, "vkCmdSetSampleLocationsEXT")); |
| GetPhysicalDeviceMultisamplePropertiesEXT = reinterpret_cast<PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceMultisamplePropertiesEXT")); |
| } |
| }, |
| { |
| "VK_EXT_shader_module_identifier", [](VkInstance, VkDevice device) { |
| GetShaderModuleIdentifierEXT = reinterpret_cast<PFN_vkGetShaderModuleIdentifierEXT>(GetDeviceProcAddr(device, "vkGetShaderModuleIdentifierEXT")); |
| GetShaderModuleCreateInfoIdentifierEXT = reinterpret_cast<PFN_vkGetShaderModuleCreateInfoIdentifierEXT>(GetDeviceProcAddr(device, "vkGetShaderModuleCreateInfoIdentifierEXT")); |
| } |
| }, |
| { |
| "VK_EXT_shader_object", [](VkInstance, VkDevice device) { |
| CreateShadersEXT = reinterpret_cast<PFN_vkCreateShadersEXT>(GetDeviceProcAddr(device, "vkCreateShadersEXT")); |
| DestroyShaderEXT = reinterpret_cast<PFN_vkDestroyShaderEXT>(GetDeviceProcAddr(device, "vkDestroyShaderEXT")); |
| GetShaderBinaryDataEXT = reinterpret_cast<PFN_vkGetShaderBinaryDataEXT>(GetDeviceProcAddr(device, "vkGetShaderBinaryDataEXT")); |
| CmdBindShadersEXT = reinterpret_cast<PFN_vkCmdBindShadersEXT>(GetDeviceProcAddr(device, "vkCmdBindShadersEXT")); |
| } |
| }, |
| { |
| "VK_EXT_swapchain_maintenance1", [](VkInstance, VkDevice device) { |
| ReleaseSwapchainImagesEXT = reinterpret_cast<PFN_vkReleaseSwapchainImagesEXT>(GetDeviceProcAddr(device, "vkReleaseSwapchainImagesEXT")); |
| } |
| }, |
| { |
| "VK_EXT_tooling_info", [](VkInstance instance, VkDevice) { |
| GetPhysicalDeviceToolPropertiesEXT = reinterpret_cast<PFN_vkGetPhysicalDeviceToolPropertiesEXT>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceToolPropertiesEXT")); |
| } |
| }, |
| { |
| "VK_EXT_transform_feedback", [](VkInstance, VkDevice device) { |
| CmdBindTransformFeedbackBuffersEXT = reinterpret_cast<PFN_vkCmdBindTransformFeedbackBuffersEXT>(GetDeviceProcAddr(device, "vkCmdBindTransformFeedbackBuffersEXT")); |
| CmdBeginTransformFeedbackEXT = reinterpret_cast<PFN_vkCmdBeginTransformFeedbackEXT>(GetDeviceProcAddr(device, "vkCmdBeginTransformFeedbackEXT")); |
| CmdEndTransformFeedbackEXT = reinterpret_cast<PFN_vkCmdEndTransformFeedbackEXT>(GetDeviceProcAddr(device, "vkCmdEndTransformFeedbackEXT")); |
| CmdBeginQueryIndexedEXT = reinterpret_cast<PFN_vkCmdBeginQueryIndexedEXT>(GetDeviceProcAddr(device, "vkCmdBeginQueryIndexedEXT")); |
| CmdEndQueryIndexedEXT = reinterpret_cast<PFN_vkCmdEndQueryIndexedEXT>(GetDeviceProcAddr(device, "vkCmdEndQueryIndexedEXT")); |
| CmdDrawIndirectByteCountEXT = reinterpret_cast<PFN_vkCmdDrawIndirectByteCountEXT>(GetDeviceProcAddr(device, "vkCmdDrawIndirectByteCountEXT")); |
| } |
| }, |
| { |
| "VK_EXT_validation_cache", [](VkInstance, VkDevice device) { |
| CreateValidationCacheEXT = reinterpret_cast<PFN_vkCreateValidationCacheEXT>(GetDeviceProcAddr(device, "vkCreateValidationCacheEXT")); |
| DestroyValidationCacheEXT = reinterpret_cast<PFN_vkDestroyValidationCacheEXT>(GetDeviceProcAddr(device, "vkDestroyValidationCacheEXT")); |
| MergeValidationCachesEXT = reinterpret_cast<PFN_vkMergeValidationCachesEXT>(GetDeviceProcAddr(device, "vkMergeValidationCachesEXT")); |
| GetValidationCacheDataEXT = reinterpret_cast<PFN_vkGetValidationCacheDataEXT>(GetDeviceProcAddr(device, "vkGetValidationCacheDataEXT")); |
| } |
| }, |
| { |
| "VK_EXT_vertex_input_dynamic_state", [](VkInstance, VkDevice device) { |
| CmdSetVertexInputEXT = reinterpret_cast<PFN_vkCmdSetVertexInputEXT>(GetDeviceProcAddr(device, "vkCmdSetVertexInputEXT")); |
| } |
| }, |
| #ifdef VK_USE_PLATFORM_FUCHSIA |
| { |
| "VK_FUCHSIA_buffer_collection", [](VkInstance, VkDevice device) { |
| CreateBufferCollectionFUCHSIA = reinterpret_cast<PFN_vkCreateBufferCollectionFUCHSIA>(GetDeviceProcAddr(device, "vkCreateBufferCollectionFUCHSIA")); |
| SetBufferCollectionImageConstraintsFUCHSIA = reinterpret_cast<PFN_vkSetBufferCollectionImageConstraintsFUCHSIA>(GetDeviceProcAddr(device, "vkSetBufferCollectionImageConstraintsFUCHSIA")); |
| SetBufferCollectionBufferConstraintsFUCHSIA = reinterpret_cast<PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA>(GetDeviceProcAddr(device, "vkSetBufferCollectionBufferConstraintsFUCHSIA")); |
| DestroyBufferCollectionFUCHSIA = reinterpret_cast<PFN_vkDestroyBufferCollectionFUCHSIA>(GetDeviceProcAddr(device, "vkDestroyBufferCollectionFUCHSIA")); |
| GetBufferCollectionPropertiesFUCHSIA = reinterpret_cast<PFN_vkGetBufferCollectionPropertiesFUCHSIA>(GetDeviceProcAddr(device, "vkGetBufferCollectionPropertiesFUCHSIA")); |
| } |
| }, |
| #endif // VK_USE_PLATFORM_FUCHSIA |
| #ifdef VK_USE_PLATFORM_FUCHSIA |
| { |
| "VK_FUCHSIA_external_memory", [](VkInstance, VkDevice device) { |
| GetMemoryZirconHandleFUCHSIA = reinterpret_cast<PFN_vkGetMemoryZirconHandleFUCHSIA>(GetDeviceProcAddr(device, "vkGetMemoryZirconHandleFUCHSIA")); |
| GetMemoryZirconHandlePropertiesFUCHSIA = reinterpret_cast<PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA>(GetDeviceProcAddr(device, "vkGetMemoryZirconHandlePropertiesFUCHSIA")); |
| } |
| }, |
| #endif // VK_USE_PLATFORM_FUCHSIA |
| #ifdef VK_USE_PLATFORM_FUCHSIA |
| { |
| "VK_FUCHSIA_external_semaphore", [](VkInstance, VkDevice device) { |
| ImportSemaphoreZirconHandleFUCHSIA = reinterpret_cast<PFN_vkImportSemaphoreZirconHandleFUCHSIA>(GetDeviceProcAddr(device, "vkImportSemaphoreZirconHandleFUCHSIA")); |
| GetSemaphoreZirconHandleFUCHSIA = reinterpret_cast<PFN_vkGetSemaphoreZirconHandleFUCHSIA>(GetDeviceProcAddr(device, "vkGetSemaphoreZirconHandleFUCHSIA")); |
| } |
| }, |
| #endif // VK_USE_PLATFORM_FUCHSIA |
| { |
| "VK_GOOGLE_display_timing", [](VkInstance, VkDevice device) { |
| GetRefreshCycleDurationGOOGLE = reinterpret_cast<PFN_vkGetRefreshCycleDurationGOOGLE>(GetDeviceProcAddr(device, "vkGetRefreshCycleDurationGOOGLE")); |
| GetPastPresentationTimingGOOGLE = reinterpret_cast<PFN_vkGetPastPresentationTimingGOOGLE>(GetDeviceProcAddr(device, "vkGetPastPresentationTimingGOOGLE")); |
| } |
| }, |
| { |
| "VK_HUAWEI_cluster_culling_shader", [](VkInstance, VkDevice device) { |
| CmdDrawClusterHUAWEI = reinterpret_cast<PFN_vkCmdDrawClusterHUAWEI>(GetDeviceProcAddr(device, "vkCmdDrawClusterHUAWEI")); |
| CmdDrawClusterIndirectHUAWEI = reinterpret_cast<PFN_vkCmdDrawClusterIndirectHUAWEI>(GetDeviceProcAddr(device, "vkCmdDrawClusterIndirectHUAWEI")); |
| } |
| }, |
| { |
| "VK_HUAWEI_invocation_mask", [](VkInstance, VkDevice device) { |
| CmdBindInvocationMaskHUAWEI = reinterpret_cast<PFN_vkCmdBindInvocationMaskHUAWEI>(GetDeviceProcAddr(device, "vkCmdBindInvocationMaskHUAWEI")); |
| } |
| }, |
| { |
| "VK_HUAWEI_subpass_shading", [](VkInstance, VkDevice device) { |
| GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = reinterpret_cast<PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI>(GetDeviceProcAddr(device, "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI")); |
| CmdSubpassShadingHUAWEI = reinterpret_cast<PFN_vkCmdSubpassShadingHUAWEI>(GetDeviceProcAddr(device, "vkCmdSubpassShadingHUAWEI")); |
| } |
| }, |
| { |
| "VK_INTEL_performance_query", [](VkInstance, VkDevice device) { |
| InitializePerformanceApiINTEL = reinterpret_cast<PFN_vkInitializePerformanceApiINTEL>(GetDeviceProcAddr(device, "vkInitializePerformanceApiINTEL")); |
| UninitializePerformanceApiINTEL = reinterpret_cast<PFN_vkUninitializePerformanceApiINTEL>(GetDeviceProcAddr(device, "vkUninitializePerformanceApiINTEL")); |
| CmdSetPerformanceMarkerINTEL = reinterpret_cast<PFN_vkCmdSetPerformanceMarkerINTEL>(GetDeviceProcAddr(device, "vkCmdSetPerformanceMarkerINTEL")); |
| CmdSetPerformanceStreamMarkerINTEL = reinterpret_cast<PFN_vkCmdSetPerformanceStreamMarkerINTEL>(GetDeviceProcAddr(device, "vkCmdSetPerformanceStreamMarkerINTEL")); |
| CmdSetPerformanceOverrideINTEL = reinterpret_cast<PFN_vkCmdSetPerformanceOverrideINTEL>(GetDeviceProcAddr(device, "vkCmdSetPerformanceOverrideINTEL")); |
| AcquirePerformanceConfigurationINTEL = reinterpret_cast<PFN_vkAcquirePerformanceConfigurationINTEL>(GetDeviceProcAddr(device, "vkAcquirePerformanceConfigurationINTEL")); |
| ReleasePerformanceConfigurationINTEL = reinterpret_cast<PFN_vkReleasePerformanceConfigurationINTEL>(GetDeviceProcAddr(device, "vkReleasePerformanceConfigurationINTEL")); |
| QueueSetPerformanceConfigurationINTEL = reinterpret_cast<PFN_vkQueueSetPerformanceConfigurationINTEL>(GetDeviceProcAddr(device, "vkQueueSetPerformanceConfigurationINTEL")); |
| GetPerformanceParameterINTEL = reinterpret_cast<PFN_vkGetPerformanceParameterINTEL>(GetDeviceProcAddr(device, "vkGetPerformanceParameterINTEL")); |
| } |
| }, |
| { |
| "VK_KHR_acceleration_structure", [](VkInstance, VkDevice device) { |
| CreateAccelerationStructureKHR = reinterpret_cast<PFN_vkCreateAccelerationStructureKHR>(GetDeviceProcAddr(device, "vkCreateAccelerationStructureKHR")); |
| DestroyAccelerationStructureKHR = reinterpret_cast<PFN_vkDestroyAccelerationStructureKHR>(GetDeviceProcAddr(device, "vkDestroyAccelerationStructureKHR")); |
| CmdBuildAccelerationStructuresKHR = reinterpret_cast<PFN_vkCmdBuildAccelerationStructuresKHR>(GetDeviceProcAddr(device, "vkCmdBuildAccelerationStructuresKHR")); |
| CmdBuildAccelerationStructuresIndirectKHR = reinterpret_cast<PFN_vkCmdBuildAccelerationStructuresIndirectKHR>(GetDeviceProcAddr(device, "vkCmdBuildAccelerationStructuresIndirectKHR")); |
| BuildAccelerationStructuresKHR = reinterpret_cast<PFN_vkBuildAccelerationStructuresKHR>(GetDeviceProcAddr(device, "vkBuildAccelerationStructuresKHR")); |
| CopyAccelerationStructureKHR = reinterpret_cast<PFN_vkCopyAccelerationStructureKHR>(GetDeviceProcAddr(device, "vkCopyAccelerationStructureKHR")); |
| CopyAccelerationStructureToMemoryKHR = reinterpret_cast<PFN_vkCopyAccelerationStructureToMemoryKHR>(GetDeviceProcAddr(device, "vkCopyAccelerationStructureToMemoryKHR")); |
| CopyMemoryToAccelerationStructureKHR = reinterpret_cast<PFN_vkCopyMemoryToAccelerationStructureKHR>(GetDeviceProcAddr(device, "vkCopyMemoryToAccelerationStructureKHR")); |
| WriteAccelerationStructuresPropertiesKHR = reinterpret_cast<PFN_vkWriteAccelerationStructuresPropertiesKHR>(GetDeviceProcAddr(device, "vkWriteAccelerationStructuresPropertiesKHR")); |
| CmdCopyAccelerationStructureKHR = reinterpret_cast<PFN_vkCmdCopyAccelerationStructureKHR>(GetDeviceProcAddr(device, "vkCmdCopyAccelerationStructureKHR")); |
| CmdCopyAccelerationStructureToMemoryKHR = reinterpret_cast<PFN_vkCmdCopyAccelerationStructureToMemoryKHR>(GetDeviceProcAddr(device, "vkCmdCopyAccelerationStructureToMemoryKHR")); |
| CmdCopyMemoryToAccelerationStructureKHR = reinterpret_cast<PFN_vkCmdCopyMemoryToAccelerationStructureKHR>(GetDeviceProcAddr(device, "vkCmdCopyMemoryToAccelerationStructureKHR")); |
| GetAccelerationStructureDeviceAddressKHR = reinterpret_cast<PFN_vkGetAccelerationStructureDeviceAddressKHR>(GetDeviceProcAddr(device, "vkGetAccelerationStructureDeviceAddressKHR")); |
| CmdWriteAccelerationStructuresPropertiesKHR = reinterpret_cast<PFN_vkCmdWriteAccelerationStructuresPropertiesKHR>(GetDeviceProcAddr(device, "vkCmdWriteAccelerationStructuresPropertiesKHR")); |
| GetDeviceAccelerationStructureCompatibilityKHR = reinterpret_cast<PFN_vkGetDeviceAccelerationStructureCompatibilityKHR>(GetDeviceProcAddr(device, "vkGetDeviceAccelerationStructureCompatibilityKHR")); |
| GetAccelerationStructureBuildSizesKHR = reinterpret_cast<PFN_vkGetAccelerationStructureBuildSizesKHR>(GetDeviceProcAddr(device, "vkGetAccelerationStructureBuildSizesKHR")); |
| } |
| }, |
| { |
| "VK_KHR_bind_memory2", [](VkInstance, VkDevice device) { |
| BindBufferMemory2KHR = reinterpret_cast<PFN_vkBindBufferMemory2KHR>(GetDeviceProcAddr(device, "vkBindBufferMemory2KHR")); |
| BindImageMemory2KHR = reinterpret_cast<PFN_vkBindImageMemory2KHR>(GetDeviceProcAddr(device, "vkBindImageMemory2KHR")); |
| } |
| }, |
| { |
| "VK_KHR_buffer_device_address", [](VkInstance, VkDevice device) { |
| GetBufferDeviceAddressKHR = reinterpret_cast<PFN_vkGetBufferDeviceAddressKHR>(GetDeviceProcAddr(device, "vkGetBufferDeviceAddressKHR")); |
| GetBufferOpaqueCaptureAddressKHR = reinterpret_cast<PFN_vkGetBufferOpaqueCaptureAddressKHR>(GetDeviceProcAddr(device, "vkGetBufferOpaqueCaptureAddressKHR")); |
| GetDeviceMemoryOpaqueCaptureAddressKHR = reinterpret_cast<PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR>(GetDeviceProcAddr(device, "vkGetDeviceMemoryOpaqueCaptureAddressKHR")); |
| } |
| }, |
| { |
| "VK_KHR_copy_commands2", [](VkInstance, VkDevice device) { |
| CmdCopyBuffer2KHR = reinterpret_cast<PFN_vkCmdCopyBuffer2KHR>(GetDeviceProcAddr(device, "vkCmdCopyBuffer2KHR")); |
| CmdCopyImage2KHR = reinterpret_cast<PFN_vkCmdCopyImage2KHR>(GetDeviceProcAddr(device, "vkCmdCopyImage2KHR")); |
| CmdCopyBufferToImage2KHR = reinterpret_cast<PFN_vkCmdCopyBufferToImage2KHR>(GetDeviceProcAddr(device, "vkCmdCopyBufferToImage2KHR")); |
| CmdCopyImageToBuffer2KHR = reinterpret_cast<PFN_vkCmdCopyImageToBuffer2KHR>(GetDeviceProcAddr(device, "vkCmdCopyImageToBuffer2KHR")); |
| CmdBlitImage2KHR = reinterpret_cast<PFN_vkCmdBlitImage2KHR>(GetDeviceProcAddr(device, "vkCmdBlitImage2KHR")); |
| CmdResolveImage2KHR = reinterpret_cast<PFN_vkCmdResolveImage2KHR>(GetDeviceProcAddr(device, "vkCmdResolveImage2KHR")); |
| } |
| }, |
| { |
| "VK_KHR_create_renderpass2", [](VkInstance, VkDevice device) { |
| CreateRenderPass2KHR = reinterpret_cast<PFN_vkCreateRenderPass2KHR>(GetDeviceProcAddr(device, "vkCreateRenderPass2KHR")); |
| CmdBeginRenderPass2KHR = reinterpret_cast<PFN_vkCmdBeginRenderPass2KHR>(GetDeviceProcAddr(device, "vkCmdBeginRenderPass2KHR")); |
| CmdNextSubpass2KHR = reinterpret_cast<PFN_vkCmdNextSubpass2KHR>(GetDeviceProcAddr(device, "vkCmdNextSubpass2KHR")); |
| CmdEndRenderPass2KHR = reinterpret_cast<PFN_vkCmdEndRenderPass2KHR>(GetDeviceProcAddr(device, "vkCmdEndRenderPass2KHR")); |
| } |
| }, |
| { |
| "VK_KHR_deferred_host_operations", [](VkInstance, VkDevice device) { |
| CreateDeferredOperationKHR = reinterpret_cast<PFN_vkCreateDeferredOperationKHR>(GetDeviceProcAddr(device, "vkCreateDeferredOperationKHR")); |
| DestroyDeferredOperationKHR = reinterpret_cast<PFN_vkDestroyDeferredOperationKHR>(GetDeviceProcAddr(device, "vkDestroyDeferredOperationKHR")); |
| GetDeferredOperationMaxConcurrencyKHR = reinterpret_cast<PFN_vkGetDeferredOperationMaxConcurrencyKHR>(GetDeviceProcAddr(device, "vkGetDeferredOperationMaxConcurrencyKHR")); |
| GetDeferredOperationResultKHR = reinterpret_cast<PFN_vkGetDeferredOperationResultKHR>(GetDeviceProcAddr(device, "vkGetDeferredOperationResultKHR")); |
| DeferredOperationJoinKHR = reinterpret_cast<PFN_vkDeferredOperationJoinKHR>(GetDeviceProcAddr(device, "vkDeferredOperationJoinKHR")); |
| } |
| }, |
| { |
| "VK_KHR_descriptor_update_template", [](VkInstance, VkDevice device) { |
| CreateDescriptorUpdateTemplateKHR = reinterpret_cast<PFN_vkCreateDescriptorUpdateTemplateKHR>(GetDeviceProcAddr(device, "vkCreateDescriptorUpdateTemplateKHR")); |
| DestroyDescriptorUpdateTemplateKHR = reinterpret_cast<PFN_vkDestroyDescriptorUpdateTemplateKHR>(GetDeviceProcAddr(device, "vkDestroyDescriptorUpdateTemplateKHR")); |
| UpdateDescriptorSetWithTemplateKHR = reinterpret_cast<PFN_vkUpdateDescriptorSetWithTemplateKHR>(GetDeviceProcAddr(device, "vkUpdateDescriptorSetWithTemplateKHR")); |
| } |
| }, |
| { |
| "VK_KHR_device_group", [](VkInstance, VkDevice device) { |
| GetDeviceGroupPeerMemoryFeaturesKHR = reinterpret_cast<PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR>(GetDeviceProcAddr(device, "vkGetDeviceGroupPeerMemoryFeaturesKHR")); |
| CmdSetDeviceMaskKHR = reinterpret_cast<PFN_vkCmdSetDeviceMaskKHR>(GetDeviceProcAddr(device, "vkCmdSetDeviceMaskKHR")); |
| CmdDispatchBaseKHR = reinterpret_cast<PFN_vkCmdDispatchBaseKHR>(GetDeviceProcAddr(device, "vkCmdDispatchBaseKHR")); |
| } |
| }, |
| { |
| "VK_KHR_display_swapchain", [](VkInstance, VkDevice device) { |
| CreateSharedSwapchainsKHR = reinterpret_cast<PFN_vkCreateSharedSwapchainsKHR>(GetDeviceProcAddr(device, "vkCreateSharedSwapchainsKHR")); |
| } |
| }, |
| { |
| "VK_KHR_draw_indirect_count", [](VkInstance, VkDevice device) { |
| CmdDrawIndirectCountKHR = reinterpret_cast<PFN_vkCmdDrawIndirectCountKHR>(GetDeviceProcAddr(device, "vkCmdDrawIndirectCountKHR")); |
| CmdDrawIndexedIndirectCountKHR = reinterpret_cast<PFN_vkCmdDrawIndexedIndirectCountKHR>(GetDeviceProcAddr(device, "vkCmdDrawIndexedIndirectCountKHR")); |
| } |
| }, |
| { |
| "VK_KHR_dynamic_rendering", [](VkInstance, VkDevice device) { |
| CmdBeginRenderingKHR = reinterpret_cast<PFN_vkCmdBeginRenderingKHR>(GetDeviceProcAddr(device, "vkCmdBeginRenderingKHR")); |
| CmdEndRenderingKHR = reinterpret_cast<PFN_vkCmdEndRenderingKHR>(GetDeviceProcAddr(device, "vkCmdEndRenderingKHR")); |
| } |
| }, |
| { |
| "VK_KHR_external_fence_fd", [](VkInstance, VkDevice device) { |
| ImportFenceFdKHR = reinterpret_cast<PFN_vkImportFenceFdKHR>(GetDeviceProcAddr(device, "vkImportFenceFdKHR")); |
| GetFenceFdKHR = reinterpret_cast<PFN_vkGetFenceFdKHR>(GetDeviceProcAddr(device, "vkGetFenceFdKHR")); |
| } |
| }, |
| #ifdef VK_USE_PLATFORM_WIN32_KHR |
| { |
| "VK_KHR_external_fence_win32", [](VkInstance, VkDevice device) { |
| ImportFenceWin32HandleKHR = reinterpret_cast<PFN_vkImportFenceWin32HandleKHR>(GetDeviceProcAddr(device, "vkImportFenceWin32HandleKHR")); |
| GetFenceWin32HandleKHR = reinterpret_cast<PFN_vkGetFenceWin32HandleKHR>(GetDeviceProcAddr(device, "vkGetFenceWin32HandleKHR")); |
| } |
| }, |
| #endif // VK_USE_PLATFORM_WIN32_KHR |
| { |
| "VK_KHR_external_memory_fd", [](VkInstance, VkDevice device) { |
| GetMemoryFdKHR = reinterpret_cast<PFN_vkGetMemoryFdKHR>(GetDeviceProcAddr(device, "vkGetMemoryFdKHR")); |
| GetMemoryFdPropertiesKHR = reinterpret_cast<PFN_vkGetMemoryFdPropertiesKHR>(GetDeviceProcAddr(device, "vkGetMemoryFdPropertiesKHR")); |
| } |
| }, |
| #ifdef VK_USE_PLATFORM_WIN32_KHR |
| { |
| "VK_KHR_external_memory_win32", [](VkInstance, VkDevice device) { |
| GetMemoryWin32HandleKHR = reinterpret_cast<PFN_vkGetMemoryWin32HandleKHR>(GetDeviceProcAddr(device, "vkGetMemoryWin32HandleKHR")); |
| GetMemoryWin32HandlePropertiesKHR = reinterpret_cast<PFN_vkGetMemoryWin32HandlePropertiesKHR>(GetDeviceProcAddr(device, "vkGetMemoryWin32HandlePropertiesKHR")); |
| } |
| }, |
| #endif // VK_USE_PLATFORM_WIN32_KHR |
| { |
| "VK_KHR_external_semaphore_fd", [](VkInstance, VkDevice device) { |
| ImportSemaphoreFdKHR = reinterpret_cast<PFN_vkImportSemaphoreFdKHR>(GetDeviceProcAddr(device, "vkImportSemaphoreFdKHR")); |
| GetSemaphoreFdKHR = reinterpret_cast<PFN_vkGetSemaphoreFdKHR>(GetDeviceProcAddr(device, "vkGetSemaphoreFdKHR")); |
| } |
| }, |
| #ifdef VK_USE_PLATFORM_WIN32_KHR |
| { |
| "VK_KHR_external_semaphore_win32", [](VkInstance, VkDevice device) { |
| ImportSemaphoreWin32HandleKHR = reinterpret_cast<PFN_vkImportSemaphoreWin32HandleKHR>(GetDeviceProcAddr(device, "vkImportSemaphoreWin32HandleKHR")); |
| GetSemaphoreWin32HandleKHR = reinterpret_cast<PFN_vkGetSemaphoreWin32HandleKHR>(GetDeviceProcAddr(device, "vkGetSemaphoreWin32HandleKHR")); |
| } |
| }, |
| #endif // VK_USE_PLATFORM_WIN32_KHR |
| { |
| "VK_KHR_fragment_shading_rate", [](VkInstance instance, VkDevice device) { |
| GetPhysicalDeviceFragmentShadingRatesKHR = reinterpret_cast<PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceFragmentShadingRatesKHR")); |
| CmdSetFragmentShadingRateKHR = reinterpret_cast<PFN_vkCmdSetFragmentShadingRateKHR>(GetDeviceProcAddr(device, "vkCmdSetFragmentShadingRateKHR")); |
| } |
| }, |
| { |
| "VK_KHR_get_memory_requirements2", [](VkInstance, VkDevice device) { |
| GetImageMemoryRequirements2KHR = reinterpret_cast<PFN_vkGetImageMemoryRequirements2KHR>(GetDeviceProcAddr(device, "vkGetImageMemoryRequirements2KHR")); |
| GetBufferMemoryRequirements2KHR = reinterpret_cast<PFN_vkGetBufferMemoryRequirements2KHR>(GetDeviceProcAddr(device, "vkGetBufferMemoryRequirements2KHR")); |
| GetImageSparseMemoryRequirements2KHR = reinterpret_cast<PFN_vkGetImageSparseMemoryRequirements2KHR>(GetDeviceProcAddr(device, "vkGetImageSparseMemoryRequirements2KHR")); |
| } |
| }, |
| { |
| "VK_KHR_maintenance1", [](VkInstance, VkDevice device) { |
| TrimCommandPoolKHR = reinterpret_cast<PFN_vkTrimCommandPoolKHR>(GetDeviceProcAddr(device, "vkTrimCommandPoolKHR")); |
| } |
| }, |
| { |
| "VK_KHR_maintenance3", [](VkInstance, VkDevice device) { |
| GetDescriptorSetLayoutSupportKHR = reinterpret_cast<PFN_vkGetDescriptorSetLayoutSupportKHR>(GetDeviceProcAddr(device, "vkGetDescriptorSetLayoutSupportKHR")); |
| } |
| }, |
| { |
| "VK_KHR_maintenance4", [](VkInstance, VkDevice device) { |
| GetDeviceBufferMemoryRequirementsKHR = reinterpret_cast<PFN_vkGetDeviceBufferMemoryRequirementsKHR>(GetDeviceProcAddr(device, "vkGetDeviceBufferMemoryRequirementsKHR")); |
| GetDeviceImageMemoryRequirementsKHR = reinterpret_cast<PFN_vkGetDeviceImageMemoryRequirementsKHR>(GetDeviceProcAddr(device, "vkGetDeviceImageMemoryRequirementsKHR")); |
| GetDeviceImageSparseMemoryRequirementsKHR = reinterpret_cast<PFN_vkGetDeviceImageSparseMemoryRequirementsKHR>(GetDeviceProcAddr(device, "vkGetDeviceImageSparseMemoryRequirementsKHR")); |
| } |
| }, |
| { |
| "VK_KHR_map_memory2", [](VkInstance, VkDevice device) { |
| MapMemory2KHR = reinterpret_cast<PFN_vkMapMemory2KHR>(GetDeviceProcAddr(device, "vkMapMemory2KHR")); |
| UnmapMemory2KHR = reinterpret_cast<PFN_vkUnmapMemory2KHR>(GetDeviceProcAddr(device, "vkUnmapMemory2KHR")); |
| } |
| }, |
| { |
| "VK_KHR_performance_query", [](VkInstance instance, VkDevice device) { |
| EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = reinterpret_cast<PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR>(GetInstanceProcAddr(instance, "vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR")); |
| GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR = reinterpret_cast<PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR")); |
| AcquireProfilingLockKHR = reinterpret_cast<PFN_vkAcquireProfilingLockKHR>(GetDeviceProcAddr(device, "vkAcquireProfilingLockKHR")); |
| ReleaseProfilingLockKHR = reinterpret_cast<PFN_vkReleaseProfilingLockKHR>(GetDeviceProcAddr(device, "vkReleaseProfilingLockKHR")); |
| } |
| }, |
| { |
| "VK_KHR_pipeline_executable_properties", [](VkInstance, VkDevice device) { |
| GetPipelineExecutablePropertiesKHR = reinterpret_cast<PFN_vkGetPipelineExecutablePropertiesKHR>(GetDeviceProcAddr(device, "vkGetPipelineExecutablePropertiesKHR")); |
| GetPipelineExecutableStatisticsKHR = reinterpret_cast<PFN_vkGetPipelineExecutableStatisticsKHR>(GetDeviceProcAddr(device, "vkGetPipelineExecutableStatisticsKHR")); |
| GetPipelineExecutableInternalRepresentationsKHR = reinterpret_cast<PFN_vkGetPipelineExecutableInternalRepresentationsKHR>(GetDeviceProcAddr(device, "vkGetPipelineExecutableInternalRepresentationsKHR")); |
| } |
| }, |
| { |
| "VK_KHR_present_wait", [](VkInstance, VkDevice device) { |
| WaitForPresentKHR = reinterpret_cast<PFN_vkWaitForPresentKHR>(GetDeviceProcAddr(device, "vkWaitForPresentKHR")); |
| } |
| }, |
| { |
| "VK_KHR_push_descriptor", [](VkInstance, VkDevice device) { |
| CmdPushDescriptorSetKHR = reinterpret_cast<PFN_vkCmdPushDescriptorSetKHR>(GetDeviceProcAddr(device, "vkCmdPushDescriptorSetKHR")); |
| CmdPushDescriptorSetWithTemplateKHR = reinterpret_cast<PFN_vkCmdPushDescriptorSetWithTemplateKHR>(GetDeviceProcAddr(device, "vkCmdPushDescriptorSetWithTemplateKHR")); |
| } |
| }, |
| { |
| "VK_KHR_ray_tracing_maintenance1", [](VkInstance, VkDevice device) { |
| CmdTraceRaysIndirect2KHR = reinterpret_cast<PFN_vkCmdTraceRaysIndirect2KHR>(GetDeviceProcAddr(device, "vkCmdTraceRaysIndirect2KHR")); |
| } |
| }, |
| { |
| "VK_KHR_ray_tracing_pipeline", [](VkInstance, VkDevice device) { |
| CmdTraceRaysKHR = reinterpret_cast<PFN_vkCmdTraceRaysKHR>(GetDeviceProcAddr(device, "vkCmdTraceRaysKHR")); |
| CreateRayTracingPipelinesKHR = reinterpret_cast<PFN_vkCreateRayTracingPipelinesKHR>(GetDeviceProcAddr(device, "vkCreateRayTracingPipelinesKHR")); |
| GetRayTracingCaptureReplayShaderGroupHandlesKHR = reinterpret_cast<PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR>(GetDeviceProcAddr(device, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR")); |
| CmdTraceRaysIndirectKHR = reinterpret_cast<PFN_vkCmdTraceRaysIndirectKHR>(GetDeviceProcAddr(device, "vkCmdTraceRaysIndirectKHR")); |
| GetRayTracingShaderGroupStackSizeKHR = reinterpret_cast<PFN_vkGetRayTracingShaderGroupStackSizeKHR>(GetDeviceProcAddr(device, "vkGetRayTracingShaderGroupStackSizeKHR")); |
| CmdSetRayTracingPipelineStackSizeKHR = reinterpret_cast<PFN_vkCmdSetRayTracingPipelineStackSizeKHR>(GetDeviceProcAddr(device, "vkCmdSetRayTracingPipelineStackSizeKHR")); |
| } |
| }, |
| { |
| "VK_KHR_sampler_ycbcr_conversion", [](VkInstance, VkDevice device) { |
| CreateSamplerYcbcrConversionKHR = reinterpret_cast<PFN_vkCreateSamplerYcbcrConversionKHR>(GetDeviceProcAddr(device, "vkCreateSamplerYcbcrConversionKHR")); |
| DestroySamplerYcbcrConversionKHR = reinterpret_cast<PFN_vkDestroySamplerYcbcrConversionKHR>(GetDeviceProcAddr(device, "vkDestroySamplerYcbcrConversionKHR")); |
| } |
| }, |
| { |
| "VK_KHR_shared_presentable_image", [](VkInstance, VkDevice device) { |
| GetSwapchainStatusKHR = reinterpret_cast<PFN_vkGetSwapchainStatusKHR>(GetDeviceProcAddr(device, "vkGetSwapchainStatusKHR")); |
| } |
| }, |
| { |
| "VK_KHR_swapchain", [](VkInstance instance, VkDevice device) { |
| CreateSwapchainKHR = reinterpret_cast<PFN_vkCreateSwapchainKHR>(GetDeviceProcAddr(device, "vkCreateSwapchainKHR")); |
| DestroySwapchainKHR = reinterpret_cast<PFN_vkDestroySwapchainKHR>(GetDeviceProcAddr(device, "vkDestroySwapchainKHR")); |
| GetSwapchainImagesKHR = reinterpret_cast<PFN_vkGetSwapchainImagesKHR>(GetDeviceProcAddr(device, "vkGetSwapchainImagesKHR")); |
| AcquireNextImageKHR = reinterpret_cast<PFN_vkAcquireNextImageKHR>(GetDeviceProcAddr(device, "vkAcquireNextImageKHR")); |
| QueuePresentKHR = reinterpret_cast<PFN_vkQueuePresentKHR>(GetDeviceProcAddr(device, "vkQueuePresentKHR")); |
| GetDeviceGroupPresentCapabilitiesKHR = reinterpret_cast<PFN_vkGetDeviceGroupPresentCapabilitiesKHR>(GetDeviceProcAddr(device, "vkGetDeviceGroupPresentCapabilitiesKHR")); |
| GetDeviceGroupSurfacePresentModesKHR = reinterpret_cast<PFN_vkGetDeviceGroupSurfacePresentModesKHR>(GetDeviceProcAddr(device, "vkGetDeviceGroupSurfacePresentModesKHR")); |
| GetPhysicalDevicePresentRectanglesKHR = reinterpret_cast<PFN_vkGetPhysicalDevicePresentRectanglesKHR>(GetInstanceProcAddr(instance, "vkGetPhysicalDevicePresentRectanglesKHR")); |
| AcquireNextImage2KHR = reinterpret_cast<PFN_vkAcquireNextImage2KHR>(GetDeviceProcAddr(device, "vkAcquireNextImage2KHR")); |
| } |
| }, |
| { |
| "VK_KHR_synchronization2", [](VkInstance, VkDevice device) { |
| CmdSetEvent2KHR = reinterpret_cast<PFN_vkCmdSetEvent2KHR>(GetDeviceProcAddr(device, "vkCmdSetEvent2KHR")); |
| CmdResetEvent2KHR = reinterpret_cast<PFN_vkCmdResetEvent2KHR>(GetDeviceProcAddr(device, "vkCmdResetEvent2KHR")); |
| CmdWaitEvents2KHR = reinterpret_cast<PFN_vkCmdWaitEvents2KHR>(GetDeviceProcAddr(device, "vkCmdWaitEvents2KHR")); |
| CmdPipelineBarrier2KHR = reinterpret_cast<PFN_vkCmdPipelineBarrier2KHR>(GetDeviceProcAddr(device, "vkCmdPipelineBarrier2KHR")); |
| CmdWriteTimestamp2KHR = reinterpret_cast<PFN_vkCmdWriteTimestamp2KHR>(GetDeviceProcAddr(device, "vkCmdWriteTimestamp2KHR")); |
| QueueSubmit2KHR = reinterpret_cast<PFN_vkQueueSubmit2KHR>(GetDeviceProcAddr(device, "vkQueueSubmit2KHR")); |
| CmdWriteBufferMarker2AMD = reinterpret_cast<PFN_vkCmdWriteBufferMarker2AMD>(GetDeviceProcAddr(device, "vkCmdWriteBufferMarker2AMD")); |
| GetQueueCheckpointData2NV = reinterpret_cast<PFN_vkGetQueueCheckpointData2NV>(GetDeviceProcAddr(device, "vkGetQueueCheckpointData2NV")); |
| } |
| }, |
| { |
| "VK_KHR_timeline_semaphore", [](VkInstance, VkDevice device) { |
| GetSemaphoreCounterValueKHR = reinterpret_cast<PFN_vkGetSemaphoreCounterValueKHR>(GetDeviceProcAddr(device, "vkGetSemaphoreCounterValueKHR")); |
| WaitSemaphoresKHR = reinterpret_cast<PFN_vkWaitSemaphoresKHR>(GetDeviceProcAddr(device, "vkWaitSemaphoresKHR")); |
| SignalSemaphoreKHR = reinterpret_cast<PFN_vkSignalSemaphoreKHR>(GetDeviceProcAddr(device, "vkSignalSemaphoreKHR")); |
| } |
| }, |
| { |
| "VK_KHR_video_decode_queue", [](VkInstance, VkDevice device) { |
| CmdDecodeVideoKHR = reinterpret_cast<PFN_vkCmdDecodeVideoKHR>(GetDeviceProcAddr(device, "vkCmdDecodeVideoKHR")); |
| } |
| }, |
| #ifdef VK_ENABLE_BETA_EXTENSIONS |
| { |
| "VK_KHR_video_encode_queue", [](VkInstance, VkDevice device) { |
| CmdEncodeVideoKHR = reinterpret_cast<PFN_vkCmdEncodeVideoKHR>(GetDeviceProcAddr(device, "vkCmdEncodeVideoKHR")); |
| } |
| }, |
| #endif // VK_ENABLE_BETA_EXTENSIONS |
| { |
| "VK_KHR_video_queue", [](VkInstance instance, VkDevice device) { |
| GetPhysicalDeviceVideoCapabilitiesKHR = reinterpret_cast<PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceVideoCapabilitiesKHR")); |
| GetPhysicalDeviceVideoFormatPropertiesKHR = reinterpret_cast<PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceVideoFormatPropertiesKHR")); |
| CreateVideoSessionKHR = reinterpret_cast<PFN_vkCreateVideoSessionKHR>(GetDeviceProcAddr(device, "vkCreateVideoSessionKHR")); |
| DestroyVideoSessionKHR = reinterpret_cast<PFN_vkDestroyVideoSessionKHR>(GetDeviceProcAddr(device, "vkDestroyVideoSessionKHR")); |
| GetVideoSessionMemoryRequirementsKHR = reinterpret_cast<PFN_vkGetVideoSessionMemoryRequirementsKHR>(GetDeviceProcAddr(device, "vkGetVideoSessionMemoryRequirementsKHR")); |
| BindVideoSessionMemoryKHR = reinterpret_cast<PFN_vkBindVideoSessionMemoryKHR>(GetDeviceProcAddr(device, "vkBindVideoSessionMemoryKHR")); |
| CreateVideoSessionParametersKHR = reinterpret_cast<PFN_vkCreateVideoSessionParametersKHR>(GetDeviceProcAddr(device, "vkCreateVideoSessionParametersKHR")); |
| UpdateVideoSessionParametersKHR = reinterpret_cast<PFN_vkUpdateVideoSessionParametersKHR>(GetDeviceProcAddr(device, "vkUpdateVideoSessionParametersKHR")); |
| DestroyVideoSessionParametersKHR = reinterpret_cast<PFN_vkDestroyVideoSessionParametersKHR>(GetDeviceProcAddr(device, "vkDestroyVideoSessionParametersKHR")); |
| CmdBeginVideoCodingKHR = reinterpret_cast<PFN_vkCmdBeginVideoCodingKHR>(GetDeviceProcAddr(device, "vkCmdBeginVideoCodingKHR")); |
| CmdEndVideoCodingKHR = reinterpret_cast<PFN_vkCmdEndVideoCodingKHR>(GetDeviceProcAddr(device, "vkCmdEndVideoCodingKHR")); |
| CmdControlVideoCodingKHR = reinterpret_cast<PFN_vkCmdControlVideoCodingKHR>(GetDeviceProcAddr(device, "vkCmdControlVideoCodingKHR")); |
| } |
| }, |
| { |
| "VK_NVX_binary_import", [](VkInstance, VkDevice device) { |
| CreateCuModuleNVX = reinterpret_cast<PFN_vkCreateCuModuleNVX>(GetDeviceProcAddr(device, "vkCreateCuModuleNVX")); |
| CreateCuFunctionNVX = reinterpret_cast<PFN_vkCreateCuFunctionNVX>(GetDeviceProcAddr(device, "vkCreateCuFunctionNVX")); |
| DestroyCuModuleNVX = reinterpret_cast<PFN_vkDestroyCuModuleNVX>(GetDeviceProcAddr(device, "vkDestroyCuModuleNVX")); |
| DestroyCuFunctionNVX = reinterpret_cast<PFN_vkDestroyCuFunctionNVX>(GetDeviceProcAddr(device, "vkDestroyCuFunctionNVX")); |
| CmdCuLaunchKernelNVX = reinterpret_cast<PFN_vkCmdCuLaunchKernelNVX>(GetDeviceProcAddr(device, "vkCmdCuLaunchKernelNVX")); |
| } |
| }, |
| { |
| "VK_NVX_image_view_handle", [](VkInstance, VkDevice device) { |
| GetImageViewHandleNVX = reinterpret_cast<PFN_vkGetImageViewHandleNVX>(GetDeviceProcAddr(device, "vkGetImageViewHandleNVX")); |
| GetImageViewAddressNVX = reinterpret_cast<PFN_vkGetImageViewAddressNVX>(GetDeviceProcAddr(device, "vkGetImageViewAddressNVX")); |
| } |
| }, |
| #ifdef VK_USE_PLATFORM_WIN32_KHR |
| { |
| "VK_NV_acquire_winrt_display", [](VkInstance instance, VkDevice) { |
| AcquireWinrtDisplayNV = reinterpret_cast<PFN_vkAcquireWinrtDisplayNV>(GetInstanceProcAddr(instance, "vkAcquireWinrtDisplayNV")); |
| GetWinrtDisplayNV = reinterpret_cast<PFN_vkGetWinrtDisplayNV>(GetInstanceProcAddr(instance, "vkGetWinrtDisplayNV")); |
| } |
| }, |
| #endif // VK_USE_PLATFORM_WIN32_KHR |
| { |
| "VK_NV_clip_space_w_scaling", [](VkInstance, VkDevice device) { |
| CmdSetViewportWScalingNV = reinterpret_cast<PFN_vkCmdSetViewportWScalingNV>(GetDeviceProcAddr(device, "vkCmdSetViewportWScalingNV")); |
| } |
| }, |
| { |
| "VK_NV_cooperative_matrix", [](VkInstance instance, VkDevice) { |
| GetPhysicalDeviceCooperativeMatrixPropertiesNV = reinterpret_cast<PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceCooperativeMatrixPropertiesNV")); |
| } |
| }, |
| { |
| "VK_NV_copy_memory_indirect", [](VkInstance, VkDevice device) { |
| CmdCopyMemoryIndirectNV = reinterpret_cast<PFN_vkCmdCopyMemoryIndirectNV>(GetDeviceProcAddr(device, "vkCmdCopyMemoryIndirectNV")); |
| CmdCopyMemoryToImageIndirectNV = reinterpret_cast<PFN_vkCmdCopyMemoryToImageIndirectNV>(GetDeviceProcAddr(device, "vkCmdCopyMemoryToImageIndirectNV")); |
| } |
| }, |
| { |
| "VK_NV_coverage_reduction_mode", [](VkInstance instance, VkDevice) { |
| GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV = reinterpret_cast<PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV")); |
| } |
| }, |
| { |
| "VK_NV_device_diagnostic_checkpoints", [](VkInstance, VkDevice device) { |
| CmdSetCheckpointNV = reinterpret_cast<PFN_vkCmdSetCheckpointNV>(GetDeviceProcAddr(device, "vkCmdSetCheckpointNV")); |
| GetQueueCheckpointDataNV = reinterpret_cast<PFN_vkGetQueueCheckpointDataNV>(GetDeviceProcAddr(device, "vkGetQueueCheckpointDataNV")); |
| } |
| }, |
| { |
| "VK_NV_device_generated_commands", [](VkInstance, VkDevice device) { |
| GetGeneratedCommandsMemoryRequirementsNV = reinterpret_cast<PFN_vkGetGeneratedCommandsMemoryRequirementsNV>(GetDeviceProcAddr(device, "vkGetGeneratedCommandsMemoryRequirementsNV")); |
| CmdPreprocessGeneratedCommandsNV = reinterpret_cast<PFN_vkCmdPreprocessGeneratedCommandsNV>(GetDeviceProcAddr(device, "vkCmdPreprocessGeneratedCommandsNV")); |
| CmdExecuteGeneratedCommandsNV = reinterpret_cast<PFN_vkCmdExecuteGeneratedCommandsNV>(GetDeviceProcAddr(device, "vkCmdExecuteGeneratedCommandsNV")); |
| CmdBindPipelineShaderGroupNV = reinterpret_cast<PFN_vkCmdBindPipelineShaderGroupNV>(GetDeviceProcAddr(device, "vkCmdBindPipelineShaderGroupNV")); |
| CreateIndirectCommandsLayoutNV = reinterpret_cast<PFN_vkCreateIndirectCommandsLayoutNV>(GetDeviceProcAddr(device, "vkCreateIndirectCommandsLayoutNV")); |
| DestroyIndirectCommandsLayoutNV = reinterpret_cast<PFN_vkDestroyIndirectCommandsLayoutNV>(GetDeviceProcAddr(device, "vkDestroyIndirectCommandsLayoutNV")); |
| } |
| }, |
| { |
| "VK_NV_external_memory_rdma", [](VkInstance, VkDevice device) { |
| GetMemoryRemoteAddressNV = reinterpret_cast<PFN_vkGetMemoryRemoteAddressNV>(GetDeviceProcAddr(device, "vkGetMemoryRemoteAddressNV")); |
| } |
| }, |
| #ifdef VK_USE_PLATFORM_WIN32_KHR |
| { |
| "VK_NV_external_memory_win32", [](VkInstance, VkDevice device) { |
| GetMemoryWin32HandleNV = reinterpret_cast<PFN_vkGetMemoryWin32HandleNV>(GetDeviceProcAddr(device, "vkGetMemoryWin32HandleNV")); |
| } |
| }, |
| #endif // VK_USE_PLATFORM_WIN32_KHR |
| { |
| "VK_NV_fragment_shading_rate_enums", [](VkInstance, VkDevice device) { |
| CmdSetFragmentShadingRateEnumNV = reinterpret_cast<PFN_vkCmdSetFragmentShadingRateEnumNV>(GetDeviceProcAddr(device, "vkCmdSetFragmentShadingRateEnumNV")); |
| } |
| }, |
| { |
| "VK_NV_memory_decompression", [](VkInstance, VkDevice device) { |
| CmdDecompressMemoryNV = reinterpret_cast<PFN_vkCmdDecompressMemoryNV>(GetDeviceProcAddr(device, "vkCmdDecompressMemoryNV")); |
| CmdDecompressMemoryIndirectCountNV = reinterpret_cast<PFN_vkCmdDecompressMemoryIndirectCountNV>(GetDeviceProcAddr(device, "vkCmdDecompressMemoryIndirectCountNV")); |
| } |
| }, |
| { |
| "VK_NV_mesh_shader", [](VkInstance, VkDevice device) { |
| CmdDrawMeshTasksNV = reinterpret_cast<PFN_vkCmdDrawMeshTasksNV>(GetDeviceProcAddr(device, "vkCmdDrawMeshTasksNV")); |
| CmdDrawMeshTasksIndirectNV = reinterpret_cast<PFN_vkCmdDrawMeshTasksIndirectNV>(GetDeviceProcAddr(device, "vkCmdDrawMeshTasksIndirectNV")); |
| CmdDrawMeshTasksIndirectCountNV = reinterpret_cast<PFN_vkCmdDrawMeshTasksIndirectCountNV>(GetDeviceProcAddr(device, "vkCmdDrawMeshTasksIndirectCountNV")); |
| } |
| }, |
| { |
| "VK_NV_optical_flow", [](VkInstance instance, VkDevice device) { |
| GetPhysicalDeviceOpticalFlowImageFormatsNV = reinterpret_cast<PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceOpticalFlowImageFormatsNV")); |
| CreateOpticalFlowSessionNV = reinterpret_cast<PFN_vkCreateOpticalFlowSessionNV>(GetDeviceProcAddr(device, "vkCreateOpticalFlowSessionNV")); |
| DestroyOpticalFlowSessionNV = reinterpret_cast<PFN_vkDestroyOpticalFlowSessionNV>(GetDeviceProcAddr(device, "vkDestroyOpticalFlowSessionNV")); |
| BindOpticalFlowSessionImageNV = reinterpret_cast<PFN_vkBindOpticalFlowSessionImageNV>(GetDeviceProcAddr(device, "vkBindOpticalFlowSessionImageNV")); |
| CmdOpticalFlowExecuteNV = reinterpret_cast<PFN_vkCmdOpticalFlowExecuteNV>(GetDeviceProcAddr(device, "vkCmdOpticalFlowExecuteNV")); |
| } |
| }, |
| { |
| "VK_NV_ray_tracing", [](VkInstance, VkDevice device) { |
| CreateAccelerationStructureNV = reinterpret_cast<PFN_vkCreateAccelerationStructureNV>(GetDeviceProcAddr(device, "vkCreateAccelerationStructureNV")); |
| DestroyAccelerationStructureNV = reinterpret_cast<PFN_vkDestroyAccelerationStructureNV>(GetDeviceProcAddr(device, "vkDestroyAccelerationStructureNV")); |
| GetAccelerationStructureMemoryRequirementsNV = reinterpret_cast<PFN_vkGetAccelerationStructureMemoryRequirementsNV>(GetDeviceProcAddr(device, "vkGetAccelerationStructureMemoryRequirementsNV")); |
| BindAccelerationStructureMemoryNV = reinterpret_cast<PFN_vkBindAccelerationStructureMemoryNV>(GetDeviceProcAddr(device, "vkBindAccelerationStructureMemoryNV")); |
| CmdBuildAccelerationStructureNV = reinterpret_cast<PFN_vkCmdBuildAccelerationStructureNV>(GetDeviceProcAddr(device, "vkCmdBuildAccelerationStructureNV")); |
| CmdCopyAccelerationStructureNV = reinterpret_cast<PFN_vkCmdCopyAccelerationStructureNV>(GetDeviceProcAddr(device, "vkCmdCopyAccelerationStructureNV")); |
| CmdTraceRaysNV = reinterpret_cast<PFN_vkCmdTraceRaysNV>(GetDeviceProcAddr(device, "vkCmdTraceRaysNV")); |
| CreateRayTracingPipelinesNV = reinterpret_cast<PFN_vkCreateRayTracingPipelinesNV>(GetDeviceProcAddr(device, "vkCreateRayTracingPipelinesNV")); |
| GetRayTracingShaderGroupHandlesKHR = reinterpret_cast<PFN_vkGetRayTracingShaderGroupHandlesKHR>(GetDeviceProcAddr(device, "vkGetRayTracingShaderGroupHandlesKHR")); |
| GetRayTracingShaderGroupHandlesNV = reinterpret_cast<PFN_vkGetRayTracingShaderGroupHandlesNV>(GetDeviceProcAddr(device, "vkGetRayTracingShaderGroupHandlesNV")); |
| GetAccelerationStructureHandleNV = reinterpret_cast<PFN_vkGetAccelerationStructureHandleNV>(GetDeviceProcAddr(device, "vkGetAccelerationStructureHandleNV")); |
| CmdWriteAccelerationStructuresPropertiesNV = reinterpret_cast<PFN_vkCmdWriteAccelerationStructuresPropertiesNV>(GetDeviceProcAddr(device, "vkCmdWriteAccelerationStructuresPropertiesNV")); |
| CompileDeferredNV = reinterpret_cast<PFN_vkCompileDeferredNV>(GetDeviceProcAddr(device, "vkCompileDeferredNV")); |
| } |
| }, |
| { |
| "VK_NV_scissor_exclusive", [](VkInstance, VkDevice device) { |
| CmdSetExclusiveScissorEnableNV = reinterpret_cast<PFN_vkCmdSetExclusiveScissorEnableNV>(GetDeviceProcAddr(device, "vkCmdSetExclusiveScissorEnableNV")); |
| CmdSetExclusiveScissorNV = reinterpret_cast<PFN_vkCmdSetExclusiveScissorNV>(GetDeviceProcAddr(device, "vkCmdSetExclusiveScissorNV")); |
| } |
| }, |
| { |
| "VK_NV_shading_rate_image", [](VkInstance, VkDevice device) { |
| CmdBindShadingRateImageNV = reinterpret_cast<PFN_vkCmdBindShadingRateImageNV>(GetDeviceProcAddr(device, "vkCmdBindShadingRateImageNV")); |
| CmdSetViewportShadingRatePaletteNV = reinterpret_cast<PFN_vkCmdSetViewportShadingRatePaletteNV>(GetDeviceProcAddr(device, "vkCmdSetViewportShadingRatePaletteNV")); |
| CmdSetCoarseSampleOrderNV = reinterpret_cast<PFN_vkCmdSetCoarseSampleOrderNV>(GetDeviceProcAddr(device, "vkCmdSetCoarseSampleOrderNV")); |
| } |
| }, |
| { |
| "VK_QCOM_tile_properties", [](VkInstance, VkDevice device) { |
| GetFramebufferTilePropertiesQCOM = reinterpret_cast<PFN_vkGetFramebufferTilePropertiesQCOM>(GetDeviceProcAddr(device, "vkGetFramebufferTilePropertiesQCOM")); |
| GetDynamicRenderingTilePropertiesQCOM = reinterpret_cast<PFN_vkGetDynamicRenderingTilePropertiesQCOM>(GetDeviceProcAddr(device, "vkGetDynamicRenderingTilePropertiesQCOM")); |
| } |
| }, |
| { |
| "VK_VALVE_descriptor_set_host_mapping", [](VkInstance, VkDevice device) { |
| GetDescriptorSetLayoutHostMappingInfoVALVE = reinterpret_cast<PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE>(GetDeviceProcAddr(device, "vkGetDescriptorSetLayoutHostMappingInfoVALVE")); |
| GetDescriptorSetHostMappingVALVE = reinterpret_cast<PFN_vkGetDescriptorSetHostMappingVALVE>(GetDeviceProcAddr(device, "vkGetDescriptorSetHostMappingVALVE")); |
| } |
| }, |
| }; |
| |
| if (auto it = initializers.find(extension_name); it != initializers.end()) |
| (it->second)(instance, device); |
| } |
| |
| void ResetAllExtensions() { |
| // VK_AMD_buffer_marker |
| CmdWriteBufferMarkerAMD = nullptr; |
| // VK_AMD_display_native_hdr |
| SetLocalDimmingAMD = nullptr; |
| // VK_AMD_draw_indirect_count |
| CmdDrawIndirectCountAMD = nullptr; |
| CmdDrawIndexedIndirectCountAMD = nullptr; |
| // VK_AMD_shader_info |
| GetShaderInfoAMD = nullptr; |
| // VK_ANDROID_external_memory_android_hardware_buffer |
| #ifdef VK_USE_PLATFORM_ANDROID_KHR |
| GetAndroidHardwareBufferPropertiesANDROID = nullptr; |
| GetMemoryAndroidHardwareBufferANDROID = nullptr; |
| #endif // VK_USE_PLATFORM_ANDROID_KHR |
| // VK_EXT_acquire_drm_display |
| AcquireDrmDisplayEXT = nullptr; |
| GetDrmDisplayEXT = nullptr; |
| // VK_EXT_acquire_xlib_display |
| #ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT |
| AcquireXlibDisplayEXT = nullptr; |
| GetRandROutputDisplayEXT = nullptr; |
| #endif // VK_USE_PLATFORM_XLIB_XRANDR_EXT |
| // VK_EXT_attachment_feedback_loop_dynamic_state |
| CmdSetAttachmentFeedbackLoopEnableEXT = nullptr; |
| // VK_EXT_buffer_device_address |
| GetBufferDeviceAddressEXT = nullptr; |
| // VK_EXT_calibrated_timestamps |
| GetPhysicalDeviceCalibrateableTimeDomainsEXT = nullptr; |
| GetCalibratedTimestampsEXT = nullptr; |
| // VK_EXT_color_write_enable |
| CmdSetColorWriteEnableEXT = nullptr; |
| // VK_EXT_conditional_rendering |
| CmdBeginConditionalRenderingEXT = nullptr; |
| CmdEndConditionalRenderingEXT = nullptr; |
| // VK_EXT_debug_marker |
| DebugMarkerSetObjectTagEXT = nullptr; |
| DebugMarkerSetObjectNameEXT = nullptr; |
| CmdDebugMarkerBeginEXT = nullptr; |
| CmdDebugMarkerEndEXT = nullptr; |
| CmdDebugMarkerInsertEXT = nullptr; |
| // VK_EXT_debug_report |
| CreateDebugReportCallbackEXT = nullptr; |
| DestroyDebugReportCallbackEXT = nullptr; |
| DebugReportMessageEXT = nullptr; |
| // VK_EXT_debug_utils |
| SetDebugUtilsObjectNameEXT = nullptr; |
| SetDebugUtilsObjectTagEXT = nullptr; |
| QueueBeginDebugUtilsLabelEXT = nullptr; |
| QueueEndDebugUtilsLabelEXT = nullptr; |
| QueueInsertDebugUtilsLabelEXT = nullptr; |
| CmdBeginDebugUtilsLabelEXT = nullptr; |
| CmdEndDebugUtilsLabelEXT = nullptr; |
| CmdInsertDebugUtilsLabelEXT = nullptr; |
| CreateDebugUtilsMessengerEXT = nullptr; |
| DestroyDebugUtilsMessengerEXT = nullptr; |
| SubmitDebugUtilsMessageEXT = nullptr; |
| // VK_EXT_descriptor_buffer |
| GetDescriptorSetLayoutSizeEXT = nullptr; |
| GetDescriptorSetLayoutBindingOffsetEXT = nullptr; |
| GetDescriptorEXT = nullptr; |
| CmdBindDescriptorBuffersEXT = nullptr; |
| CmdSetDescriptorBufferOffsetsEXT = nullptr; |
| CmdBindDescriptorBufferEmbeddedSamplersEXT = nullptr; |
| GetBufferOpaqueCaptureDescriptorDataEXT = nullptr; |
| GetImageOpaqueCaptureDescriptorDataEXT = nullptr; |
| GetImageViewOpaqueCaptureDescriptorDataEXT = nullptr; |
| GetSamplerOpaqueCaptureDescriptorDataEXT = nullptr; |
| GetAccelerationStructureOpaqueCaptureDescriptorDataEXT = nullptr; |
| // VK_EXT_device_fault |
| GetDeviceFaultInfoEXT = nullptr; |
| // VK_EXT_direct_mode_display |
| ReleaseDisplayEXT = nullptr; |
| // VK_EXT_directfb_surface |
| #ifdef VK_USE_PLATFORM_DIRECTFB_EXT |
| CreateDirectFBSurfaceEXT = nullptr; |
| GetPhysicalDeviceDirectFBPresentationSupportEXT = nullptr; |
| #endif // VK_USE_PLATFORM_DIRECTFB_EXT |
| // VK_EXT_discard_rectangles |
| CmdSetDiscardRectangleEXT = nullptr; |
| CmdSetDiscardRectangleEnableEXT = nullptr; |
| CmdSetDiscardRectangleModeEXT = nullptr; |
| // VK_EXT_display_control |
| DisplayPowerControlEXT = nullptr; |
| RegisterDeviceEventEXT = nullptr; |
| RegisterDisplayEventEXT = nullptr; |
| GetSwapchainCounterEXT = nullptr; |
| // VK_EXT_display_surface_counter |
| GetPhysicalDeviceSurfaceCapabilities2EXT = nullptr; |
| // VK_EXT_extended_dynamic_state |
| CmdSetCullModeEXT = nullptr; |
| CmdSetFrontFaceEXT = nullptr; |
| CmdSetPrimitiveTopologyEXT = nullptr; |
| CmdSetViewportWithCountEXT = nullptr; |
| CmdSetScissorWithCountEXT = nullptr; |
| CmdBindVertexBuffers2EXT = nullptr; |
| CmdSetDepthTestEnableEXT = nullptr; |
| CmdSetDepthWriteEnableEXT = nullptr; |
| CmdSetDepthCompareOpEXT = nullptr; |
| CmdSetDepthBoundsTestEnableEXT = nullptr; |
| CmdSetStencilTestEnableEXT = nullptr; |
| CmdSetStencilOpEXT = nullptr; |
| // VK_EXT_extended_dynamic_state2 |
| CmdSetPatchControlPointsEXT = nullptr; |
| CmdSetRasterizerDiscardEnableEXT = nullptr; |
| CmdSetDepthBiasEnableEXT = nullptr; |
| CmdSetLogicOpEXT = nullptr; |
| CmdSetPrimitiveRestartEnableEXT = nullptr; |
| // VK_EXT_extended_dynamic_state3 |
| CmdSetTessellationDomainOriginEXT = nullptr; |
| CmdSetDepthClampEnableEXT = nullptr; |
| CmdSetPolygonModeEXT = nullptr; |
| CmdSetRasterizationSamplesEXT = nullptr; |
| CmdSetSampleMaskEXT = nullptr; |
| CmdSetAlphaToCoverageEnableEXT = nullptr; |
| CmdSetAlphaToOneEnableEXT = nullptr; |
| CmdSetLogicOpEnableEXT = nullptr; |
| CmdSetColorBlendEnableEXT = nullptr; |
| CmdSetColorBlendEquationEXT = nullptr; |
| CmdSetColorWriteMaskEXT = nullptr; |
| CmdSetRasterizationStreamEXT = nullptr; |
| CmdSetConservativeRasterizationModeEXT = nullptr; |
| CmdSetExtraPrimitiveOverestimationSizeEXT = nullptr; |
| CmdSetDepthClipEnableEXT = nullptr; |
| CmdSetSampleLocationsEnableEXT = nullptr; |
| CmdSetColorBlendAdvancedEXT = nullptr; |
| CmdSetProvokingVertexModeEXT = nullptr; |
| CmdSetLineRasterizationModeEXT = nullptr; |
| CmdSetLineStippleEnableEXT = nullptr; |
| CmdSetDepthClipNegativeOneToOneEXT = nullptr; |
| CmdSetViewportWScalingEnableNV = nullptr; |
| CmdSetViewportSwizzleNV = nullptr; |
| CmdSetCoverageToColorEnableNV = nullptr; |
| CmdSetCoverageToColorLocationNV = nullptr; |
| CmdSetCoverageModulationModeNV = nullptr; |
| CmdSetCoverageModulationTableEnableNV = nullptr; |
| CmdSetCoverageModulationTableNV = nullptr; |
| CmdSetShadingRateImageEnableNV = nullptr; |
| CmdSetRepresentativeFragmentTestEnableNV = nullptr; |
| CmdSetCoverageReductionModeNV = nullptr; |
| // VK_EXT_external_memory_host |
| GetMemoryHostPointerPropertiesEXT = nullptr; |
| // VK_EXT_full_screen_exclusive |
| #ifdef VK_USE_PLATFORM_WIN32_KHR |
| GetPhysicalDeviceSurfacePresentModes2EXT = nullptr; |
| AcquireFullScreenExclusiveModeEXT = nullptr; |
| ReleaseFullScreenExclusiveModeEXT = nullptr; |
| GetDeviceGroupSurfacePresentModes2EXT = nullptr; |
| #endif // VK_USE_PLATFORM_WIN32_KHR |
| // VK_EXT_hdr_metadata |
| SetHdrMetadataEXT = nullptr; |
| // VK_EXT_headless_surface |
| CreateHeadlessSurfaceEXT = nullptr; |
| // VK_EXT_host_query_reset |
| ResetQueryPoolEXT = nullptr; |
| // VK_EXT_image_compression_control |
| GetImageSubresourceLayout2EXT = nullptr; |
| // VK_EXT_image_drm_format_modifier |
| GetImageDrmFormatModifierPropertiesEXT = nullptr; |
| // VK_EXT_line_rasterization |
| CmdSetLineStippleEXT = nullptr; |
| // VK_EXT_mesh_shader |
| CmdDrawMeshTasksEXT = nullptr; |
| CmdDrawMeshTasksIndirectEXT = nullptr; |
| CmdDrawMeshTasksIndirectCountEXT = nullptr; |
| // VK_EXT_metal_objects |
| #ifdef VK_USE_PLATFORM_METAL_EXT |
| ExportMetalObjectsEXT = nullptr; |
| #endif // VK_USE_PLATFORM_METAL_EXT |
| // VK_EXT_metal_surface |
| #ifdef VK_USE_PLATFORM_METAL_EXT |
| CreateMetalSurfaceEXT = nullptr; |
| #endif // VK_USE_PLATFORM_METAL_EXT |
| // VK_EXT_multi_draw |
| CmdDrawMultiEXT = nullptr; |
| CmdDrawMultiIndexedEXT = nullptr; |
| // VK_EXT_opacity_micromap |
| CreateMicromapEXT = nullptr; |
| DestroyMicromapEXT = nullptr; |
| CmdBuildMicromapsEXT = nullptr; |
| BuildMicromapsEXT = nullptr; |
| CopyMicromapEXT = nullptr; |
| CopyMicromapToMemoryEXT = nullptr; |
| CopyMemoryToMicromapEXT = nullptr; |
| WriteMicromapsPropertiesEXT = nullptr; |
| CmdCopyMicromapEXT = nullptr; |
| CmdCopyMicromapToMemoryEXT = nullptr; |
| CmdCopyMemoryToMicromapEXT = nullptr; |
| CmdWriteMicromapsPropertiesEXT = nullptr; |
| GetDeviceMicromapCompatibilityEXT = nullptr; |
| GetMicromapBuildSizesEXT = nullptr; |
| // VK_EXT_pageable_device_local_memory |
| SetDeviceMemoryPriorityEXT = nullptr; |
| // VK_EXT_pipeline_properties |
| GetPipelinePropertiesEXT = nullptr; |
| // VK_EXT_private_data |
| CreatePrivateDataSlotEXT = nullptr; |
| DestroyPrivateDataSlotEXT = nullptr; |
| SetPrivateDataEXT = nullptr; |
| GetPrivateDataEXT = nullptr; |
| // VK_EXT_sample_locations |
| CmdSetSampleLocationsEXT = nullptr; |
| GetPhysicalDeviceMultisamplePropertiesEXT = nullptr; |
| // VK_EXT_shader_module_identifier |
| GetShaderModuleIdentifierEXT = nullptr; |
| GetShaderModuleCreateInfoIdentifierEXT = nullptr; |
| // VK_EXT_shader_object |
| CreateShadersEXT = nullptr; |
| DestroyShaderEXT = nullptr; |
| GetShaderBinaryDataEXT = nullptr; |
| CmdBindShadersEXT = nullptr; |
| // VK_EXT_swapchain_maintenance1 |
| ReleaseSwapchainImagesEXT = nullptr; |
| // VK_EXT_tooling_info |
| GetPhysicalDeviceToolPropertiesEXT = nullptr; |
| // VK_EXT_transform_feedback |
| CmdBindTransformFeedbackBuffersEXT = nullptr; |
| CmdBeginTransformFeedbackEXT = nullptr; |
| CmdEndTransformFeedbackEXT = nullptr; |
| CmdBeginQueryIndexedEXT = nullptr; |
| CmdEndQueryIndexedEXT = nullptr; |
| CmdDrawIndirectByteCountEXT = nullptr; |
| // VK_EXT_validation_cache |
| CreateValidationCacheEXT = nullptr; |
| DestroyValidationCacheEXT = nullptr; |
| MergeValidationCachesEXT = nullptr; |
| GetValidationCacheDataEXT = nullptr; |
| // VK_EXT_vertex_input_dynamic_state |
| CmdSetVertexInputEXT = nullptr; |
| // VK_FUCHSIA_buffer_collection |
| #ifdef VK_USE_PLATFORM_FUCHSIA |
| CreateBufferCollectionFUCHSIA = nullptr; |
| SetBufferCollectionImageConstraintsFUCHSIA = nullptr; |
| SetBufferCollectionBufferConstraintsFUCHSIA = nullptr; |
| DestroyBufferCollectionFUCHSIA = nullptr; |
| GetBufferCollectionPropertiesFUCHSIA = nullptr; |
| #endif // VK_USE_PLATFORM_FUCHSIA |
| // VK_FUCHSIA_external_memory |
| #ifdef VK_USE_PLATFORM_FUCHSIA |
| GetMemoryZirconHandleFUCHSIA = nullptr; |
| GetMemoryZirconHandlePropertiesFUCHSIA = nullptr; |
| #endif // VK_USE_PLATFORM_FUCHSIA |
| // VK_FUCHSIA_external_semaphore |
| #ifdef VK_USE_PLATFORM_FUCHSIA |
| ImportSemaphoreZirconHandleFUCHSIA = nullptr; |
| GetSemaphoreZirconHandleFUCHSIA = nullptr; |
| #endif // VK_USE_PLATFORM_FUCHSIA |
| // VK_FUCHSIA_imagepipe_surface |
| #ifdef VK_USE_PLATFORM_FUCHSIA |
| CreateImagePipeSurfaceFUCHSIA = nullptr; |
| #endif // VK_USE_PLATFORM_FUCHSIA |
| // VK_GGP_stream_descriptor_surface |
| #ifdef VK_USE_PLATFORM_GGP |
| CreateStreamDescriptorSurfaceGGP = nullptr; |
| #endif // VK_USE_PLATFORM_GGP |
| // VK_GOOGLE_display_timing |
| GetRefreshCycleDurationGOOGLE = nullptr; |
| GetPastPresentationTimingGOOGLE = nullptr; |
| // VK_HUAWEI_cluster_culling_shader |
| CmdDrawClusterHUAWEI = nullptr; |
| CmdDrawClusterIndirectHUAWEI = nullptr; |
| // VK_HUAWEI_invocation_mask |
| CmdBindInvocationMaskHUAWEI = nullptr; |
| // VK_HUAWEI_subpass_shading |
| GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = nullptr; |
| CmdSubpassShadingHUAWEI = nullptr; |
| // VK_INTEL_performance_query |
| InitializePerformanceApiINTEL = nullptr; |
| UninitializePerformanceApiINTEL = nullptr; |
| CmdSetPerformanceMarkerINTEL = nullptr; |
| CmdSetPerformanceStreamMarkerINTEL = nullptr; |
| CmdSetPerformanceOverrideINTEL = nullptr; |
| AcquirePerformanceConfigurationINTEL = nullptr; |
| ReleasePerformanceConfigurationINTEL = nullptr; |
| QueueSetPerformanceConfigurationINTEL = nullptr; |
| GetPerformanceParameterINTEL = nullptr; |
| // VK_KHR_acceleration_structure |
| CreateAccelerationStructureKHR = nullptr; |
| DestroyAccelerationStructureKHR = nullptr; |
| CmdBuildAccelerationStructuresKHR = nullptr; |
| CmdBuildAccelerationStructuresIndirectKHR = nullptr; |
| BuildAccelerationStructuresKHR = nullptr; |
| CopyAccelerationStructureKHR = nullptr; |
| CopyAccelerationStructureToMemoryKHR = nullptr; |
| CopyMemoryToAccelerationStructureKHR = nullptr; |
| WriteAccelerationStructuresPropertiesKHR = nullptr; |
| CmdCopyAccelerationStructureKHR = nullptr; |
| CmdCopyAccelerationStructureToMemoryKHR = nullptr; |
| CmdCopyMemoryToAccelerationStructureKHR = nullptr; |
| GetAccelerationStructureDeviceAddressKHR = nullptr; |
| CmdWriteAccelerationStructuresPropertiesKHR = nullptr; |
| GetDeviceAccelerationStructureCompatibilityKHR = nullptr; |
| GetAccelerationStructureBuildSizesKHR = nullptr; |
| // VK_KHR_android_surface |
| #ifdef VK_USE_PLATFORM_ANDROID_KHR |
| CreateAndroidSurfaceKHR = nullptr; |
| #endif // VK_USE_PLATFORM_ANDROID_KHR |
| // VK_KHR_bind_memory2 |
| BindBufferMemory2KHR = nullptr; |
| BindImageMemory2KHR = nullptr; |
| // VK_KHR_buffer_device_address |
| GetBufferDeviceAddressKHR = nullptr; |
| GetBufferOpaqueCaptureAddressKHR = nullptr; |
| GetDeviceMemoryOpaqueCaptureAddressKHR = nullptr; |
| // VK_KHR_copy_commands2 |
| CmdCopyBuffer2KHR = nullptr; |
| CmdCopyImage2KHR = nullptr; |
| CmdCopyBufferToImage2KHR = nullptr; |
| CmdCopyImageToBuffer2KHR = nullptr; |
| CmdBlitImage2KHR = nullptr; |
| CmdResolveImage2KHR = nullptr; |
| // VK_KHR_create_renderpass2 |
| CreateRenderPass2KHR = nullptr; |
| CmdBeginRenderPass2KHR = nullptr; |
| CmdNextSubpass2KHR = nullptr; |
| CmdEndRenderPass2KHR = nullptr; |
| // VK_KHR_deferred_host_operations |
| CreateDeferredOperationKHR = nullptr; |
| DestroyDeferredOperationKHR = nullptr; |
| GetDeferredOperationMaxConcurrencyKHR = nullptr; |
| GetDeferredOperationResultKHR = nullptr; |
| DeferredOperationJoinKHR = nullptr; |
| // VK_KHR_descriptor_update_template |
| CreateDescriptorUpdateTemplateKHR = nullptr; |
| DestroyDescriptorUpdateTemplateKHR = nullptr; |
| UpdateDescriptorSetWithTemplateKHR = nullptr; |
| // VK_KHR_device_group |
| GetDeviceGroupPeerMemoryFeaturesKHR = nullptr; |
| CmdSetDeviceMaskKHR = nullptr; |
| CmdDispatchBaseKHR = nullptr; |
| // VK_KHR_device_group_creation |
| EnumeratePhysicalDeviceGroupsKHR = nullptr; |
| // VK_KHR_display |
| GetPhysicalDeviceDisplayPropertiesKHR = nullptr; |
| GetPhysicalDeviceDisplayPlanePropertiesKHR = nullptr; |
| GetDisplayPlaneSupportedDisplaysKHR = nullptr; |
| GetDisplayModePropertiesKHR = nullptr; |
| CreateDisplayModeKHR = nullptr; |
| GetDisplayPlaneCapabilitiesKHR = nullptr; |
| CreateDisplayPlaneSurfaceKHR = nullptr; |
| // VK_KHR_display_swapchain |
| CreateSharedSwapchainsKHR = nullptr; |
| // VK_KHR_draw_indirect_count |
| CmdDrawIndirectCountKHR = nullptr; |
| CmdDrawIndexedIndirectCountKHR = nullptr; |
| // VK_KHR_dynamic_rendering |
| CmdBeginRenderingKHR = nullptr; |
| CmdEndRenderingKHR = nullptr; |
| // VK_KHR_external_fence_capabilities |
| GetPhysicalDeviceExternalFencePropertiesKHR = nullptr; |
| // VK_KHR_external_fence_fd |
| ImportFenceFdKHR = nullptr; |
| GetFenceFdKHR = nullptr; |
| // VK_KHR_external_fence_win32 |
| #ifdef VK_USE_PLATFORM_WIN32_KHR |
| ImportFenceWin32HandleKHR = nullptr; |
| GetFenceWin32HandleKHR = nullptr; |
| #endif // VK_USE_PLATFORM_WIN32_KHR |
| // VK_KHR_external_memory_capabilities |
| GetPhysicalDeviceExternalBufferPropertiesKHR = nullptr; |
| // VK_KHR_external_memory_fd |
| GetMemoryFdKHR = nullptr; |
| GetMemoryFdPropertiesKHR = nullptr; |
| // VK_KHR_external_memory_win32 |
| #ifdef VK_USE_PLATFORM_WIN32_KHR |
| GetMemoryWin32HandleKHR = nullptr; |
| GetMemoryWin32HandlePropertiesKHR = nullptr; |
| #endif // VK_USE_PLATFORM_WIN32_KHR |
| // VK_KHR_external_semaphore_capabilities |
| GetPhysicalDeviceExternalSemaphorePropertiesKHR = nullptr; |
| // VK_KHR_external_semaphore_fd |
| ImportSemaphoreFdKHR = nullptr; |
| GetSemaphoreFdKHR = nullptr; |
| // VK_KHR_external_semaphore_win32 |
| #ifdef VK_USE_PLATFORM_WIN32_KHR |
| ImportSemaphoreWin32HandleKHR = nullptr; |
| GetSemaphoreWin32HandleKHR = nullptr; |
| #endif // VK_USE_PLATFORM_WIN32_KHR |
| // VK_KHR_fragment_shading_rate |
| GetPhysicalDeviceFragmentShadingRatesKHR = nullptr; |
| CmdSetFragmentShadingRateKHR = nullptr; |
| // VK_KHR_get_display_properties2 |
| GetPhysicalDeviceDisplayProperties2KHR = nullptr; |
| GetPhysicalDeviceDisplayPlaneProperties2KHR = nullptr; |
| GetDisplayModeProperties2KHR = nullptr; |
| GetDisplayPlaneCapabilities2KHR = nullptr; |
| // VK_KHR_get_memory_requirements2 |
| GetImageMemoryRequirements2KHR = nullptr; |
| GetBufferMemoryRequirements2KHR = nullptr; |
| GetImageSparseMemoryRequirements2KHR = nullptr; |
| // VK_KHR_get_physical_device_properties2 |
| GetPhysicalDeviceFeatures2KHR = nullptr; |
| GetPhysicalDeviceProperties2KHR = nullptr; |
| GetPhysicalDeviceFormatProperties2KHR = nullptr; |
| GetPhysicalDeviceImageFormatProperties2KHR = nullptr; |
| GetPhysicalDeviceQueueFamilyProperties2KHR = nullptr; |
| GetPhysicalDeviceMemoryProperties2KHR = nullptr; |
| GetPhysicalDeviceSparseImageFormatProperties2KHR = nullptr; |
| // VK_KHR_get_surface_capabilities2 |
| GetPhysicalDeviceSurfaceCapabilities2KHR = nullptr; |
| GetPhysicalDeviceSurfaceFormats2KHR = nullptr; |
| // VK_KHR_maintenance1 |
| TrimCommandPoolKHR = nullptr; |
| // VK_KHR_maintenance3 |
| GetDescriptorSetLayoutSupportKHR = nullptr; |
| // VK_KHR_maintenance4 |
| GetDeviceBufferMemoryRequirementsKHR = nullptr; |
| GetDeviceImageMemoryRequirementsKHR = nullptr; |
| GetDeviceImageSparseMemoryRequirementsKHR = nullptr; |
| // VK_KHR_map_memory2 |
| MapMemory2KHR = nullptr; |
| UnmapMemory2KHR = nullptr; |
| // VK_KHR_performance_query |
| EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = nullptr; |
| GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR = nullptr; |
| AcquireProfilingLockKHR = nullptr; |
| ReleaseProfilingLockKHR = nullptr; |
| // VK_KHR_pipeline_executable_properties |
| GetPipelineExecutablePropertiesKHR = nullptr; |
| GetPipelineExecutableStatisticsKHR = nullptr; |
| GetPipelineExecutableInternalRepresentationsKHR = nullptr; |
| // VK_KHR_present_wait |
| WaitForPresentKHR = nullptr; |
| // VK_KHR_push_descriptor |
| CmdPushDescriptorSetKHR = nullptr; |
| CmdPushDescriptorSetWithTemplateKHR = nullptr; |
| // VK_KHR_ray_tracing_maintenance1 |
| CmdTraceRaysIndirect2KHR = nullptr; |
| // VK_KHR_ray_tracing_pipeline |
| CmdTraceRaysKHR = nullptr; |
| CreateRayTracingPipelinesKHR = nullptr; |
| GetRayTracingCaptureReplayShaderGroupHandlesKHR = nullptr; |
| CmdTraceRaysIndirectKHR = nullptr; |
| GetRayTracingShaderGroupStackSizeKHR = nullptr; |
| CmdSetRayTracingPipelineStackSizeKHR = nullptr; |
| // VK_KHR_sampler_ycbcr_conversion |
| CreateSamplerYcbcrConversionKHR = nullptr; |
| DestroySamplerYcbcrConversionKHR = nullptr; |
| // VK_KHR_shared_presentable_image |
| GetSwapchainStatusKHR = nullptr; |
| // VK_KHR_surface |
| DestroySurfaceKHR = nullptr; |
| GetPhysicalDeviceSurfaceSupportKHR = nullptr; |
| GetPhysicalDeviceSurfaceCapabilitiesKHR = nullptr; |
| GetPhysicalDeviceSurfaceFormatsKHR = nullptr; |
| GetPhysicalDeviceSurfacePresentModesKHR = nullptr; |
| // VK_KHR_swapchain |
| CreateSwapchainKHR = nullptr; |
| DestroySwapchainKHR = nullptr; |
| GetSwapchainImagesKHR = nullptr; |
| AcquireNextImageKHR = nullptr; |
| QueuePresentKHR = nullptr; |
| GetDeviceGroupPresentCapabilitiesKHR = nullptr; |
| GetDeviceGroupSurfacePresentModesKHR = nullptr; |
| GetPhysicalDevicePresentRectanglesKHR = nullptr; |
| AcquireNextImage2KHR = nullptr; |
| // VK_KHR_synchronization2 |
| CmdSetEvent2KHR = nullptr; |
| CmdResetEvent2KHR = nullptr; |
| CmdWaitEvents2KHR = nullptr; |
| CmdPipelineBarrier2KHR = nullptr; |
| CmdWriteTimestamp2KHR = nullptr; |
| QueueSubmit2KHR = nullptr; |
| CmdWriteBufferMarker2AMD = nullptr; |
| GetQueueCheckpointData2NV = nullptr; |
| // VK_KHR_timeline_semaphore |
| GetSemaphoreCounterValueKHR = nullptr; |
| WaitSemaphoresKHR = nullptr; |
| SignalSemaphoreKHR = nullptr; |
| // VK_KHR_video_decode_queue |
| CmdDecodeVideoKHR = nullptr; |
| // VK_KHR_video_encode_queue |
| #ifdef VK_ENABLE_BETA_EXTENSIONS |
| CmdEncodeVideoKHR = nullptr; |
| #endif // VK_ENABLE_BETA_EXTENSIONS |
| // VK_KHR_video_queue |
| GetPhysicalDeviceVideoCapabilitiesKHR = nullptr; |
| GetPhysicalDeviceVideoFormatPropertiesKHR = nullptr; |
| CreateVideoSessionKHR = nullptr; |
| DestroyVideoSessionKHR = nullptr; |
| GetVideoSessionMemoryRequirementsKHR = nullptr; |
| BindVideoSessionMemoryKHR = nullptr; |
| CreateVideoSessionParametersKHR = nullptr; |
| UpdateVideoSessionParametersKHR = nullptr; |
| DestroyVideoSessionParametersKHR = nullptr; |
| CmdBeginVideoCodingKHR = nullptr; |
| CmdEndVideoCodingKHR = nullptr; |
| CmdControlVideoCodingKHR = nullptr; |
| // VK_KHR_wayland_surface |
| #ifdef VK_USE_PLATFORM_WAYLAND_KHR |
| CreateWaylandSurfaceKHR = nullptr; |
| GetPhysicalDeviceWaylandPresentationSupportKHR = nullptr; |
| #endif // VK_USE_PLATFORM_WAYLAND_KHR |
| // VK_KHR_win32_surface |
| #ifdef VK_USE_PLATFORM_WIN32_KHR |
| CreateWin32SurfaceKHR = nullptr; |
| GetPhysicalDeviceWin32PresentationSupportKHR = nullptr; |
| #endif // VK_USE_PLATFORM_WIN32_KHR |
| // VK_KHR_xcb_surface |
| #ifdef VK_USE_PLATFORM_XCB_KHR |
| CreateXcbSurfaceKHR = nullptr; |
| GetPhysicalDeviceXcbPresentationSupportKHR = nullptr; |
| #endif // VK_USE_PLATFORM_XCB_KHR |
| // VK_KHR_xlib_surface |
| #ifdef VK_USE_PLATFORM_XLIB_KHR |
| CreateXlibSurfaceKHR = nullptr; |
| GetPhysicalDeviceXlibPresentationSupportKHR = nullptr; |
| #endif // VK_USE_PLATFORM_XLIB_KHR |
| // VK_MVK_ios_surface |
| #ifdef VK_USE_PLATFORM_IOS_MVK |
| CreateIOSSurfaceMVK = nullptr; |
| #endif // VK_USE_PLATFORM_IOS_MVK |
| // VK_MVK_macos_surface |
| #ifdef VK_USE_PLATFORM_MACOS_MVK |
| CreateMacOSSurfaceMVK = nullptr; |
| #endif // VK_USE_PLATFORM_MACOS_MVK |
| // VK_NN_vi_surface |
| #ifdef VK_USE_PLATFORM_VI_NN |
| CreateViSurfaceNN = nullptr; |
| #endif // VK_USE_PLATFORM_VI_NN |
| // VK_NVX_binary_import |
| CreateCuModuleNVX = nullptr; |
| CreateCuFunctionNVX = nullptr; |
| DestroyCuModuleNVX = nullptr; |
| DestroyCuFunctionNVX = nullptr; |
| CmdCuLaunchKernelNVX = nullptr; |
| // VK_NVX_image_view_handle |
| GetImageViewHandleNVX = nullptr; |
| GetImageViewAddressNVX = nullptr; |
| // VK_NV_acquire_winrt_display |
| #ifdef VK_USE_PLATFORM_WIN32_KHR |
| AcquireWinrtDisplayNV = nullptr; |
| GetWinrtDisplayNV = nullptr; |
| #endif // VK_USE_PLATFORM_WIN32_KHR |
| // VK_NV_clip_space_w_scaling |
| CmdSetViewportWScalingNV = nullptr; |
| // VK_NV_cooperative_matrix |
| GetPhysicalDeviceCooperativeMatrixPropertiesNV = nullptr; |
| // VK_NV_copy_memory_indirect |
| CmdCopyMemoryIndirectNV = nullptr; |
| CmdCopyMemoryToImageIndirectNV = nullptr; |
| // VK_NV_coverage_reduction_mode |
| GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV = nullptr; |
| // VK_NV_device_diagnostic_checkpoints |
| CmdSetCheckpointNV = nullptr; |
| GetQueueCheckpointDataNV = nullptr; |
| // VK_NV_device_generated_commands |
| GetGeneratedCommandsMemoryRequirementsNV = nullptr; |
| CmdPreprocessGeneratedCommandsNV = nullptr; |
| CmdExecuteGeneratedCommandsNV = nullptr; |
| CmdBindPipelineShaderGroupNV = nullptr; |
| CreateIndirectCommandsLayoutNV = nullptr; |
| DestroyIndirectCommandsLayoutNV = nullptr; |
| // VK_NV_external_memory_capabilities |
| GetPhysicalDeviceExternalImageFormatPropertiesNV = nullptr; |
| // VK_NV_external_memory_rdma |
| GetMemoryRemoteAddressNV = nullptr; |
| // VK_NV_external_memory_win32 |
| #ifdef VK_USE_PLATFORM_WIN32_KHR |
| GetMemoryWin32HandleNV = nullptr; |
| #endif // VK_USE_PLATFORM_WIN32_KHR |
| // VK_NV_fragment_shading_rate_enums |
| CmdSetFragmentShadingRateEnumNV = nullptr; |
| // VK_NV_memory_decompression |
| CmdDecompressMemoryNV = nullptr; |
| CmdDecompressMemoryIndirectCountNV = nullptr; |
| // VK_NV_mesh_shader |
| CmdDrawMeshTasksNV = nullptr; |
| CmdDrawMeshTasksIndirectNV = nullptr; |
| CmdDrawMeshTasksIndirectCountNV = nullptr; |
| // VK_NV_optical_flow |
| GetPhysicalDeviceOpticalFlowImageFormatsNV = nullptr; |
| CreateOpticalFlowSessionNV = nullptr; |
| DestroyOpticalFlowSessionNV = nullptr; |
| BindOpticalFlowSessionImageNV = nullptr; |
| CmdOpticalFlowExecuteNV = nullptr; |
| // VK_NV_ray_tracing |
| CreateAccelerationStructureNV = nullptr; |
| DestroyAccelerationStructureNV = nullptr; |
| GetAccelerationStructureMemoryRequirementsNV = nullptr; |
| BindAccelerationStructureMemoryNV = nullptr; |
| CmdBuildAccelerationStructureNV = nullptr; |
| CmdCopyAccelerationStructureNV = nullptr; |
| CmdTraceRaysNV = nullptr; |
| CreateRayTracingPipelinesNV = nullptr; |
| GetRayTracingShaderGroupHandlesKHR = nullptr; |
| GetRayTracingShaderGroupHandlesNV = nullptr; |
| GetAccelerationStructureHandleNV = nullptr; |
| CmdWriteAccelerationStructuresPropertiesNV = nullptr; |
| CompileDeferredNV = nullptr; |
| // VK_NV_scissor_exclusive |
| CmdSetExclusiveScissorEnableNV = nullptr; |
| CmdSetExclusiveScissorNV = nullptr; |
| // VK_NV_shading_rate_image |
| CmdBindShadingRateImageNV = nullptr; |
| CmdSetViewportShadingRatePaletteNV = nullptr; |
| CmdSetCoarseSampleOrderNV = nullptr; |
| // VK_QCOM_tile_properties |
| GetFramebufferTilePropertiesQCOM = nullptr; |
| GetDynamicRenderingTilePropertiesQCOM = nullptr; |
| // VK_QNX_screen_surface |
| #ifdef VK_USE_PLATFORM_SCREEN_QNX |
| CreateScreenSurfaceQNX = nullptr; |
| GetPhysicalDeviceScreenPresentationSupportQNX = nullptr; |
| #endif // VK_USE_PLATFORM_SCREEN_QNX |
| // VK_VALVE_descriptor_set_host_mapping |
| GetDescriptorSetLayoutHostMappingInfoVALVE = nullptr; |
| GetDescriptorSetHostMappingVALVE = nullptr; |
| } |
| |
| } // namespace vk |