1 /** 2 * Dlang vulkan device related func loader as struct members 3 * 4 * Copyright: Copyright 2015-2016 The Khronos Group Inc.; Copyright 2016 Alex Parrill, Peter Particle. 5 * License: $(https://opensource.org/licenses/MIT, MIT License). 6 * Authors: Copyright 2016 Alex Parrill, Peter Particle 7 */ 8 module erupted.dispatch_device; 9 10 public import erupted.types; 11 import erupted.functions; 12 13 nothrow @nogc: 14 15 16 /// struct to group per device device level functions into a custom namespace 17 /// keeps track of the device to which the functions are bound 18 /// additionally to the device related vulkan functions, convenience functions exist 19 /// with same name but omitting the vk prefix as well as the first (VkDevice) parameter 20 /// these functions forward to their vk counterparts using the VkDevice member of the DispatchDevice 21 /// Moreover the same convenience functions exist for vkCmd... functions. In this case the 22 /// first parameter is substituted with the public member VkCommandBuffer commandBuffer, 23 /// which must have been set to a valid command buffer before usage. 24 struct DispatchDevice { 25 26 private VkDevice device = VK_NULL_HANDLE; 27 private const( VkAllocationCallbacks )* allocator = null; 28 VkCommandBuffer commandBuffer = VK_NULL_HANDLE; 29 30 31 /// return copy of the internal VkDevice 32 VkDevice vkDevice() { 33 return device; 34 } 35 36 37 /// return const allocator address 38 const( VkAllocationCallbacks )* pAllocator() { 39 return allocator; 40 } 41 42 43 /// constructor forwards parameter 'device' to 'this.loadDeviceLevelFunctions' 44 this( VkDevice device, const( VkAllocationCallbacks )* allocator = null ) { 45 this.loadDeviceLevelFunctions( device ); 46 } 47 48 49 /// load the device level member functions 50 /// this also sets the private member 'device' to the passed in VkDevice 51 /// as well as the otional host allocator 52 /// if a custom allocator is required it must be specified here and cannot be changed throughout the liftime of the device 53 /// now the DispatchDevice can be used e.g.: 54 /// auto dd = DispatchDevice( device ); 55 /// dd.vkDestroyDevice( dd.vkDevice, pAllocator ); 56 /// convenience functions to omit the first arg and the allocator do exist, see bellow 57 void loadDeviceLevelFunctions( VkDevice device, const( VkAllocationCallbacks )* allocator = null ) { 58 assert( vkGetInstanceProcAddr !is null, "Function pointer vkGetInstanceProcAddr is null!\nCall loadGlobalLevelFunctions -> loadInstanceLevelFunctions -> DispatchDevice.loadDeviceLevelFunctions" ); 59 this.allocator = allocator; 60 this.device = device; 61 62 // VK_VERSION_1_0 63 vkDestroyDevice = cast( PFN_vkDestroyDevice ) vkGetDeviceProcAddr( device, "vkDestroyDevice" ); 64 vkGetDeviceQueue = cast( PFN_vkGetDeviceQueue ) vkGetDeviceProcAddr( device, "vkGetDeviceQueue" ); 65 vkQueueSubmit = cast( PFN_vkQueueSubmit ) vkGetDeviceProcAddr( device, "vkQueueSubmit" ); 66 vkQueueWaitIdle = cast( PFN_vkQueueWaitIdle ) vkGetDeviceProcAddr( device, "vkQueueWaitIdle" ); 67 vkDeviceWaitIdle = cast( PFN_vkDeviceWaitIdle ) vkGetDeviceProcAddr( device, "vkDeviceWaitIdle" ); 68 vkAllocateMemory = cast( PFN_vkAllocateMemory ) vkGetDeviceProcAddr( device, "vkAllocateMemory" ); 69 vkFreeMemory = cast( PFN_vkFreeMemory ) vkGetDeviceProcAddr( device, "vkFreeMemory" ); 70 vkMapMemory = cast( PFN_vkMapMemory ) vkGetDeviceProcAddr( device, "vkMapMemory" ); 71 vkUnmapMemory = cast( PFN_vkUnmapMemory ) vkGetDeviceProcAddr( device, "vkUnmapMemory" ); 72 vkFlushMappedMemoryRanges = cast( PFN_vkFlushMappedMemoryRanges ) vkGetDeviceProcAddr( device, "vkFlushMappedMemoryRanges" ); 73 vkInvalidateMappedMemoryRanges = cast( PFN_vkInvalidateMappedMemoryRanges ) vkGetDeviceProcAddr( device, "vkInvalidateMappedMemoryRanges" ); 74 vkGetDeviceMemoryCommitment = cast( PFN_vkGetDeviceMemoryCommitment ) vkGetDeviceProcAddr( device, "vkGetDeviceMemoryCommitment" ); 75 vkBindBufferMemory = cast( PFN_vkBindBufferMemory ) vkGetDeviceProcAddr( device, "vkBindBufferMemory" ); 76 vkBindImageMemory = cast( PFN_vkBindImageMemory ) vkGetDeviceProcAddr( device, "vkBindImageMemory" ); 77 vkGetBufferMemoryRequirements = cast( PFN_vkGetBufferMemoryRequirements ) vkGetDeviceProcAddr( device, "vkGetBufferMemoryRequirements" ); 78 vkGetImageMemoryRequirements = cast( PFN_vkGetImageMemoryRequirements ) vkGetDeviceProcAddr( device, "vkGetImageMemoryRequirements" ); 79 vkGetImageSparseMemoryRequirements = cast( PFN_vkGetImageSparseMemoryRequirements ) vkGetDeviceProcAddr( device, "vkGetImageSparseMemoryRequirements" ); 80 vkQueueBindSparse = cast( PFN_vkQueueBindSparse ) vkGetDeviceProcAddr( device, "vkQueueBindSparse" ); 81 vkCreateFence = cast( PFN_vkCreateFence ) vkGetDeviceProcAddr( device, "vkCreateFence" ); 82 vkDestroyFence = cast( PFN_vkDestroyFence ) vkGetDeviceProcAddr( device, "vkDestroyFence" ); 83 vkResetFences = cast( PFN_vkResetFences ) vkGetDeviceProcAddr( device, "vkResetFences" ); 84 vkGetFenceStatus = cast( PFN_vkGetFenceStatus ) vkGetDeviceProcAddr( device, "vkGetFenceStatus" ); 85 vkWaitForFences = cast( PFN_vkWaitForFences ) vkGetDeviceProcAddr( device, "vkWaitForFences" ); 86 vkCreateSemaphore = cast( PFN_vkCreateSemaphore ) vkGetDeviceProcAddr( device, "vkCreateSemaphore" ); 87 vkDestroySemaphore = cast( PFN_vkDestroySemaphore ) vkGetDeviceProcAddr( device, "vkDestroySemaphore" ); 88 vkCreateEvent = cast( PFN_vkCreateEvent ) vkGetDeviceProcAddr( device, "vkCreateEvent" ); 89 vkDestroyEvent = cast( PFN_vkDestroyEvent ) vkGetDeviceProcAddr( device, "vkDestroyEvent" ); 90 vkGetEventStatus = cast( PFN_vkGetEventStatus ) vkGetDeviceProcAddr( device, "vkGetEventStatus" ); 91 vkSetEvent = cast( PFN_vkSetEvent ) vkGetDeviceProcAddr( device, "vkSetEvent" ); 92 vkResetEvent = cast( PFN_vkResetEvent ) vkGetDeviceProcAddr( device, "vkResetEvent" ); 93 vkCreateQueryPool = cast( PFN_vkCreateQueryPool ) vkGetDeviceProcAddr( device, "vkCreateQueryPool" ); 94 vkDestroyQueryPool = cast( PFN_vkDestroyQueryPool ) vkGetDeviceProcAddr( device, "vkDestroyQueryPool" ); 95 vkGetQueryPoolResults = cast( PFN_vkGetQueryPoolResults ) vkGetDeviceProcAddr( device, "vkGetQueryPoolResults" ); 96 vkCreateBuffer = cast( PFN_vkCreateBuffer ) vkGetDeviceProcAddr( device, "vkCreateBuffer" ); 97 vkDestroyBuffer = cast( PFN_vkDestroyBuffer ) vkGetDeviceProcAddr( device, "vkDestroyBuffer" ); 98 vkCreateBufferView = cast( PFN_vkCreateBufferView ) vkGetDeviceProcAddr( device, "vkCreateBufferView" ); 99 vkDestroyBufferView = cast( PFN_vkDestroyBufferView ) vkGetDeviceProcAddr( device, "vkDestroyBufferView" ); 100 vkCreateImage = cast( PFN_vkCreateImage ) vkGetDeviceProcAddr( device, "vkCreateImage" ); 101 vkDestroyImage = cast( PFN_vkDestroyImage ) vkGetDeviceProcAddr( device, "vkDestroyImage" ); 102 vkGetImageSubresourceLayout = cast( PFN_vkGetImageSubresourceLayout ) vkGetDeviceProcAddr( device, "vkGetImageSubresourceLayout" ); 103 vkCreateImageView = cast( PFN_vkCreateImageView ) vkGetDeviceProcAddr( device, "vkCreateImageView" ); 104 vkDestroyImageView = cast( PFN_vkDestroyImageView ) vkGetDeviceProcAddr( device, "vkDestroyImageView" ); 105 vkCreateShaderModule = cast( PFN_vkCreateShaderModule ) vkGetDeviceProcAddr( device, "vkCreateShaderModule" ); 106 vkDestroyShaderModule = cast( PFN_vkDestroyShaderModule ) vkGetDeviceProcAddr( device, "vkDestroyShaderModule" ); 107 vkCreatePipelineCache = cast( PFN_vkCreatePipelineCache ) vkGetDeviceProcAddr( device, "vkCreatePipelineCache" ); 108 vkDestroyPipelineCache = cast( PFN_vkDestroyPipelineCache ) vkGetDeviceProcAddr( device, "vkDestroyPipelineCache" ); 109 vkGetPipelineCacheData = cast( PFN_vkGetPipelineCacheData ) vkGetDeviceProcAddr( device, "vkGetPipelineCacheData" ); 110 vkMergePipelineCaches = cast( PFN_vkMergePipelineCaches ) vkGetDeviceProcAddr( device, "vkMergePipelineCaches" ); 111 vkCreateGraphicsPipelines = cast( PFN_vkCreateGraphicsPipelines ) vkGetDeviceProcAddr( device, "vkCreateGraphicsPipelines" ); 112 vkCreateComputePipelines = cast( PFN_vkCreateComputePipelines ) vkGetDeviceProcAddr( device, "vkCreateComputePipelines" ); 113 vkDestroyPipeline = cast( PFN_vkDestroyPipeline ) vkGetDeviceProcAddr( device, "vkDestroyPipeline" ); 114 vkCreatePipelineLayout = cast( PFN_vkCreatePipelineLayout ) vkGetDeviceProcAddr( device, "vkCreatePipelineLayout" ); 115 vkDestroyPipelineLayout = cast( PFN_vkDestroyPipelineLayout ) vkGetDeviceProcAddr( device, "vkDestroyPipelineLayout" ); 116 vkCreateSampler = cast( PFN_vkCreateSampler ) vkGetDeviceProcAddr( device, "vkCreateSampler" ); 117 vkDestroySampler = cast( PFN_vkDestroySampler ) vkGetDeviceProcAddr( device, "vkDestroySampler" ); 118 vkCreateDescriptorSetLayout = cast( PFN_vkCreateDescriptorSetLayout ) vkGetDeviceProcAddr( device, "vkCreateDescriptorSetLayout" ); 119 vkDestroyDescriptorSetLayout = cast( PFN_vkDestroyDescriptorSetLayout ) vkGetDeviceProcAddr( device, "vkDestroyDescriptorSetLayout" ); 120 vkCreateDescriptorPool = cast( PFN_vkCreateDescriptorPool ) vkGetDeviceProcAddr( device, "vkCreateDescriptorPool" ); 121 vkDestroyDescriptorPool = cast( PFN_vkDestroyDescriptorPool ) vkGetDeviceProcAddr( device, "vkDestroyDescriptorPool" ); 122 vkResetDescriptorPool = cast( PFN_vkResetDescriptorPool ) vkGetDeviceProcAddr( device, "vkResetDescriptorPool" ); 123 vkAllocateDescriptorSets = cast( PFN_vkAllocateDescriptorSets ) vkGetDeviceProcAddr( device, "vkAllocateDescriptorSets" ); 124 vkFreeDescriptorSets = cast( PFN_vkFreeDescriptorSets ) vkGetDeviceProcAddr( device, "vkFreeDescriptorSets" ); 125 vkUpdateDescriptorSets = cast( PFN_vkUpdateDescriptorSets ) vkGetDeviceProcAddr( device, "vkUpdateDescriptorSets" ); 126 vkCreateFramebuffer = cast( PFN_vkCreateFramebuffer ) vkGetDeviceProcAddr( device, "vkCreateFramebuffer" ); 127 vkDestroyFramebuffer = cast( PFN_vkDestroyFramebuffer ) vkGetDeviceProcAddr( device, "vkDestroyFramebuffer" ); 128 vkCreateRenderPass = cast( PFN_vkCreateRenderPass ) vkGetDeviceProcAddr( device, "vkCreateRenderPass" ); 129 vkDestroyRenderPass = cast( PFN_vkDestroyRenderPass ) vkGetDeviceProcAddr( device, "vkDestroyRenderPass" ); 130 vkGetRenderAreaGranularity = cast( PFN_vkGetRenderAreaGranularity ) vkGetDeviceProcAddr( device, "vkGetRenderAreaGranularity" ); 131 vkCreateCommandPool = cast( PFN_vkCreateCommandPool ) vkGetDeviceProcAddr( device, "vkCreateCommandPool" ); 132 vkDestroyCommandPool = cast( PFN_vkDestroyCommandPool ) vkGetDeviceProcAddr( device, "vkDestroyCommandPool" ); 133 vkResetCommandPool = cast( PFN_vkResetCommandPool ) vkGetDeviceProcAddr( device, "vkResetCommandPool" ); 134 vkAllocateCommandBuffers = cast( PFN_vkAllocateCommandBuffers ) vkGetDeviceProcAddr( device, "vkAllocateCommandBuffers" ); 135 vkFreeCommandBuffers = cast( PFN_vkFreeCommandBuffers ) vkGetDeviceProcAddr( device, "vkFreeCommandBuffers" ); 136 vkBeginCommandBuffer = cast( PFN_vkBeginCommandBuffer ) vkGetDeviceProcAddr( device, "vkBeginCommandBuffer" ); 137 vkEndCommandBuffer = cast( PFN_vkEndCommandBuffer ) vkGetDeviceProcAddr( device, "vkEndCommandBuffer" ); 138 vkResetCommandBuffer = cast( PFN_vkResetCommandBuffer ) vkGetDeviceProcAddr( device, "vkResetCommandBuffer" ); 139 vkCmdBindPipeline = cast( PFN_vkCmdBindPipeline ) vkGetDeviceProcAddr( device, "vkCmdBindPipeline" ); 140 vkCmdSetViewport = cast( PFN_vkCmdSetViewport ) vkGetDeviceProcAddr( device, "vkCmdSetViewport" ); 141 vkCmdSetScissor = cast( PFN_vkCmdSetScissor ) vkGetDeviceProcAddr( device, "vkCmdSetScissor" ); 142 vkCmdSetLineWidth = cast( PFN_vkCmdSetLineWidth ) vkGetDeviceProcAddr( device, "vkCmdSetLineWidth" ); 143 vkCmdSetDepthBias = cast( PFN_vkCmdSetDepthBias ) vkGetDeviceProcAddr( device, "vkCmdSetDepthBias" ); 144 vkCmdSetBlendConstants = cast( PFN_vkCmdSetBlendConstants ) vkGetDeviceProcAddr( device, "vkCmdSetBlendConstants" ); 145 vkCmdSetDepthBounds = cast( PFN_vkCmdSetDepthBounds ) vkGetDeviceProcAddr( device, "vkCmdSetDepthBounds" ); 146 vkCmdSetStencilCompareMask = cast( PFN_vkCmdSetStencilCompareMask ) vkGetDeviceProcAddr( device, "vkCmdSetStencilCompareMask" ); 147 vkCmdSetStencilWriteMask = cast( PFN_vkCmdSetStencilWriteMask ) vkGetDeviceProcAddr( device, "vkCmdSetStencilWriteMask" ); 148 vkCmdSetStencilReference = cast( PFN_vkCmdSetStencilReference ) vkGetDeviceProcAddr( device, "vkCmdSetStencilReference" ); 149 vkCmdBindDescriptorSets = cast( PFN_vkCmdBindDescriptorSets ) vkGetDeviceProcAddr( device, "vkCmdBindDescriptorSets" ); 150 vkCmdBindIndexBuffer = cast( PFN_vkCmdBindIndexBuffer ) vkGetDeviceProcAddr( device, "vkCmdBindIndexBuffer" ); 151 vkCmdBindVertexBuffers = cast( PFN_vkCmdBindVertexBuffers ) vkGetDeviceProcAddr( device, "vkCmdBindVertexBuffers" ); 152 vkCmdDraw = cast( PFN_vkCmdDraw ) vkGetDeviceProcAddr( device, "vkCmdDraw" ); 153 vkCmdDrawIndexed = cast( PFN_vkCmdDrawIndexed ) vkGetDeviceProcAddr( device, "vkCmdDrawIndexed" ); 154 vkCmdDrawIndirect = cast( PFN_vkCmdDrawIndirect ) vkGetDeviceProcAddr( device, "vkCmdDrawIndirect" ); 155 vkCmdDrawIndexedIndirect = cast( PFN_vkCmdDrawIndexedIndirect ) vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirect" ); 156 vkCmdDispatch = cast( PFN_vkCmdDispatch ) vkGetDeviceProcAddr( device, "vkCmdDispatch" ); 157 vkCmdDispatchIndirect = cast( PFN_vkCmdDispatchIndirect ) vkGetDeviceProcAddr( device, "vkCmdDispatchIndirect" ); 158 vkCmdCopyBuffer = cast( PFN_vkCmdCopyBuffer ) vkGetDeviceProcAddr( device, "vkCmdCopyBuffer" ); 159 vkCmdCopyImage = cast( PFN_vkCmdCopyImage ) vkGetDeviceProcAddr( device, "vkCmdCopyImage" ); 160 vkCmdBlitImage = cast( PFN_vkCmdBlitImage ) vkGetDeviceProcAddr( device, "vkCmdBlitImage" ); 161 vkCmdCopyBufferToImage = cast( PFN_vkCmdCopyBufferToImage ) vkGetDeviceProcAddr( device, "vkCmdCopyBufferToImage" ); 162 vkCmdCopyImageToBuffer = cast( PFN_vkCmdCopyImageToBuffer ) vkGetDeviceProcAddr( device, "vkCmdCopyImageToBuffer" ); 163 vkCmdUpdateBuffer = cast( PFN_vkCmdUpdateBuffer ) vkGetDeviceProcAddr( device, "vkCmdUpdateBuffer" ); 164 vkCmdFillBuffer = cast( PFN_vkCmdFillBuffer ) vkGetDeviceProcAddr( device, "vkCmdFillBuffer" ); 165 vkCmdClearColorImage = cast( PFN_vkCmdClearColorImage ) vkGetDeviceProcAddr( device, "vkCmdClearColorImage" ); 166 vkCmdClearDepthStencilImage = cast( PFN_vkCmdClearDepthStencilImage ) vkGetDeviceProcAddr( device, "vkCmdClearDepthStencilImage" ); 167 vkCmdClearAttachments = cast( PFN_vkCmdClearAttachments ) vkGetDeviceProcAddr( device, "vkCmdClearAttachments" ); 168 vkCmdResolveImage = cast( PFN_vkCmdResolveImage ) vkGetDeviceProcAddr( device, "vkCmdResolveImage" ); 169 vkCmdSetEvent = cast( PFN_vkCmdSetEvent ) vkGetDeviceProcAddr( device, "vkCmdSetEvent" ); 170 vkCmdResetEvent = cast( PFN_vkCmdResetEvent ) vkGetDeviceProcAddr( device, "vkCmdResetEvent" ); 171 vkCmdWaitEvents = cast( PFN_vkCmdWaitEvents ) vkGetDeviceProcAddr( device, "vkCmdWaitEvents" ); 172 vkCmdPipelineBarrier = cast( PFN_vkCmdPipelineBarrier ) vkGetDeviceProcAddr( device, "vkCmdPipelineBarrier" ); 173 vkCmdBeginQuery = cast( PFN_vkCmdBeginQuery ) vkGetDeviceProcAddr( device, "vkCmdBeginQuery" ); 174 vkCmdEndQuery = cast( PFN_vkCmdEndQuery ) vkGetDeviceProcAddr( device, "vkCmdEndQuery" ); 175 vkCmdResetQueryPool = cast( PFN_vkCmdResetQueryPool ) vkGetDeviceProcAddr( device, "vkCmdResetQueryPool" ); 176 vkCmdWriteTimestamp = cast( PFN_vkCmdWriteTimestamp ) vkGetDeviceProcAddr( device, "vkCmdWriteTimestamp" ); 177 vkCmdCopyQueryPoolResults = cast( PFN_vkCmdCopyQueryPoolResults ) vkGetDeviceProcAddr( device, "vkCmdCopyQueryPoolResults" ); 178 vkCmdPushConstants = cast( PFN_vkCmdPushConstants ) vkGetDeviceProcAddr( device, "vkCmdPushConstants" ); 179 vkCmdBeginRenderPass = cast( PFN_vkCmdBeginRenderPass ) vkGetDeviceProcAddr( device, "vkCmdBeginRenderPass" ); 180 vkCmdNextSubpass = cast( PFN_vkCmdNextSubpass ) vkGetDeviceProcAddr( device, "vkCmdNextSubpass" ); 181 vkCmdEndRenderPass = cast( PFN_vkCmdEndRenderPass ) vkGetDeviceProcAddr( device, "vkCmdEndRenderPass" ); 182 vkCmdExecuteCommands = cast( PFN_vkCmdExecuteCommands ) vkGetDeviceProcAddr( device, "vkCmdExecuteCommands" ); 183 184 // VK_VERSION_1_1 185 vkBindBufferMemory2 = cast( PFN_vkBindBufferMemory2 ) vkGetDeviceProcAddr( device, "vkBindBufferMemory2" ); 186 vkBindImageMemory2 = cast( PFN_vkBindImageMemory2 ) vkGetDeviceProcAddr( device, "vkBindImageMemory2" ); 187 vkGetDeviceGroupPeerMemoryFeatures = cast( PFN_vkGetDeviceGroupPeerMemoryFeatures ) vkGetDeviceProcAddr( device, "vkGetDeviceGroupPeerMemoryFeatures" ); 188 vkCmdSetDeviceMask = cast( PFN_vkCmdSetDeviceMask ) vkGetDeviceProcAddr( device, "vkCmdSetDeviceMask" ); 189 vkCmdDispatchBase = cast( PFN_vkCmdDispatchBase ) vkGetDeviceProcAddr( device, "vkCmdDispatchBase" ); 190 vkGetImageMemoryRequirements2 = cast( PFN_vkGetImageMemoryRequirements2 ) vkGetDeviceProcAddr( device, "vkGetImageMemoryRequirements2" ); 191 vkGetBufferMemoryRequirements2 = cast( PFN_vkGetBufferMemoryRequirements2 ) vkGetDeviceProcAddr( device, "vkGetBufferMemoryRequirements2" ); 192 vkGetImageSparseMemoryRequirements2 = cast( PFN_vkGetImageSparseMemoryRequirements2 ) vkGetDeviceProcAddr( device, "vkGetImageSparseMemoryRequirements2" ); 193 vkTrimCommandPool = cast( PFN_vkTrimCommandPool ) vkGetDeviceProcAddr( device, "vkTrimCommandPool" ); 194 vkGetDeviceQueue2 = cast( PFN_vkGetDeviceQueue2 ) vkGetDeviceProcAddr( device, "vkGetDeviceQueue2" ); 195 vkCreateSamplerYcbcrConversion = cast( PFN_vkCreateSamplerYcbcrConversion ) vkGetDeviceProcAddr( device, "vkCreateSamplerYcbcrConversion" ); 196 vkDestroySamplerYcbcrConversion = cast( PFN_vkDestroySamplerYcbcrConversion ) vkGetDeviceProcAddr( device, "vkDestroySamplerYcbcrConversion" ); 197 vkCreateDescriptorUpdateTemplate = cast( PFN_vkCreateDescriptorUpdateTemplate ) vkGetDeviceProcAddr( device, "vkCreateDescriptorUpdateTemplate" ); 198 vkDestroyDescriptorUpdateTemplate = cast( PFN_vkDestroyDescriptorUpdateTemplate ) vkGetDeviceProcAddr( device, "vkDestroyDescriptorUpdateTemplate" ); 199 vkUpdateDescriptorSetWithTemplate = cast( PFN_vkUpdateDescriptorSetWithTemplate ) vkGetDeviceProcAddr( device, "vkUpdateDescriptorSetWithTemplate" ); 200 vkGetDescriptorSetLayoutSupport = cast( PFN_vkGetDescriptorSetLayoutSupport ) vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutSupport" ); 201 202 // VK_VERSION_1_2 203 vkCmdDrawIndirectCount = cast( PFN_vkCmdDrawIndirectCount ) vkGetDeviceProcAddr( device, "vkCmdDrawIndirectCount" ); 204 vkCmdDrawIndexedIndirectCount = cast( PFN_vkCmdDrawIndexedIndirectCount ) vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirectCount" ); 205 vkCreateRenderPass2 = cast( PFN_vkCreateRenderPass2 ) vkGetDeviceProcAddr( device, "vkCreateRenderPass2" ); 206 vkCmdBeginRenderPass2 = cast( PFN_vkCmdBeginRenderPass2 ) vkGetDeviceProcAddr( device, "vkCmdBeginRenderPass2" ); 207 vkCmdNextSubpass2 = cast( PFN_vkCmdNextSubpass2 ) vkGetDeviceProcAddr( device, "vkCmdNextSubpass2" ); 208 vkCmdEndRenderPass2 = cast( PFN_vkCmdEndRenderPass2 ) vkGetDeviceProcAddr( device, "vkCmdEndRenderPass2" ); 209 vkResetQueryPool = cast( PFN_vkResetQueryPool ) vkGetDeviceProcAddr( device, "vkResetQueryPool" ); 210 vkGetSemaphoreCounterValue = cast( PFN_vkGetSemaphoreCounterValue ) vkGetDeviceProcAddr( device, "vkGetSemaphoreCounterValue" ); 211 vkWaitSemaphores = cast( PFN_vkWaitSemaphores ) vkGetDeviceProcAddr( device, "vkWaitSemaphores" ); 212 vkSignalSemaphore = cast( PFN_vkSignalSemaphore ) vkGetDeviceProcAddr( device, "vkSignalSemaphore" ); 213 vkGetBufferDeviceAddress = cast( PFN_vkGetBufferDeviceAddress ) vkGetDeviceProcAddr( device, "vkGetBufferDeviceAddress" ); 214 vkGetBufferOpaqueCaptureAddress = cast( PFN_vkGetBufferOpaqueCaptureAddress ) vkGetDeviceProcAddr( device, "vkGetBufferOpaqueCaptureAddress" ); 215 vkGetDeviceMemoryOpaqueCaptureAddress = cast( PFN_vkGetDeviceMemoryOpaqueCaptureAddress ) vkGetDeviceProcAddr( device, "vkGetDeviceMemoryOpaqueCaptureAddress" ); 216 217 // VK_VERSION_1_3 218 vkCreatePrivateDataSlot = cast( PFN_vkCreatePrivateDataSlot ) vkGetDeviceProcAddr( device, "vkCreatePrivateDataSlot" ); 219 vkDestroyPrivateDataSlot = cast( PFN_vkDestroyPrivateDataSlot ) vkGetDeviceProcAddr( device, "vkDestroyPrivateDataSlot" ); 220 vkSetPrivateData = cast( PFN_vkSetPrivateData ) vkGetDeviceProcAddr( device, "vkSetPrivateData" ); 221 vkGetPrivateData = cast( PFN_vkGetPrivateData ) vkGetDeviceProcAddr( device, "vkGetPrivateData" ); 222 vkCmdSetEvent2 = cast( PFN_vkCmdSetEvent2 ) vkGetDeviceProcAddr( device, "vkCmdSetEvent2" ); 223 vkCmdResetEvent2 = cast( PFN_vkCmdResetEvent2 ) vkGetDeviceProcAddr( device, "vkCmdResetEvent2" ); 224 vkCmdWaitEvents2 = cast( PFN_vkCmdWaitEvents2 ) vkGetDeviceProcAddr( device, "vkCmdWaitEvents2" ); 225 vkCmdPipelineBarrier2 = cast( PFN_vkCmdPipelineBarrier2 ) vkGetDeviceProcAddr( device, "vkCmdPipelineBarrier2" ); 226 vkCmdWriteTimestamp2 = cast( PFN_vkCmdWriteTimestamp2 ) vkGetDeviceProcAddr( device, "vkCmdWriteTimestamp2" ); 227 vkQueueSubmit2 = cast( PFN_vkQueueSubmit2 ) vkGetDeviceProcAddr( device, "vkQueueSubmit2" ); 228 vkCmdCopyBuffer2 = cast( PFN_vkCmdCopyBuffer2 ) vkGetDeviceProcAddr( device, "vkCmdCopyBuffer2" ); 229 vkCmdCopyImage2 = cast( PFN_vkCmdCopyImage2 ) vkGetDeviceProcAddr( device, "vkCmdCopyImage2" ); 230 vkCmdCopyBufferToImage2 = cast( PFN_vkCmdCopyBufferToImage2 ) vkGetDeviceProcAddr( device, "vkCmdCopyBufferToImage2" ); 231 vkCmdCopyImageToBuffer2 = cast( PFN_vkCmdCopyImageToBuffer2 ) vkGetDeviceProcAddr( device, "vkCmdCopyImageToBuffer2" ); 232 vkCmdBlitImage2 = cast( PFN_vkCmdBlitImage2 ) vkGetDeviceProcAddr( device, "vkCmdBlitImage2" ); 233 vkCmdResolveImage2 = cast( PFN_vkCmdResolveImage2 ) vkGetDeviceProcAddr( device, "vkCmdResolveImage2" ); 234 vkCmdBeginRendering = cast( PFN_vkCmdBeginRendering ) vkGetDeviceProcAddr( device, "vkCmdBeginRendering" ); 235 vkCmdEndRendering = cast( PFN_vkCmdEndRendering ) vkGetDeviceProcAddr( device, "vkCmdEndRendering" ); 236 vkCmdSetCullMode = cast( PFN_vkCmdSetCullMode ) vkGetDeviceProcAddr( device, "vkCmdSetCullMode" ); 237 vkCmdSetFrontFace = cast( PFN_vkCmdSetFrontFace ) vkGetDeviceProcAddr( device, "vkCmdSetFrontFace" ); 238 vkCmdSetPrimitiveTopology = cast( PFN_vkCmdSetPrimitiveTopology ) vkGetDeviceProcAddr( device, "vkCmdSetPrimitiveTopology" ); 239 vkCmdSetViewportWithCount = cast( PFN_vkCmdSetViewportWithCount ) vkGetDeviceProcAddr( device, "vkCmdSetViewportWithCount" ); 240 vkCmdSetScissorWithCount = cast( PFN_vkCmdSetScissorWithCount ) vkGetDeviceProcAddr( device, "vkCmdSetScissorWithCount" ); 241 vkCmdBindVertexBuffers2 = cast( PFN_vkCmdBindVertexBuffers2 ) vkGetDeviceProcAddr( device, "vkCmdBindVertexBuffers2" ); 242 vkCmdSetDepthTestEnable = cast( PFN_vkCmdSetDepthTestEnable ) vkGetDeviceProcAddr( device, "vkCmdSetDepthTestEnable" ); 243 vkCmdSetDepthWriteEnable = cast( PFN_vkCmdSetDepthWriteEnable ) vkGetDeviceProcAddr( device, "vkCmdSetDepthWriteEnable" ); 244 vkCmdSetDepthCompareOp = cast( PFN_vkCmdSetDepthCompareOp ) vkGetDeviceProcAddr( device, "vkCmdSetDepthCompareOp" ); 245 vkCmdSetDepthBoundsTestEnable = cast( PFN_vkCmdSetDepthBoundsTestEnable ) vkGetDeviceProcAddr( device, "vkCmdSetDepthBoundsTestEnable" ); 246 vkCmdSetStencilTestEnable = cast( PFN_vkCmdSetStencilTestEnable ) vkGetDeviceProcAddr( device, "vkCmdSetStencilTestEnable" ); 247 vkCmdSetStencilOp = cast( PFN_vkCmdSetStencilOp ) vkGetDeviceProcAddr( device, "vkCmdSetStencilOp" ); 248 vkCmdSetRasterizerDiscardEnable = cast( PFN_vkCmdSetRasterizerDiscardEnable ) vkGetDeviceProcAddr( device, "vkCmdSetRasterizerDiscardEnable" ); 249 vkCmdSetDepthBiasEnable = cast( PFN_vkCmdSetDepthBiasEnable ) vkGetDeviceProcAddr( device, "vkCmdSetDepthBiasEnable" ); 250 vkCmdSetPrimitiveRestartEnable = cast( PFN_vkCmdSetPrimitiveRestartEnable ) vkGetDeviceProcAddr( device, "vkCmdSetPrimitiveRestartEnable" ); 251 vkGetDeviceBufferMemoryRequirements = cast( PFN_vkGetDeviceBufferMemoryRequirements ) vkGetDeviceProcAddr( device, "vkGetDeviceBufferMemoryRequirements" ); 252 vkGetDeviceImageMemoryRequirements = cast( PFN_vkGetDeviceImageMemoryRequirements ) vkGetDeviceProcAddr( device, "vkGetDeviceImageMemoryRequirements" ); 253 vkGetDeviceImageSparseMemoryRequirements = cast( PFN_vkGetDeviceImageSparseMemoryRequirements ) vkGetDeviceProcAddr( device, "vkGetDeviceImageSparseMemoryRequirements" ); 254 255 // VK_KHR_swapchain 256 vkCreateSwapchainKHR = cast( PFN_vkCreateSwapchainKHR ) vkGetDeviceProcAddr( device, "vkCreateSwapchainKHR" ); 257 vkDestroySwapchainKHR = cast( PFN_vkDestroySwapchainKHR ) vkGetDeviceProcAddr( device, "vkDestroySwapchainKHR" ); 258 vkGetSwapchainImagesKHR = cast( PFN_vkGetSwapchainImagesKHR ) vkGetDeviceProcAddr( device, "vkGetSwapchainImagesKHR" ); 259 vkAcquireNextImageKHR = cast( PFN_vkAcquireNextImageKHR ) vkGetDeviceProcAddr( device, "vkAcquireNextImageKHR" ); 260 vkQueuePresentKHR = cast( PFN_vkQueuePresentKHR ) vkGetDeviceProcAddr( device, "vkQueuePresentKHR" ); 261 vkGetDeviceGroupPresentCapabilitiesKHR = cast( PFN_vkGetDeviceGroupPresentCapabilitiesKHR ) vkGetDeviceProcAddr( device, "vkGetDeviceGroupPresentCapabilitiesKHR" ); 262 vkGetDeviceGroupSurfacePresentModesKHR = cast( PFN_vkGetDeviceGroupSurfacePresentModesKHR ) vkGetDeviceProcAddr( device, "vkGetDeviceGroupSurfacePresentModesKHR" ); 263 vkAcquireNextImage2KHR = cast( PFN_vkAcquireNextImage2KHR ) vkGetDeviceProcAddr( device, "vkAcquireNextImage2KHR" ); 264 265 // VK_KHR_display_swapchain 266 vkCreateSharedSwapchainsKHR = cast( PFN_vkCreateSharedSwapchainsKHR ) vkGetDeviceProcAddr( device, "vkCreateSharedSwapchainsKHR" ); 267 268 // VK_KHR_video_queue 269 vkCreateVideoSessionKHR = cast( PFN_vkCreateVideoSessionKHR ) vkGetDeviceProcAddr( device, "vkCreateVideoSessionKHR" ); 270 vkDestroyVideoSessionKHR = cast( PFN_vkDestroyVideoSessionKHR ) vkGetDeviceProcAddr( device, "vkDestroyVideoSessionKHR" ); 271 vkGetVideoSessionMemoryRequirementsKHR = cast( PFN_vkGetVideoSessionMemoryRequirementsKHR ) vkGetDeviceProcAddr( device, "vkGetVideoSessionMemoryRequirementsKHR" ); 272 vkBindVideoSessionMemoryKHR = cast( PFN_vkBindVideoSessionMemoryKHR ) vkGetDeviceProcAddr( device, "vkBindVideoSessionMemoryKHR" ); 273 vkCreateVideoSessionParametersKHR = cast( PFN_vkCreateVideoSessionParametersKHR ) vkGetDeviceProcAddr( device, "vkCreateVideoSessionParametersKHR" ); 274 vkUpdateVideoSessionParametersKHR = cast( PFN_vkUpdateVideoSessionParametersKHR ) vkGetDeviceProcAddr( device, "vkUpdateVideoSessionParametersKHR" ); 275 vkDestroyVideoSessionParametersKHR = cast( PFN_vkDestroyVideoSessionParametersKHR ) vkGetDeviceProcAddr( device, "vkDestroyVideoSessionParametersKHR" ); 276 vkCmdBeginVideoCodingKHR = cast( PFN_vkCmdBeginVideoCodingKHR ) vkGetDeviceProcAddr( device, "vkCmdBeginVideoCodingKHR" ); 277 vkCmdEndVideoCodingKHR = cast( PFN_vkCmdEndVideoCodingKHR ) vkGetDeviceProcAddr( device, "vkCmdEndVideoCodingKHR" ); 278 vkCmdControlVideoCodingKHR = cast( PFN_vkCmdControlVideoCodingKHR ) vkGetDeviceProcAddr( device, "vkCmdControlVideoCodingKHR" ); 279 280 // VK_KHR_video_decode_queue 281 vkCmdDecodeVideoKHR = cast( PFN_vkCmdDecodeVideoKHR ) vkGetDeviceProcAddr( device, "vkCmdDecodeVideoKHR" ); 282 283 // VK_KHR_external_memory_fd 284 vkGetMemoryFdKHR = cast( PFN_vkGetMemoryFdKHR ) vkGetDeviceProcAddr( device, "vkGetMemoryFdKHR" ); 285 vkGetMemoryFdPropertiesKHR = cast( PFN_vkGetMemoryFdPropertiesKHR ) vkGetDeviceProcAddr( device, "vkGetMemoryFdPropertiesKHR" ); 286 287 // VK_KHR_external_semaphore_fd 288 vkImportSemaphoreFdKHR = cast( PFN_vkImportSemaphoreFdKHR ) vkGetDeviceProcAddr( device, "vkImportSemaphoreFdKHR" ); 289 vkGetSemaphoreFdKHR = cast( PFN_vkGetSemaphoreFdKHR ) vkGetDeviceProcAddr( device, "vkGetSemaphoreFdKHR" ); 290 291 // VK_KHR_push_descriptor 292 vkCmdPushDescriptorSetKHR = cast( PFN_vkCmdPushDescriptorSetKHR ) vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSetKHR" ); 293 vkCmdPushDescriptorSetWithTemplateKHR = cast( PFN_vkCmdPushDescriptorSetWithTemplateKHR ) vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSetWithTemplateKHR" ); 294 295 // VK_KHR_shared_presentable_image 296 vkGetSwapchainStatusKHR = cast( PFN_vkGetSwapchainStatusKHR ) vkGetDeviceProcAddr( device, "vkGetSwapchainStatusKHR" ); 297 298 // VK_KHR_external_fence_fd 299 vkImportFenceFdKHR = cast( PFN_vkImportFenceFdKHR ) vkGetDeviceProcAddr( device, "vkImportFenceFdKHR" ); 300 vkGetFenceFdKHR = cast( PFN_vkGetFenceFdKHR ) vkGetDeviceProcAddr( device, "vkGetFenceFdKHR" ); 301 302 // VK_KHR_performance_query 303 vkAcquireProfilingLockKHR = cast( PFN_vkAcquireProfilingLockKHR ) vkGetDeviceProcAddr( device, "vkAcquireProfilingLockKHR" ); 304 vkReleaseProfilingLockKHR = cast( PFN_vkReleaseProfilingLockKHR ) vkGetDeviceProcAddr( device, "vkReleaseProfilingLockKHR" ); 305 306 // VK_KHR_fragment_shading_rate 307 vkCmdSetFragmentShadingRateKHR = cast( PFN_vkCmdSetFragmentShadingRateKHR ) vkGetDeviceProcAddr( device, "vkCmdSetFragmentShadingRateKHR" ); 308 309 // VK_KHR_present_wait 310 vkWaitForPresentKHR = cast( PFN_vkWaitForPresentKHR ) vkGetDeviceProcAddr( device, "vkWaitForPresentKHR" ); 311 312 // VK_KHR_deferred_host_operations 313 vkCreateDeferredOperationKHR = cast( PFN_vkCreateDeferredOperationKHR ) vkGetDeviceProcAddr( device, "vkCreateDeferredOperationKHR" ); 314 vkDestroyDeferredOperationKHR = cast( PFN_vkDestroyDeferredOperationKHR ) vkGetDeviceProcAddr( device, "vkDestroyDeferredOperationKHR" ); 315 vkGetDeferredOperationMaxConcurrencyKHR = cast( PFN_vkGetDeferredOperationMaxConcurrencyKHR ) vkGetDeviceProcAddr( device, "vkGetDeferredOperationMaxConcurrencyKHR" ); 316 vkGetDeferredOperationResultKHR = cast( PFN_vkGetDeferredOperationResultKHR ) vkGetDeviceProcAddr( device, "vkGetDeferredOperationResultKHR" ); 317 vkDeferredOperationJoinKHR = cast( PFN_vkDeferredOperationJoinKHR ) vkGetDeviceProcAddr( device, "vkDeferredOperationJoinKHR" ); 318 319 // VK_KHR_pipeline_executable_properties 320 vkGetPipelineExecutablePropertiesKHR = cast( PFN_vkGetPipelineExecutablePropertiesKHR ) vkGetDeviceProcAddr( device, "vkGetPipelineExecutablePropertiesKHR" ); 321 vkGetPipelineExecutableStatisticsKHR = cast( PFN_vkGetPipelineExecutableStatisticsKHR ) vkGetDeviceProcAddr( device, "vkGetPipelineExecutableStatisticsKHR" ); 322 vkGetPipelineExecutableInternalRepresentationsKHR = cast( PFN_vkGetPipelineExecutableInternalRepresentationsKHR ) vkGetDeviceProcAddr( device, "vkGetPipelineExecutableInternalRepresentationsKHR" ); 323 324 // VK_KHR_map_memory2 325 vkMapMemory2KHR = cast( PFN_vkMapMemory2KHR ) vkGetDeviceProcAddr( device, "vkMapMemory2KHR" ); 326 vkUnmapMemory2KHR = cast( PFN_vkUnmapMemory2KHR ) vkGetDeviceProcAddr( device, "vkUnmapMemory2KHR" ); 327 328 // VK_KHR_synchronization2 329 vkCmdWriteBufferMarker2AMD = cast( PFN_vkCmdWriteBufferMarker2AMD ) vkGetDeviceProcAddr( device, "vkCmdWriteBufferMarker2AMD" ); 330 vkGetQueueCheckpointData2NV = cast( PFN_vkGetQueueCheckpointData2NV ) vkGetDeviceProcAddr( device, "vkGetQueueCheckpointData2NV" ); 331 332 // VK_KHR_ray_tracing_maintenance1 333 vkCmdTraceRaysIndirect2KHR = cast( PFN_vkCmdTraceRaysIndirect2KHR ) vkGetDeviceProcAddr( device, "vkCmdTraceRaysIndirect2KHR" ); 334 335 // VK_EXT_debug_marker 336 vkDebugMarkerSetObjectTagEXT = cast( PFN_vkDebugMarkerSetObjectTagEXT ) vkGetDeviceProcAddr( device, "vkDebugMarkerSetObjectTagEXT" ); 337 vkDebugMarkerSetObjectNameEXT = cast( PFN_vkDebugMarkerSetObjectNameEXT ) vkGetDeviceProcAddr( device, "vkDebugMarkerSetObjectNameEXT" ); 338 vkCmdDebugMarkerBeginEXT = cast( PFN_vkCmdDebugMarkerBeginEXT ) vkGetDeviceProcAddr( device, "vkCmdDebugMarkerBeginEXT" ); 339 vkCmdDebugMarkerEndEXT = cast( PFN_vkCmdDebugMarkerEndEXT ) vkGetDeviceProcAddr( device, "vkCmdDebugMarkerEndEXT" ); 340 vkCmdDebugMarkerInsertEXT = cast( PFN_vkCmdDebugMarkerInsertEXT ) vkGetDeviceProcAddr( device, "vkCmdDebugMarkerInsertEXT" ); 341 342 // VK_EXT_transform_feedback 343 vkCmdBindTransformFeedbackBuffersEXT = cast( PFN_vkCmdBindTransformFeedbackBuffersEXT ) vkGetDeviceProcAddr( device, "vkCmdBindTransformFeedbackBuffersEXT" ); 344 vkCmdBeginTransformFeedbackEXT = cast( PFN_vkCmdBeginTransformFeedbackEXT ) vkGetDeviceProcAddr( device, "vkCmdBeginTransformFeedbackEXT" ); 345 vkCmdEndTransformFeedbackEXT = cast( PFN_vkCmdEndTransformFeedbackEXT ) vkGetDeviceProcAddr( device, "vkCmdEndTransformFeedbackEXT" ); 346 vkCmdBeginQueryIndexedEXT = cast( PFN_vkCmdBeginQueryIndexedEXT ) vkGetDeviceProcAddr( device, "vkCmdBeginQueryIndexedEXT" ); 347 vkCmdEndQueryIndexedEXT = cast( PFN_vkCmdEndQueryIndexedEXT ) vkGetDeviceProcAddr( device, "vkCmdEndQueryIndexedEXT" ); 348 vkCmdDrawIndirectByteCountEXT = cast( PFN_vkCmdDrawIndirectByteCountEXT ) vkGetDeviceProcAddr( device, "vkCmdDrawIndirectByteCountEXT" ); 349 350 // VK_NVX_binary_import 351 vkCreateCuModuleNVX = cast( PFN_vkCreateCuModuleNVX ) vkGetDeviceProcAddr( device, "vkCreateCuModuleNVX" ); 352 vkCreateCuFunctionNVX = cast( PFN_vkCreateCuFunctionNVX ) vkGetDeviceProcAddr( device, "vkCreateCuFunctionNVX" ); 353 vkDestroyCuModuleNVX = cast( PFN_vkDestroyCuModuleNVX ) vkGetDeviceProcAddr( device, "vkDestroyCuModuleNVX" ); 354 vkDestroyCuFunctionNVX = cast( PFN_vkDestroyCuFunctionNVX ) vkGetDeviceProcAddr( device, "vkDestroyCuFunctionNVX" ); 355 vkCmdCuLaunchKernelNVX = cast( PFN_vkCmdCuLaunchKernelNVX ) vkGetDeviceProcAddr( device, "vkCmdCuLaunchKernelNVX" ); 356 357 // VK_NVX_image_view_handle 358 vkGetImageViewHandleNVX = cast( PFN_vkGetImageViewHandleNVX ) vkGetDeviceProcAddr( device, "vkGetImageViewHandleNVX" ); 359 vkGetImageViewAddressNVX = cast( PFN_vkGetImageViewAddressNVX ) vkGetDeviceProcAddr( device, "vkGetImageViewAddressNVX" ); 360 361 // VK_AMD_shader_info 362 vkGetShaderInfoAMD = cast( PFN_vkGetShaderInfoAMD ) vkGetDeviceProcAddr( device, "vkGetShaderInfoAMD" ); 363 364 // VK_EXT_conditional_rendering 365 vkCmdBeginConditionalRenderingEXT = cast( PFN_vkCmdBeginConditionalRenderingEXT ) vkGetDeviceProcAddr( device, "vkCmdBeginConditionalRenderingEXT" ); 366 vkCmdEndConditionalRenderingEXT = cast( PFN_vkCmdEndConditionalRenderingEXT ) vkGetDeviceProcAddr( device, "vkCmdEndConditionalRenderingEXT" ); 367 368 // VK_NV_clip_space_w_scaling 369 vkCmdSetViewportWScalingNV = cast( PFN_vkCmdSetViewportWScalingNV ) vkGetDeviceProcAddr( device, "vkCmdSetViewportWScalingNV" ); 370 371 // VK_EXT_display_control 372 vkDisplayPowerControlEXT = cast( PFN_vkDisplayPowerControlEXT ) vkGetDeviceProcAddr( device, "vkDisplayPowerControlEXT" ); 373 vkRegisterDeviceEventEXT = cast( PFN_vkRegisterDeviceEventEXT ) vkGetDeviceProcAddr( device, "vkRegisterDeviceEventEXT" ); 374 vkRegisterDisplayEventEXT = cast( PFN_vkRegisterDisplayEventEXT ) vkGetDeviceProcAddr( device, "vkRegisterDisplayEventEXT" ); 375 vkGetSwapchainCounterEXT = cast( PFN_vkGetSwapchainCounterEXT ) vkGetDeviceProcAddr( device, "vkGetSwapchainCounterEXT" ); 376 377 // VK_GOOGLE_display_timing 378 vkGetRefreshCycleDurationGOOGLE = cast( PFN_vkGetRefreshCycleDurationGOOGLE ) vkGetDeviceProcAddr( device, "vkGetRefreshCycleDurationGOOGLE" ); 379 vkGetPastPresentationTimingGOOGLE = cast( PFN_vkGetPastPresentationTimingGOOGLE ) vkGetDeviceProcAddr( device, "vkGetPastPresentationTimingGOOGLE" ); 380 381 // VK_EXT_discard_rectangles 382 vkCmdSetDiscardRectangleEXT = cast( PFN_vkCmdSetDiscardRectangleEXT ) vkGetDeviceProcAddr( device, "vkCmdSetDiscardRectangleEXT" ); 383 vkCmdSetDiscardRectangleEnableEXT = cast( PFN_vkCmdSetDiscardRectangleEnableEXT ) vkGetDeviceProcAddr( device, "vkCmdSetDiscardRectangleEnableEXT" ); 384 vkCmdSetDiscardRectangleModeEXT = cast( PFN_vkCmdSetDiscardRectangleModeEXT ) vkGetDeviceProcAddr( device, "vkCmdSetDiscardRectangleModeEXT" ); 385 386 // VK_EXT_hdr_metadata 387 vkSetHdrMetadataEXT = cast( PFN_vkSetHdrMetadataEXT ) vkGetDeviceProcAddr( device, "vkSetHdrMetadataEXT" ); 388 389 // VK_EXT_debug_utils 390 vkSetDebugUtilsObjectNameEXT = cast( PFN_vkSetDebugUtilsObjectNameEXT ) vkGetDeviceProcAddr( device, "vkSetDebugUtilsObjectNameEXT" ); 391 vkSetDebugUtilsObjectTagEXT = cast( PFN_vkSetDebugUtilsObjectTagEXT ) vkGetDeviceProcAddr( device, "vkSetDebugUtilsObjectTagEXT" ); 392 vkQueueBeginDebugUtilsLabelEXT = cast( PFN_vkQueueBeginDebugUtilsLabelEXT ) vkGetDeviceProcAddr( device, "vkQueueBeginDebugUtilsLabelEXT" ); 393 vkQueueEndDebugUtilsLabelEXT = cast( PFN_vkQueueEndDebugUtilsLabelEXT ) vkGetDeviceProcAddr( device, "vkQueueEndDebugUtilsLabelEXT" ); 394 vkQueueInsertDebugUtilsLabelEXT = cast( PFN_vkQueueInsertDebugUtilsLabelEXT ) vkGetDeviceProcAddr( device, "vkQueueInsertDebugUtilsLabelEXT" ); 395 vkCmdBeginDebugUtilsLabelEXT = cast( PFN_vkCmdBeginDebugUtilsLabelEXT ) vkGetDeviceProcAddr( device, "vkCmdBeginDebugUtilsLabelEXT" ); 396 vkCmdEndDebugUtilsLabelEXT = cast( PFN_vkCmdEndDebugUtilsLabelEXT ) vkGetDeviceProcAddr( device, "vkCmdEndDebugUtilsLabelEXT" ); 397 vkCmdInsertDebugUtilsLabelEXT = cast( PFN_vkCmdInsertDebugUtilsLabelEXT ) vkGetDeviceProcAddr( device, "vkCmdInsertDebugUtilsLabelEXT" ); 398 399 // VK_EXT_sample_locations 400 vkCmdSetSampleLocationsEXT = cast( PFN_vkCmdSetSampleLocationsEXT ) vkGetDeviceProcAddr( device, "vkCmdSetSampleLocationsEXT" ); 401 402 // VK_EXT_image_drm_format_modifier 403 vkGetImageDrmFormatModifierPropertiesEXT = cast( PFN_vkGetImageDrmFormatModifierPropertiesEXT ) vkGetDeviceProcAddr( device, "vkGetImageDrmFormatModifierPropertiesEXT" ); 404 405 // VK_EXT_validation_cache 406 vkCreateValidationCacheEXT = cast( PFN_vkCreateValidationCacheEXT ) vkGetDeviceProcAddr( device, "vkCreateValidationCacheEXT" ); 407 vkDestroyValidationCacheEXT = cast( PFN_vkDestroyValidationCacheEXT ) vkGetDeviceProcAddr( device, "vkDestroyValidationCacheEXT" ); 408 vkMergeValidationCachesEXT = cast( PFN_vkMergeValidationCachesEXT ) vkGetDeviceProcAddr( device, "vkMergeValidationCachesEXT" ); 409 vkGetValidationCacheDataEXT = cast( PFN_vkGetValidationCacheDataEXT ) vkGetDeviceProcAddr( device, "vkGetValidationCacheDataEXT" ); 410 411 // VK_NV_shading_rate_image 412 vkCmdBindShadingRateImageNV = cast( PFN_vkCmdBindShadingRateImageNV ) vkGetDeviceProcAddr( device, "vkCmdBindShadingRateImageNV" ); 413 vkCmdSetViewportShadingRatePaletteNV = cast( PFN_vkCmdSetViewportShadingRatePaletteNV ) vkGetDeviceProcAddr( device, "vkCmdSetViewportShadingRatePaletteNV" ); 414 vkCmdSetCoarseSampleOrderNV = cast( PFN_vkCmdSetCoarseSampleOrderNV ) vkGetDeviceProcAddr( device, "vkCmdSetCoarseSampleOrderNV" ); 415 416 // VK_NV_ray_tracing 417 vkCreateAccelerationStructureNV = cast( PFN_vkCreateAccelerationStructureNV ) vkGetDeviceProcAddr( device, "vkCreateAccelerationStructureNV" ); 418 vkDestroyAccelerationStructureNV = cast( PFN_vkDestroyAccelerationStructureNV ) vkGetDeviceProcAddr( device, "vkDestroyAccelerationStructureNV" ); 419 vkGetAccelerationStructureMemoryRequirementsNV = cast( PFN_vkGetAccelerationStructureMemoryRequirementsNV ) vkGetDeviceProcAddr( device, "vkGetAccelerationStructureMemoryRequirementsNV" ); 420 vkBindAccelerationStructureMemoryNV = cast( PFN_vkBindAccelerationStructureMemoryNV ) vkGetDeviceProcAddr( device, "vkBindAccelerationStructureMemoryNV" ); 421 vkCmdBuildAccelerationStructureNV = cast( PFN_vkCmdBuildAccelerationStructureNV ) vkGetDeviceProcAddr( device, "vkCmdBuildAccelerationStructureNV" ); 422 vkCmdCopyAccelerationStructureNV = cast( PFN_vkCmdCopyAccelerationStructureNV ) vkGetDeviceProcAddr( device, "vkCmdCopyAccelerationStructureNV" ); 423 vkCmdTraceRaysNV = cast( PFN_vkCmdTraceRaysNV ) vkGetDeviceProcAddr( device, "vkCmdTraceRaysNV" ); 424 vkCreateRayTracingPipelinesNV = cast( PFN_vkCreateRayTracingPipelinesNV ) vkGetDeviceProcAddr( device, "vkCreateRayTracingPipelinesNV" ); 425 vkGetRayTracingShaderGroupHandlesKHR = cast( PFN_vkGetRayTracingShaderGroupHandlesKHR ) vkGetDeviceProcAddr( device, "vkGetRayTracingShaderGroupHandlesKHR" ); 426 vkGetAccelerationStructureHandleNV = cast( PFN_vkGetAccelerationStructureHandleNV ) vkGetDeviceProcAddr( device, "vkGetAccelerationStructureHandleNV" ); 427 vkCmdWriteAccelerationStructuresPropertiesNV = cast( PFN_vkCmdWriteAccelerationStructuresPropertiesNV ) vkGetDeviceProcAddr( device, "vkCmdWriteAccelerationStructuresPropertiesNV" ); 428 vkCompileDeferredNV = cast( PFN_vkCompileDeferredNV ) vkGetDeviceProcAddr( device, "vkCompileDeferredNV" ); 429 430 // VK_EXT_external_memory_host 431 vkGetMemoryHostPointerPropertiesEXT = cast( PFN_vkGetMemoryHostPointerPropertiesEXT ) vkGetDeviceProcAddr( device, "vkGetMemoryHostPointerPropertiesEXT" ); 432 433 // VK_AMD_buffer_marker 434 vkCmdWriteBufferMarkerAMD = cast( PFN_vkCmdWriteBufferMarkerAMD ) vkGetDeviceProcAddr( device, "vkCmdWriteBufferMarkerAMD" ); 435 436 // VK_EXT_calibrated_timestamps 437 vkGetCalibratedTimestampsEXT = cast( PFN_vkGetCalibratedTimestampsEXT ) vkGetDeviceProcAddr( device, "vkGetCalibratedTimestampsEXT" ); 438 439 // VK_NV_mesh_shader 440 vkCmdDrawMeshTasksNV = cast( PFN_vkCmdDrawMeshTasksNV ) vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksNV" ); 441 vkCmdDrawMeshTasksIndirectNV = cast( PFN_vkCmdDrawMeshTasksIndirectNV ) vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksIndirectNV" ); 442 vkCmdDrawMeshTasksIndirectCountNV = cast( PFN_vkCmdDrawMeshTasksIndirectCountNV ) vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksIndirectCountNV" ); 443 444 // VK_NV_scissor_exclusive 445 vkCmdSetExclusiveScissorEnableNV = cast( PFN_vkCmdSetExclusiveScissorEnableNV ) vkGetDeviceProcAddr( device, "vkCmdSetExclusiveScissorEnableNV" ); 446 vkCmdSetExclusiveScissorNV = cast( PFN_vkCmdSetExclusiveScissorNV ) vkGetDeviceProcAddr( device, "vkCmdSetExclusiveScissorNV" ); 447 448 // VK_NV_device_diagnostic_checkpoints 449 vkCmdSetCheckpointNV = cast( PFN_vkCmdSetCheckpointNV ) vkGetDeviceProcAddr( device, "vkCmdSetCheckpointNV" ); 450 vkGetQueueCheckpointDataNV = cast( PFN_vkGetQueueCheckpointDataNV ) vkGetDeviceProcAddr( device, "vkGetQueueCheckpointDataNV" ); 451 452 // VK_INTEL_performance_query 453 vkInitializePerformanceApiINTEL = cast( PFN_vkInitializePerformanceApiINTEL ) vkGetDeviceProcAddr( device, "vkInitializePerformanceApiINTEL" ); 454 vkUninitializePerformanceApiINTEL = cast( PFN_vkUninitializePerformanceApiINTEL ) vkGetDeviceProcAddr( device, "vkUninitializePerformanceApiINTEL" ); 455 vkCmdSetPerformanceMarkerINTEL = cast( PFN_vkCmdSetPerformanceMarkerINTEL ) vkGetDeviceProcAddr( device, "vkCmdSetPerformanceMarkerINTEL" ); 456 vkCmdSetPerformanceStreamMarkerINTEL = cast( PFN_vkCmdSetPerformanceStreamMarkerINTEL ) vkGetDeviceProcAddr( device, "vkCmdSetPerformanceStreamMarkerINTEL" ); 457 vkCmdSetPerformanceOverrideINTEL = cast( PFN_vkCmdSetPerformanceOverrideINTEL ) vkGetDeviceProcAddr( device, "vkCmdSetPerformanceOverrideINTEL" ); 458 vkAcquirePerformanceConfigurationINTEL = cast( PFN_vkAcquirePerformanceConfigurationINTEL ) vkGetDeviceProcAddr( device, "vkAcquirePerformanceConfigurationINTEL" ); 459 vkReleasePerformanceConfigurationINTEL = cast( PFN_vkReleasePerformanceConfigurationINTEL ) vkGetDeviceProcAddr( device, "vkReleasePerformanceConfigurationINTEL" ); 460 vkQueueSetPerformanceConfigurationINTEL = cast( PFN_vkQueueSetPerformanceConfigurationINTEL ) vkGetDeviceProcAddr( device, "vkQueueSetPerformanceConfigurationINTEL" ); 461 vkGetPerformanceParameterINTEL = cast( PFN_vkGetPerformanceParameterINTEL ) vkGetDeviceProcAddr( device, "vkGetPerformanceParameterINTEL" ); 462 463 // VK_AMD_display_native_hdr 464 vkSetLocalDimmingAMD = cast( PFN_vkSetLocalDimmingAMD ) vkGetDeviceProcAddr( device, "vkSetLocalDimmingAMD" ); 465 466 // VK_EXT_line_rasterization 467 vkCmdSetLineStippleEXT = cast( PFN_vkCmdSetLineStippleEXT ) vkGetDeviceProcAddr( device, "vkCmdSetLineStippleEXT" ); 468 469 // VK_EXT_swapchain_maintenance1 470 vkReleaseSwapchainImagesEXT = cast( PFN_vkReleaseSwapchainImagesEXT ) vkGetDeviceProcAddr( device, "vkReleaseSwapchainImagesEXT" ); 471 472 // VK_NV_device_generated_commands 473 vkGetGeneratedCommandsMemoryRequirementsNV = cast( PFN_vkGetGeneratedCommandsMemoryRequirementsNV ) vkGetDeviceProcAddr( device, "vkGetGeneratedCommandsMemoryRequirementsNV" ); 474 vkCmdPreprocessGeneratedCommandsNV = cast( PFN_vkCmdPreprocessGeneratedCommandsNV ) vkGetDeviceProcAddr( device, "vkCmdPreprocessGeneratedCommandsNV" ); 475 vkCmdExecuteGeneratedCommandsNV = cast( PFN_vkCmdExecuteGeneratedCommandsNV ) vkGetDeviceProcAddr( device, "vkCmdExecuteGeneratedCommandsNV" ); 476 vkCmdBindPipelineShaderGroupNV = cast( PFN_vkCmdBindPipelineShaderGroupNV ) vkGetDeviceProcAddr( device, "vkCmdBindPipelineShaderGroupNV" ); 477 vkCreateIndirectCommandsLayoutNV = cast( PFN_vkCreateIndirectCommandsLayoutNV ) vkGetDeviceProcAddr( device, "vkCreateIndirectCommandsLayoutNV" ); 478 vkDestroyIndirectCommandsLayoutNV = cast( PFN_vkDestroyIndirectCommandsLayoutNV ) vkGetDeviceProcAddr( device, "vkDestroyIndirectCommandsLayoutNV" ); 479 480 // VK_EXT_descriptor_buffer 481 vkGetDescriptorSetLayoutSizeEXT = cast( PFN_vkGetDescriptorSetLayoutSizeEXT ) vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutSizeEXT" ); 482 vkGetDescriptorSetLayoutBindingOffsetEXT = cast( PFN_vkGetDescriptorSetLayoutBindingOffsetEXT ) vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutBindingOffsetEXT" ); 483 vkGetDescriptorEXT = cast( PFN_vkGetDescriptorEXT ) vkGetDeviceProcAddr( device, "vkGetDescriptorEXT" ); 484 vkCmdBindDescriptorBuffersEXT = cast( PFN_vkCmdBindDescriptorBuffersEXT ) vkGetDeviceProcAddr( device, "vkCmdBindDescriptorBuffersEXT" ); 485 vkCmdSetDescriptorBufferOffsetsEXT = cast( PFN_vkCmdSetDescriptorBufferOffsetsEXT ) vkGetDeviceProcAddr( device, "vkCmdSetDescriptorBufferOffsetsEXT" ); 486 vkCmdBindDescriptorBufferEmbeddedSamplersEXT = cast( PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT ) vkGetDeviceProcAddr( device, "vkCmdBindDescriptorBufferEmbeddedSamplersEXT" ); 487 vkGetBufferOpaqueCaptureDescriptorDataEXT = cast( PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT ) vkGetDeviceProcAddr( device, "vkGetBufferOpaqueCaptureDescriptorDataEXT" ); 488 vkGetImageOpaqueCaptureDescriptorDataEXT = cast( PFN_vkGetImageOpaqueCaptureDescriptorDataEXT ) vkGetDeviceProcAddr( device, "vkGetImageOpaqueCaptureDescriptorDataEXT" ); 489 vkGetImageViewOpaqueCaptureDescriptorDataEXT = cast( PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT ) vkGetDeviceProcAddr( device, "vkGetImageViewOpaqueCaptureDescriptorDataEXT" ); 490 vkGetSamplerOpaqueCaptureDescriptorDataEXT = cast( PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT ) vkGetDeviceProcAddr( device, "vkGetSamplerOpaqueCaptureDescriptorDataEXT" ); 491 vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT = cast( PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT ) vkGetDeviceProcAddr( device, "vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT" ); 492 493 // VK_NV_fragment_shading_rate_enums 494 vkCmdSetFragmentShadingRateEnumNV = cast( PFN_vkCmdSetFragmentShadingRateEnumNV ) vkGetDeviceProcAddr( device, "vkCmdSetFragmentShadingRateEnumNV" ); 495 496 // VK_EXT_image_compression_control 497 vkGetImageSubresourceLayout2EXT = cast( PFN_vkGetImageSubresourceLayout2EXT ) vkGetDeviceProcAddr( device, "vkGetImageSubresourceLayout2EXT" ); 498 499 // VK_EXT_device_fault 500 vkGetDeviceFaultInfoEXT = cast( PFN_vkGetDeviceFaultInfoEXT ) vkGetDeviceProcAddr( device, "vkGetDeviceFaultInfoEXT" ); 501 502 // VK_EXT_vertex_input_dynamic_state 503 vkCmdSetVertexInputEXT = cast( PFN_vkCmdSetVertexInputEXT ) vkGetDeviceProcAddr( device, "vkCmdSetVertexInputEXT" ); 504 505 // VK_HUAWEI_subpass_shading 506 vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = cast( PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI ) vkGetDeviceProcAddr( device, "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI" ); 507 vkCmdSubpassShadingHUAWEI = cast( PFN_vkCmdSubpassShadingHUAWEI ) vkGetDeviceProcAddr( device, "vkCmdSubpassShadingHUAWEI" ); 508 509 // VK_HUAWEI_invocation_mask 510 vkCmdBindInvocationMaskHUAWEI = cast( PFN_vkCmdBindInvocationMaskHUAWEI ) vkGetDeviceProcAddr( device, "vkCmdBindInvocationMaskHUAWEI" ); 511 512 // VK_NV_external_memory_rdma 513 vkGetMemoryRemoteAddressNV = cast( PFN_vkGetMemoryRemoteAddressNV ) vkGetDeviceProcAddr( device, "vkGetMemoryRemoteAddressNV" ); 514 515 // VK_EXT_pipeline_properties 516 vkGetPipelinePropertiesEXT = cast( PFN_vkGetPipelinePropertiesEXT ) vkGetDeviceProcAddr( device, "vkGetPipelinePropertiesEXT" ); 517 518 // VK_EXT_extended_dynamic_state2 519 vkCmdSetPatchControlPointsEXT = cast( PFN_vkCmdSetPatchControlPointsEXT ) vkGetDeviceProcAddr( device, "vkCmdSetPatchControlPointsEXT" ); 520 vkCmdSetLogicOpEXT = cast( PFN_vkCmdSetLogicOpEXT ) vkGetDeviceProcAddr( device, "vkCmdSetLogicOpEXT" ); 521 522 // VK_EXT_color_write_enable 523 vkCmdSetColorWriteEnableEXT = cast( PFN_vkCmdSetColorWriteEnableEXT ) vkGetDeviceProcAddr( device, "vkCmdSetColorWriteEnableEXT" ); 524 525 // VK_EXT_multi_draw 526 vkCmdDrawMultiEXT = cast( PFN_vkCmdDrawMultiEXT ) vkGetDeviceProcAddr( device, "vkCmdDrawMultiEXT" ); 527 vkCmdDrawMultiIndexedEXT = cast( PFN_vkCmdDrawMultiIndexedEXT ) vkGetDeviceProcAddr( device, "vkCmdDrawMultiIndexedEXT" ); 528 529 // VK_EXT_opacity_micromap 530 vkCreateMicromapEXT = cast( PFN_vkCreateMicromapEXT ) vkGetDeviceProcAddr( device, "vkCreateMicromapEXT" ); 531 vkDestroyMicromapEXT = cast( PFN_vkDestroyMicromapEXT ) vkGetDeviceProcAddr( device, "vkDestroyMicromapEXT" ); 532 vkCmdBuildMicromapsEXT = cast( PFN_vkCmdBuildMicromapsEXT ) vkGetDeviceProcAddr( device, "vkCmdBuildMicromapsEXT" ); 533 vkBuildMicromapsEXT = cast( PFN_vkBuildMicromapsEXT ) vkGetDeviceProcAddr( device, "vkBuildMicromapsEXT" ); 534 vkCopyMicromapEXT = cast( PFN_vkCopyMicromapEXT ) vkGetDeviceProcAddr( device, "vkCopyMicromapEXT" ); 535 vkCopyMicromapToMemoryEXT = cast( PFN_vkCopyMicromapToMemoryEXT ) vkGetDeviceProcAddr( device, "vkCopyMicromapToMemoryEXT" ); 536 vkCopyMemoryToMicromapEXT = cast( PFN_vkCopyMemoryToMicromapEXT ) vkGetDeviceProcAddr( device, "vkCopyMemoryToMicromapEXT" ); 537 vkWriteMicromapsPropertiesEXT = cast( PFN_vkWriteMicromapsPropertiesEXT ) vkGetDeviceProcAddr( device, "vkWriteMicromapsPropertiesEXT" ); 538 vkCmdCopyMicromapEXT = cast( PFN_vkCmdCopyMicromapEXT ) vkGetDeviceProcAddr( device, "vkCmdCopyMicromapEXT" ); 539 vkCmdCopyMicromapToMemoryEXT = cast( PFN_vkCmdCopyMicromapToMemoryEXT ) vkGetDeviceProcAddr( device, "vkCmdCopyMicromapToMemoryEXT" ); 540 vkCmdCopyMemoryToMicromapEXT = cast( PFN_vkCmdCopyMemoryToMicromapEXT ) vkGetDeviceProcAddr( device, "vkCmdCopyMemoryToMicromapEXT" ); 541 vkCmdWriteMicromapsPropertiesEXT = cast( PFN_vkCmdWriteMicromapsPropertiesEXT ) vkGetDeviceProcAddr( device, "vkCmdWriteMicromapsPropertiesEXT" ); 542 vkGetDeviceMicromapCompatibilityEXT = cast( PFN_vkGetDeviceMicromapCompatibilityEXT ) vkGetDeviceProcAddr( device, "vkGetDeviceMicromapCompatibilityEXT" ); 543 vkGetMicromapBuildSizesEXT = cast( PFN_vkGetMicromapBuildSizesEXT ) vkGetDeviceProcAddr( device, "vkGetMicromapBuildSizesEXT" ); 544 545 // VK_HUAWEI_cluster_culling_shader 546 vkCmdDrawClusterHUAWEI = cast( PFN_vkCmdDrawClusterHUAWEI ) vkGetDeviceProcAddr( device, "vkCmdDrawClusterHUAWEI" ); 547 vkCmdDrawClusterIndirectHUAWEI = cast( PFN_vkCmdDrawClusterIndirectHUAWEI ) vkGetDeviceProcAddr( device, "vkCmdDrawClusterIndirectHUAWEI" ); 548 549 // VK_EXT_pageable_device_local_memory 550 vkSetDeviceMemoryPriorityEXT = cast( PFN_vkSetDeviceMemoryPriorityEXT ) vkGetDeviceProcAddr( device, "vkSetDeviceMemoryPriorityEXT" ); 551 552 // VK_VALVE_descriptor_set_host_mapping 553 vkGetDescriptorSetLayoutHostMappingInfoVALVE = cast( PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE ) vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutHostMappingInfoVALVE" ); 554 vkGetDescriptorSetHostMappingVALVE = cast( PFN_vkGetDescriptorSetHostMappingVALVE ) vkGetDeviceProcAddr( device, "vkGetDescriptorSetHostMappingVALVE" ); 555 556 // VK_NV_copy_memory_indirect 557 vkCmdCopyMemoryIndirectNV = cast( PFN_vkCmdCopyMemoryIndirectNV ) vkGetDeviceProcAddr( device, "vkCmdCopyMemoryIndirectNV" ); 558 vkCmdCopyMemoryToImageIndirectNV = cast( PFN_vkCmdCopyMemoryToImageIndirectNV ) vkGetDeviceProcAddr( device, "vkCmdCopyMemoryToImageIndirectNV" ); 559 560 // VK_NV_memory_decompression 561 vkCmdDecompressMemoryNV = cast( PFN_vkCmdDecompressMemoryNV ) vkGetDeviceProcAddr( device, "vkCmdDecompressMemoryNV" ); 562 vkCmdDecompressMemoryIndirectCountNV = cast( PFN_vkCmdDecompressMemoryIndirectCountNV ) vkGetDeviceProcAddr( device, "vkCmdDecompressMemoryIndirectCountNV" ); 563 564 // VK_EXT_extended_dynamic_state3 565 vkCmdSetTessellationDomainOriginEXT = cast( PFN_vkCmdSetTessellationDomainOriginEXT ) vkGetDeviceProcAddr( device, "vkCmdSetTessellationDomainOriginEXT" ); 566 vkCmdSetDepthClampEnableEXT = cast( PFN_vkCmdSetDepthClampEnableEXT ) vkGetDeviceProcAddr( device, "vkCmdSetDepthClampEnableEXT" ); 567 vkCmdSetPolygonModeEXT = cast( PFN_vkCmdSetPolygonModeEXT ) vkGetDeviceProcAddr( device, "vkCmdSetPolygonModeEXT" ); 568 vkCmdSetRasterizationSamplesEXT = cast( PFN_vkCmdSetRasterizationSamplesEXT ) vkGetDeviceProcAddr( device, "vkCmdSetRasterizationSamplesEXT" ); 569 vkCmdSetSampleMaskEXT = cast( PFN_vkCmdSetSampleMaskEXT ) vkGetDeviceProcAddr( device, "vkCmdSetSampleMaskEXT" ); 570 vkCmdSetAlphaToCoverageEnableEXT = cast( PFN_vkCmdSetAlphaToCoverageEnableEXT ) vkGetDeviceProcAddr( device, "vkCmdSetAlphaToCoverageEnableEXT" ); 571 vkCmdSetAlphaToOneEnableEXT = cast( PFN_vkCmdSetAlphaToOneEnableEXT ) vkGetDeviceProcAddr( device, "vkCmdSetAlphaToOneEnableEXT" ); 572 vkCmdSetLogicOpEnableEXT = cast( PFN_vkCmdSetLogicOpEnableEXT ) vkGetDeviceProcAddr( device, "vkCmdSetLogicOpEnableEXT" ); 573 vkCmdSetColorBlendEnableEXT = cast( PFN_vkCmdSetColorBlendEnableEXT ) vkGetDeviceProcAddr( device, "vkCmdSetColorBlendEnableEXT" ); 574 vkCmdSetColorBlendEquationEXT = cast( PFN_vkCmdSetColorBlendEquationEXT ) vkGetDeviceProcAddr( device, "vkCmdSetColorBlendEquationEXT" ); 575 vkCmdSetColorWriteMaskEXT = cast( PFN_vkCmdSetColorWriteMaskEXT ) vkGetDeviceProcAddr( device, "vkCmdSetColorWriteMaskEXT" ); 576 vkCmdSetRasterizationStreamEXT = cast( PFN_vkCmdSetRasterizationStreamEXT ) vkGetDeviceProcAddr( device, "vkCmdSetRasterizationStreamEXT" ); 577 vkCmdSetConservativeRasterizationModeEXT = cast( PFN_vkCmdSetConservativeRasterizationModeEXT ) vkGetDeviceProcAddr( device, "vkCmdSetConservativeRasterizationModeEXT" ); 578 vkCmdSetExtraPrimitiveOverestimationSizeEXT = cast( PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT ) vkGetDeviceProcAddr( device, "vkCmdSetExtraPrimitiveOverestimationSizeEXT" ); 579 vkCmdSetDepthClipEnableEXT = cast( PFN_vkCmdSetDepthClipEnableEXT ) vkGetDeviceProcAddr( device, "vkCmdSetDepthClipEnableEXT" ); 580 vkCmdSetSampleLocationsEnableEXT = cast( PFN_vkCmdSetSampleLocationsEnableEXT ) vkGetDeviceProcAddr( device, "vkCmdSetSampleLocationsEnableEXT" ); 581 vkCmdSetColorBlendAdvancedEXT = cast( PFN_vkCmdSetColorBlendAdvancedEXT ) vkGetDeviceProcAddr( device, "vkCmdSetColorBlendAdvancedEXT" ); 582 vkCmdSetProvokingVertexModeEXT = cast( PFN_vkCmdSetProvokingVertexModeEXT ) vkGetDeviceProcAddr( device, "vkCmdSetProvokingVertexModeEXT" ); 583 vkCmdSetLineRasterizationModeEXT = cast( PFN_vkCmdSetLineRasterizationModeEXT ) vkGetDeviceProcAddr( device, "vkCmdSetLineRasterizationModeEXT" ); 584 vkCmdSetLineStippleEnableEXT = cast( PFN_vkCmdSetLineStippleEnableEXT ) vkGetDeviceProcAddr( device, "vkCmdSetLineStippleEnableEXT" ); 585 vkCmdSetDepthClipNegativeOneToOneEXT = cast( PFN_vkCmdSetDepthClipNegativeOneToOneEXT ) vkGetDeviceProcAddr( device, "vkCmdSetDepthClipNegativeOneToOneEXT" ); 586 vkCmdSetViewportWScalingEnableNV = cast( PFN_vkCmdSetViewportWScalingEnableNV ) vkGetDeviceProcAddr( device, "vkCmdSetViewportWScalingEnableNV" ); 587 vkCmdSetViewportSwizzleNV = cast( PFN_vkCmdSetViewportSwizzleNV ) vkGetDeviceProcAddr( device, "vkCmdSetViewportSwizzleNV" ); 588 vkCmdSetCoverageToColorEnableNV = cast( PFN_vkCmdSetCoverageToColorEnableNV ) vkGetDeviceProcAddr( device, "vkCmdSetCoverageToColorEnableNV" ); 589 vkCmdSetCoverageToColorLocationNV = cast( PFN_vkCmdSetCoverageToColorLocationNV ) vkGetDeviceProcAddr( device, "vkCmdSetCoverageToColorLocationNV" ); 590 vkCmdSetCoverageModulationModeNV = cast( PFN_vkCmdSetCoverageModulationModeNV ) vkGetDeviceProcAddr( device, "vkCmdSetCoverageModulationModeNV" ); 591 vkCmdSetCoverageModulationTableEnableNV = cast( PFN_vkCmdSetCoverageModulationTableEnableNV ) vkGetDeviceProcAddr( device, "vkCmdSetCoverageModulationTableEnableNV" ); 592 vkCmdSetCoverageModulationTableNV = cast( PFN_vkCmdSetCoverageModulationTableNV ) vkGetDeviceProcAddr( device, "vkCmdSetCoverageModulationTableNV" ); 593 vkCmdSetShadingRateImageEnableNV = cast( PFN_vkCmdSetShadingRateImageEnableNV ) vkGetDeviceProcAddr( device, "vkCmdSetShadingRateImageEnableNV" ); 594 vkCmdSetRepresentativeFragmentTestEnableNV = cast( PFN_vkCmdSetRepresentativeFragmentTestEnableNV ) vkGetDeviceProcAddr( device, "vkCmdSetRepresentativeFragmentTestEnableNV" ); 595 vkCmdSetCoverageReductionModeNV = cast( PFN_vkCmdSetCoverageReductionModeNV ) vkGetDeviceProcAddr( device, "vkCmdSetCoverageReductionModeNV" ); 596 597 // VK_EXT_shader_module_identifier 598 vkGetShaderModuleIdentifierEXT = cast( PFN_vkGetShaderModuleIdentifierEXT ) vkGetDeviceProcAddr( device, "vkGetShaderModuleIdentifierEXT" ); 599 vkGetShaderModuleCreateInfoIdentifierEXT = cast( PFN_vkGetShaderModuleCreateInfoIdentifierEXT ) vkGetDeviceProcAddr( device, "vkGetShaderModuleCreateInfoIdentifierEXT" ); 600 601 // VK_NV_optical_flow 602 vkCreateOpticalFlowSessionNV = cast( PFN_vkCreateOpticalFlowSessionNV ) vkGetDeviceProcAddr( device, "vkCreateOpticalFlowSessionNV" ); 603 vkDestroyOpticalFlowSessionNV = cast( PFN_vkDestroyOpticalFlowSessionNV ) vkGetDeviceProcAddr( device, "vkDestroyOpticalFlowSessionNV" ); 604 vkBindOpticalFlowSessionImageNV = cast( PFN_vkBindOpticalFlowSessionImageNV ) vkGetDeviceProcAddr( device, "vkBindOpticalFlowSessionImageNV" ); 605 vkCmdOpticalFlowExecuteNV = cast( PFN_vkCmdOpticalFlowExecuteNV ) vkGetDeviceProcAddr( device, "vkCmdOpticalFlowExecuteNV" ); 606 607 // VK_EXT_shader_object 608 vkCreateShadersEXT = cast( PFN_vkCreateShadersEXT ) vkGetDeviceProcAddr( device, "vkCreateShadersEXT" ); 609 vkDestroyShaderEXT = cast( PFN_vkDestroyShaderEXT ) vkGetDeviceProcAddr( device, "vkDestroyShaderEXT" ); 610 vkGetShaderBinaryDataEXT = cast( PFN_vkGetShaderBinaryDataEXT ) vkGetDeviceProcAddr( device, "vkGetShaderBinaryDataEXT" ); 611 vkCmdBindShadersEXT = cast( PFN_vkCmdBindShadersEXT ) vkGetDeviceProcAddr( device, "vkCmdBindShadersEXT" ); 612 613 // VK_QCOM_tile_properties 614 vkGetFramebufferTilePropertiesQCOM = cast( PFN_vkGetFramebufferTilePropertiesQCOM ) vkGetDeviceProcAddr( device, "vkGetFramebufferTilePropertiesQCOM" ); 615 vkGetDynamicRenderingTilePropertiesQCOM = cast( PFN_vkGetDynamicRenderingTilePropertiesQCOM ) vkGetDeviceProcAddr( device, "vkGetDynamicRenderingTilePropertiesQCOM" ); 616 617 // VK_KHR_acceleration_structure 618 vkCreateAccelerationStructureKHR = cast( PFN_vkCreateAccelerationStructureKHR ) vkGetDeviceProcAddr( device, "vkCreateAccelerationStructureKHR" ); 619 vkDestroyAccelerationStructureKHR = cast( PFN_vkDestroyAccelerationStructureKHR ) vkGetDeviceProcAddr( device, "vkDestroyAccelerationStructureKHR" ); 620 vkCmdBuildAccelerationStructuresKHR = cast( PFN_vkCmdBuildAccelerationStructuresKHR ) vkGetDeviceProcAddr( device, "vkCmdBuildAccelerationStructuresKHR" ); 621 vkCmdBuildAccelerationStructuresIndirectKHR = cast( PFN_vkCmdBuildAccelerationStructuresIndirectKHR ) vkGetDeviceProcAddr( device, "vkCmdBuildAccelerationStructuresIndirectKHR" ); 622 vkBuildAccelerationStructuresKHR = cast( PFN_vkBuildAccelerationStructuresKHR ) vkGetDeviceProcAddr( device, "vkBuildAccelerationStructuresKHR" ); 623 vkCopyAccelerationStructureKHR = cast( PFN_vkCopyAccelerationStructureKHR ) vkGetDeviceProcAddr( device, "vkCopyAccelerationStructureKHR" ); 624 vkCopyAccelerationStructureToMemoryKHR = cast( PFN_vkCopyAccelerationStructureToMemoryKHR ) vkGetDeviceProcAddr( device, "vkCopyAccelerationStructureToMemoryKHR" ); 625 vkCopyMemoryToAccelerationStructureKHR = cast( PFN_vkCopyMemoryToAccelerationStructureKHR ) vkGetDeviceProcAddr( device, "vkCopyMemoryToAccelerationStructureKHR" ); 626 vkWriteAccelerationStructuresPropertiesKHR = cast( PFN_vkWriteAccelerationStructuresPropertiesKHR ) vkGetDeviceProcAddr( device, "vkWriteAccelerationStructuresPropertiesKHR" ); 627 vkCmdCopyAccelerationStructureKHR = cast( PFN_vkCmdCopyAccelerationStructureKHR ) vkGetDeviceProcAddr( device, "vkCmdCopyAccelerationStructureKHR" ); 628 vkCmdCopyAccelerationStructureToMemoryKHR = cast( PFN_vkCmdCopyAccelerationStructureToMemoryKHR ) vkGetDeviceProcAddr( device, "vkCmdCopyAccelerationStructureToMemoryKHR" ); 629 vkCmdCopyMemoryToAccelerationStructureKHR = cast( PFN_vkCmdCopyMemoryToAccelerationStructureKHR ) vkGetDeviceProcAddr( device, "vkCmdCopyMemoryToAccelerationStructureKHR" ); 630 vkGetAccelerationStructureDeviceAddressKHR = cast( PFN_vkGetAccelerationStructureDeviceAddressKHR ) vkGetDeviceProcAddr( device, "vkGetAccelerationStructureDeviceAddressKHR" ); 631 vkCmdWriteAccelerationStructuresPropertiesKHR = cast( PFN_vkCmdWriteAccelerationStructuresPropertiesKHR ) vkGetDeviceProcAddr( device, "vkCmdWriteAccelerationStructuresPropertiesKHR" ); 632 vkGetDeviceAccelerationStructureCompatibilityKHR = cast( PFN_vkGetDeviceAccelerationStructureCompatibilityKHR ) vkGetDeviceProcAddr( device, "vkGetDeviceAccelerationStructureCompatibilityKHR" ); 633 vkGetAccelerationStructureBuildSizesKHR = cast( PFN_vkGetAccelerationStructureBuildSizesKHR ) vkGetDeviceProcAddr( device, "vkGetAccelerationStructureBuildSizesKHR" ); 634 635 // VK_KHR_ray_tracing_pipeline 636 vkCmdTraceRaysKHR = cast( PFN_vkCmdTraceRaysKHR ) vkGetDeviceProcAddr( device, "vkCmdTraceRaysKHR" ); 637 vkCreateRayTracingPipelinesKHR = cast( PFN_vkCreateRayTracingPipelinesKHR ) vkGetDeviceProcAddr( device, "vkCreateRayTracingPipelinesKHR" ); 638 vkGetRayTracingCaptureReplayShaderGroupHandlesKHR = cast( PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR ) vkGetDeviceProcAddr( device, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR" ); 639 vkCmdTraceRaysIndirectKHR = cast( PFN_vkCmdTraceRaysIndirectKHR ) vkGetDeviceProcAddr( device, "vkCmdTraceRaysIndirectKHR" ); 640 vkGetRayTracingShaderGroupStackSizeKHR = cast( PFN_vkGetRayTracingShaderGroupStackSizeKHR ) vkGetDeviceProcAddr( device, "vkGetRayTracingShaderGroupStackSizeKHR" ); 641 vkCmdSetRayTracingPipelineStackSizeKHR = cast( PFN_vkCmdSetRayTracingPipelineStackSizeKHR ) vkGetDeviceProcAddr( device, "vkCmdSetRayTracingPipelineStackSizeKHR" ); 642 643 // VK_EXT_mesh_shader 644 vkCmdDrawMeshTasksEXT = cast( PFN_vkCmdDrawMeshTasksEXT ) vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksEXT" ); 645 vkCmdDrawMeshTasksIndirectEXT = cast( PFN_vkCmdDrawMeshTasksIndirectEXT ) vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksIndirectEXT" ); 646 vkCmdDrawMeshTasksIndirectCountEXT = cast( PFN_vkCmdDrawMeshTasksIndirectCountEXT ) vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksIndirectCountEXT" ); 647 } 648 649 650 /// convenience member functions, forwarded to corresponding vulkan functions 651 /// parameters of type VkDevice, const( VkAllocationCallbacks )* and VkCommandBuffer are omitted 652 /// they will be supplied by the member properties vkDevice, pAllocator and the public member commandBuffer 653 /// e.g.: 654 /// auto dd = DispatchDevice( device ); 655 /// dd.DestroyDevice(); // instead of: dd.vkDestroyDevice( dd.vkDevice, pAllocator ); 656 /// 657 /// Same mechanism works with functions which require a VkCommandBuffer as first arg 658 /// In this case the public member 'commandBuffer' must be set beforehand 659 /// e.g.: 660 /// dd.commandBuffer = some_command_buffer; 661 /// dd.BeginCommandBuffer( &beginInfo ); 662 /// dd.CmdBindPipeline( VK_PIPELINE_BIND_POINT_GRAPHICS, some_pipeline ); 663 /// 664 /// Does not work with queues, there are just too few queue related functions 665 666 // VK_VERSION_1_0 667 void DestroyDevice() { vkDestroyDevice( vkDevice, pAllocator ); } 668 void GetDeviceQueue( uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue ) { vkGetDeviceQueue( vkDevice, queueFamilyIndex, queueIndex, pQueue ); } 669 VkResult DeviceWaitIdle() { return vkDeviceWaitIdle( vkDevice ); } 670 VkResult AllocateMemory( const( VkMemoryAllocateInfo )* pAllocateInfo, VkDeviceMemory* pMemory ) { return vkAllocateMemory( vkDevice, pAllocateInfo, pAllocator, pMemory ); } 671 void FreeMemory( VkDeviceMemory memory ) { vkFreeMemory( vkDevice, memory, pAllocator ); } 672 VkResult MapMemory( VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData ) { return vkMapMemory( vkDevice, memory, offset, size, flags, ppData ); } 673 void UnmapMemory( VkDeviceMemory memory ) { vkUnmapMemory( vkDevice, memory ); } 674 VkResult FlushMappedMemoryRanges( uint32_t memoryRangeCount, const( VkMappedMemoryRange )* pMemoryRanges ) { return vkFlushMappedMemoryRanges( vkDevice, memoryRangeCount, pMemoryRanges ); } 675 VkResult InvalidateMappedMemoryRanges( uint32_t memoryRangeCount, const( VkMappedMemoryRange )* pMemoryRanges ) { return vkInvalidateMappedMemoryRanges( vkDevice, memoryRangeCount, pMemoryRanges ); } 676 void GetDeviceMemoryCommitment( VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes ) { vkGetDeviceMemoryCommitment( vkDevice, memory, pCommittedMemoryInBytes ); } 677 VkResult BindBufferMemory( VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset ) { return vkBindBufferMemory( vkDevice, buffer, memory, memoryOffset ); } 678 VkResult BindImageMemory( VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset ) { return vkBindImageMemory( vkDevice, image, memory, memoryOffset ); } 679 void GetBufferMemoryRequirements( VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements ) { vkGetBufferMemoryRequirements( vkDevice, buffer, pMemoryRequirements ); } 680 void GetImageMemoryRequirements( VkImage image, VkMemoryRequirements* pMemoryRequirements ) { vkGetImageMemoryRequirements( vkDevice, image, pMemoryRequirements ); } 681 void GetImageSparseMemoryRequirements( VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements ) { vkGetImageSparseMemoryRequirements( vkDevice, image, pSparseMemoryRequirementCount, pSparseMemoryRequirements ); } 682 VkResult CreateFence( const( VkFenceCreateInfo )* pCreateInfo, VkFence* pFence ) { return vkCreateFence( vkDevice, pCreateInfo, pAllocator, pFence ); } 683 void DestroyFence( VkFence fence ) { vkDestroyFence( vkDevice, fence, pAllocator ); } 684 VkResult ResetFences( uint32_t fenceCount, const( VkFence )* pFences ) { return vkResetFences( vkDevice, fenceCount, pFences ); } 685 VkResult GetFenceStatus( VkFence fence ) { return vkGetFenceStatus( vkDevice, fence ); } 686 VkResult WaitForFences( uint32_t fenceCount, const( VkFence )* pFences, VkBool32 waitAll, uint64_t timeout ) { return vkWaitForFences( vkDevice, fenceCount, pFences, waitAll, timeout ); } 687 VkResult CreateSemaphore( const( VkSemaphoreCreateInfo )* pCreateInfo, VkSemaphore* pSemaphore ) { return vkCreateSemaphore( vkDevice, pCreateInfo, pAllocator, pSemaphore ); } 688 void DestroySemaphore( VkSemaphore semaphore ) { vkDestroySemaphore( vkDevice, semaphore, pAllocator ); } 689 VkResult CreateEvent( const( VkEventCreateInfo )* pCreateInfo, VkEvent* pEvent ) { return vkCreateEvent( vkDevice, pCreateInfo, pAllocator, pEvent ); } 690 void DestroyEvent( VkEvent event ) { vkDestroyEvent( vkDevice, event, pAllocator ); } 691 VkResult GetEventStatus( VkEvent event ) { return vkGetEventStatus( vkDevice, event ); } 692 VkResult SetEvent( VkEvent event ) { return vkSetEvent( vkDevice, event ); } 693 VkResult ResetEvent( VkEvent event ) { return vkResetEvent( vkDevice, event ); } 694 VkResult CreateQueryPool( const( VkQueryPoolCreateInfo )* pCreateInfo, VkQueryPool* pQueryPool ) { return vkCreateQueryPool( vkDevice, pCreateInfo, pAllocator, pQueryPool ); } 695 void DestroyQueryPool( VkQueryPool queryPool ) { vkDestroyQueryPool( vkDevice, queryPool, pAllocator ); } 696 VkResult GetQueryPoolResults( VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags ) { return vkGetQueryPoolResults( vkDevice, queryPool, firstQuery, queryCount, dataSize, pData, stride, flags ); } 697 VkResult CreateBuffer( const( VkBufferCreateInfo )* pCreateInfo, VkBuffer* pBuffer ) { return vkCreateBuffer( vkDevice, pCreateInfo, pAllocator, pBuffer ); } 698 void DestroyBuffer( VkBuffer buffer ) { vkDestroyBuffer( vkDevice, buffer, pAllocator ); } 699 VkResult CreateBufferView( const( VkBufferViewCreateInfo )* pCreateInfo, VkBufferView* pView ) { return vkCreateBufferView( vkDevice, pCreateInfo, pAllocator, pView ); } 700 void DestroyBufferView( VkBufferView bufferView ) { vkDestroyBufferView( vkDevice, bufferView, pAllocator ); } 701 VkResult CreateImage( const( VkImageCreateInfo )* pCreateInfo, VkImage* pImage ) { return vkCreateImage( vkDevice, pCreateInfo, pAllocator, pImage ); } 702 void DestroyImage( VkImage image ) { vkDestroyImage( vkDevice, image, pAllocator ); } 703 void GetImageSubresourceLayout( VkImage image, const( VkImageSubresource )* pSubresource, VkSubresourceLayout* pLayout ) { vkGetImageSubresourceLayout( vkDevice, image, pSubresource, pLayout ); } 704 VkResult CreateImageView( const( VkImageViewCreateInfo )* pCreateInfo, VkImageView* pView ) { return vkCreateImageView( vkDevice, pCreateInfo, pAllocator, pView ); } 705 void DestroyImageView( VkImageView imageView ) { vkDestroyImageView( vkDevice, imageView, pAllocator ); } 706 VkResult CreateShaderModule( const( VkShaderModuleCreateInfo )* pCreateInfo, VkShaderModule* pShaderModule ) { return vkCreateShaderModule( vkDevice, pCreateInfo, pAllocator, pShaderModule ); } 707 void DestroyShaderModule( VkShaderModule shaderModule ) { vkDestroyShaderModule( vkDevice, shaderModule, pAllocator ); } 708 VkResult CreatePipelineCache( const( VkPipelineCacheCreateInfo )* pCreateInfo, VkPipelineCache* pPipelineCache ) { return vkCreatePipelineCache( vkDevice, pCreateInfo, pAllocator, pPipelineCache ); } 709 void DestroyPipelineCache( VkPipelineCache pipelineCache ) { vkDestroyPipelineCache( vkDevice, pipelineCache, pAllocator ); } 710 VkResult GetPipelineCacheData( VkPipelineCache pipelineCache, size_t* pDataSize, void* pData ) { return vkGetPipelineCacheData( vkDevice, pipelineCache, pDataSize, pData ); } 711 VkResult MergePipelineCaches( VkPipelineCache dstCache, uint32_t srcCacheCount, const( VkPipelineCache )* pSrcCaches ) { return vkMergePipelineCaches( vkDevice, dstCache, srcCacheCount, pSrcCaches ); } 712 VkResult CreateGraphicsPipelines( VkPipelineCache pipelineCache, uint32_t createInfoCount, const( VkGraphicsPipelineCreateInfo )* pCreateInfos, VkPipeline* pPipelines ) { return vkCreateGraphicsPipelines( vkDevice, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines ); } 713 VkResult CreateComputePipelines( VkPipelineCache pipelineCache, uint32_t createInfoCount, const( VkComputePipelineCreateInfo )* pCreateInfos, VkPipeline* pPipelines ) { return vkCreateComputePipelines( vkDevice, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines ); } 714 void DestroyPipeline( VkPipeline pipeline ) { vkDestroyPipeline( vkDevice, pipeline, pAllocator ); } 715 VkResult CreatePipelineLayout( const( VkPipelineLayoutCreateInfo )* pCreateInfo, VkPipelineLayout* pPipelineLayout ) { return vkCreatePipelineLayout( vkDevice, pCreateInfo, pAllocator, pPipelineLayout ); } 716 void DestroyPipelineLayout( VkPipelineLayout pipelineLayout ) { vkDestroyPipelineLayout( vkDevice, pipelineLayout, pAllocator ); } 717 VkResult CreateSampler( const( VkSamplerCreateInfo )* pCreateInfo, VkSampler* pSampler ) { return vkCreateSampler( vkDevice, pCreateInfo, pAllocator, pSampler ); } 718 void DestroySampler( VkSampler sampler ) { vkDestroySampler( vkDevice, sampler, pAllocator ); } 719 VkResult CreateDescriptorSetLayout( const( VkDescriptorSetLayoutCreateInfo )* pCreateInfo, VkDescriptorSetLayout* pSetLayout ) { return vkCreateDescriptorSetLayout( vkDevice, pCreateInfo, pAllocator, pSetLayout ); } 720 void DestroyDescriptorSetLayout( VkDescriptorSetLayout descriptorSetLayout ) { vkDestroyDescriptorSetLayout( vkDevice, descriptorSetLayout, pAllocator ); } 721 VkResult CreateDescriptorPool( const( VkDescriptorPoolCreateInfo )* pCreateInfo, VkDescriptorPool* pDescriptorPool ) { return vkCreateDescriptorPool( vkDevice, pCreateInfo, pAllocator, pDescriptorPool ); } 722 void DestroyDescriptorPool( VkDescriptorPool descriptorPool ) { vkDestroyDescriptorPool( vkDevice, descriptorPool, pAllocator ); } 723 VkResult ResetDescriptorPool( VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags ) { return vkResetDescriptorPool( vkDevice, descriptorPool, flags ); } 724 VkResult AllocateDescriptorSets( const( VkDescriptorSetAllocateInfo )* pAllocateInfo, VkDescriptorSet* pDescriptorSets ) { return vkAllocateDescriptorSets( vkDevice, pAllocateInfo, pDescriptorSets ); } 725 VkResult FreeDescriptorSets( VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const( VkDescriptorSet )* pDescriptorSets ) { return vkFreeDescriptorSets( vkDevice, descriptorPool, descriptorSetCount, pDescriptorSets ); } 726 void UpdateDescriptorSets( uint32_t descriptorWriteCount, const( VkWriteDescriptorSet )* pDescriptorWrites, uint32_t descriptorCopyCount, const( VkCopyDescriptorSet )* pDescriptorCopies ) { vkUpdateDescriptorSets( vkDevice, descriptorWriteCount, pDescriptorWrites, descriptorCopyCount, pDescriptorCopies ); } 727 VkResult CreateFramebuffer( const( VkFramebufferCreateInfo )* pCreateInfo, VkFramebuffer* pFramebuffer ) { return vkCreateFramebuffer( vkDevice, pCreateInfo, pAllocator, pFramebuffer ); } 728 void DestroyFramebuffer( VkFramebuffer framebuffer ) { vkDestroyFramebuffer( vkDevice, framebuffer, pAllocator ); } 729 VkResult CreateRenderPass( const( VkRenderPassCreateInfo )* pCreateInfo, VkRenderPass* pRenderPass ) { return vkCreateRenderPass( vkDevice, pCreateInfo, pAllocator, pRenderPass ); } 730 void DestroyRenderPass( VkRenderPass renderPass ) { vkDestroyRenderPass( vkDevice, renderPass, pAllocator ); } 731 void GetRenderAreaGranularity( VkRenderPass renderPass, VkExtent2D* pGranularity ) { vkGetRenderAreaGranularity( vkDevice, renderPass, pGranularity ); } 732 VkResult CreateCommandPool( const( VkCommandPoolCreateInfo )* pCreateInfo, VkCommandPool* pCommandPool ) { return vkCreateCommandPool( vkDevice, pCreateInfo, pAllocator, pCommandPool ); } 733 void DestroyCommandPool( VkCommandPool commandPool ) { vkDestroyCommandPool( vkDevice, commandPool, pAllocator ); } 734 VkResult ResetCommandPool( VkCommandPool commandPool, VkCommandPoolResetFlags flags ) { return vkResetCommandPool( vkDevice, commandPool, flags ); } 735 VkResult AllocateCommandBuffers( const( VkCommandBufferAllocateInfo )* pAllocateInfo, VkCommandBuffer* pCommandBuffers ) { return vkAllocateCommandBuffers( vkDevice, pAllocateInfo, pCommandBuffers ); } 736 void FreeCommandBuffers( VkCommandPool commandPool, uint32_t commandBufferCount, const( VkCommandBuffer )* pCommandBuffers ) { vkFreeCommandBuffers( vkDevice, commandPool, commandBufferCount, pCommandBuffers ); } 737 VkResult BeginCommandBuffer( const( VkCommandBufferBeginInfo )* pBeginInfo ) { return vkBeginCommandBuffer( commandBuffer, pBeginInfo ); } 738 VkResult EndCommandBuffer() { return vkEndCommandBuffer( commandBuffer ); } 739 VkResult ResetCommandBuffer( VkCommandBufferResetFlags flags ) { return vkResetCommandBuffer( commandBuffer, flags ); } 740 void CmdBindPipeline( VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline ) { vkCmdBindPipeline( commandBuffer, pipelineBindPoint, pipeline ); } 741 void CmdSetViewport( uint32_t firstViewport, uint32_t viewportCount, const( VkViewport )* pViewports ) { vkCmdSetViewport( commandBuffer, firstViewport, viewportCount, pViewports ); } 742 void CmdSetScissor( uint32_t firstScissor, uint32_t scissorCount, const( VkRect2D )* pScissors ) { vkCmdSetScissor( commandBuffer, firstScissor, scissorCount, pScissors ); } 743 void CmdSetLineWidth( float lineWidth ) { vkCmdSetLineWidth( commandBuffer, lineWidth ); } 744 void CmdSetDepthBias( float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor ) { vkCmdSetDepthBias( commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor ); } 745 void CmdSetBlendConstants( const float[4] blendConstants ) { vkCmdSetBlendConstants( commandBuffer, blendConstants ); } 746 void CmdSetDepthBounds( float minDepthBounds, float maxDepthBounds ) { vkCmdSetDepthBounds( commandBuffer, minDepthBounds, maxDepthBounds ); } 747 void CmdSetStencilCompareMask( VkStencilFaceFlags faceMask, uint32_t compareMask ) { vkCmdSetStencilCompareMask( commandBuffer, faceMask, compareMask ); } 748 void CmdSetStencilWriteMask( VkStencilFaceFlags faceMask, uint32_t writeMask ) { vkCmdSetStencilWriteMask( commandBuffer, faceMask, writeMask ); } 749 void CmdSetStencilReference( VkStencilFaceFlags faceMask, uint32_t reference ) { vkCmdSetStencilReference( commandBuffer, faceMask, reference ); } 750 void CmdBindDescriptorSets( VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const( VkDescriptorSet )* pDescriptorSets, uint32_t dynamicOffsetCount, const( uint32_t )* pDynamicOffsets ) { vkCmdBindDescriptorSets( commandBuffer, pipelineBindPoint, layout, firstSet, descriptorSetCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets ); } 751 void CmdBindIndexBuffer( VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType ) { vkCmdBindIndexBuffer( commandBuffer, buffer, offset, indexType ); } 752 void CmdBindVertexBuffers( uint32_t firstBinding, uint32_t bindingCount, const( VkBuffer )* pBuffers, const( VkDeviceSize )* pOffsets ) { vkCmdBindVertexBuffers( commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets ); } 753 void CmdDraw( uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance ) { vkCmdDraw( commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance ); } 754 void CmdDrawIndexed( uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance ) { vkCmdDrawIndexed( commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance ); } 755 void CmdDrawIndirect( VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride ) { vkCmdDrawIndirect( commandBuffer, buffer, offset, drawCount, stride ); } 756 void CmdDrawIndexedIndirect( VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride ) { vkCmdDrawIndexedIndirect( commandBuffer, buffer, offset, drawCount, stride ); } 757 void CmdDispatch( uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ ) { vkCmdDispatch( commandBuffer, groupCountX, groupCountY, groupCountZ ); } 758 void CmdDispatchIndirect( VkBuffer buffer, VkDeviceSize offset ) { vkCmdDispatchIndirect( commandBuffer, buffer, offset ); } 759 void CmdCopyBuffer( VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const( VkBufferCopy )* pRegions ) { vkCmdCopyBuffer( commandBuffer, srcBuffer, dstBuffer, regionCount, pRegions ); } 760 void CmdCopyImage( VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const( VkImageCopy )* pRegions ) { vkCmdCopyImage( commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions ); } 761 void CmdBlitImage( VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const( VkImageBlit )* pRegions, VkFilter filter ) { vkCmdBlitImage( commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter ); } 762 void CmdCopyBufferToImage( VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const( VkBufferImageCopy )* pRegions ) { vkCmdCopyBufferToImage( commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions ); } 763 void CmdCopyImageToBuffer( VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const( VkBufferImageCopy )* pRegions ) { vkCmdCopyImageToBuffer( commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions ); } 764 void CmdUpdateBuffer( VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const( void )* pData ) { vkCmdUpdateBuffer( commandBuffer, dstBuffer, dstOffset, dataSize, pData ); } 765 void CmdFillBuffer( VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data ) { vkCmdFillBuffer( commandBuffer, dstBuffer, dstOffset, size, data ); } 766 void CmdClearColorImage( VkImage image, VkImageLayout imageLayout, const( VkClearColorValue )* pColor, uint32_t rangeCount, const( VkImageSubresourceRange )* pRanges ) { vkCmdClearColorImage( commandBuffer, image, imageLayout, pColor, rangeCount, pRanges ); } 767 void CmdClearDepthStencilImage( VkImage image, VkImageLayout imageLayout, const( VkClearDepthStencilValue )* pDepthStencil, uint32_t rangeCount, const( VkImageSubresourceRange )* pRanges ) { vkCmdClearDepthStencilImage( commandBuffer, image, imageLayout, pDepthStencil, rangeCount, pRanges ); } 768 void CmdClearAttachments( uint32_t attachmentCount, const( VkClearAttachment )* pAttachments, uint32_t rectCount, const( VkClearRect )* pRects ) { vkCmdClearAttachments( commandBuffer, attachmentCount, pAttachments, rectCount, pRects ); } 769 void CmdResolveImage( VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const( VkImageResolve )* pRegions ) { vkCmdResolveImage( commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions ); } 770 void CmdSetEvent( VkEvent event, VkPipelineStageFlags stageMask ) { vkCmdSetEvent( commandBuffer, event, stageMask ); } 771 void CmdResetEvent( VkEvent event, VkPipelineStageFlags stageMask ) { vkCmdResetEvent( commandBuffer, event, stageMask ); } 772 void CmdWaitEvents( uint32_t eventCount, const( VkEvent )* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const( VkMemoryBarrier )* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const( VkBufferMemoryBarrier )* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const( VkImageMemoryBarrier )* pImageMemoryBarriers ) { vkCmdWaitEvents( commandBuffer, eventCount, pEvents, srcStageMask, dstStageMask, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers ); } 773 void CmdPipelineBarrier( VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const( VkMemoryBarrier )* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const( VkBufferMemoryBarrier )* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const( VkImageMemoryBarrier )* pImageMemoryBarriers ) { vkCmdPipelineBarrier( commandBuffer, srcStageMask, dstStageMask, dependencyFlags, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers ); } 774 void CmdBeginQuery( VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags ) { vkCmdBeginQuery( commandBuffer, queryPool, query, flags ); } 775 void CmdEndQuery( VkQueryPool queryPool, uint32_t query ) { vkCmdEndQuery( commandBuffer, queryPool, query ); } 776 void CmdResetQueryPool( VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount ) { vkCmdResetQueryPool( commandBuffer, queryPool, firstQuery, queryCount ); } 777 void CmdWriteTimestamp( VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query ) { vkCmdWriteTimestamp( commandBuffer, pipelineStage, queryPool, query ); } 778 void CmdCopyQueryPoolResults( VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags ) { vkCmdCopyQueryPoolResults( commandBuffer, queryPool, firstQuery, queryCount, dstBuffer, dstOffset, stride, flags ); } 779 void CmdPushConstants( VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const( void )* pValues ) { vkCmdPushConstants( commandBuffer, layout, stageFlags, offset, size, pValues ); } 780 void CmdBeginRenderPass( const( VkRenderPassBeginInfo )* pRenderPassBegin, VkSubpassContents contents ) { vkCmdBeginRenderPass( commandBuffer, pRenderPassBegin, contents ); } 781 void CmdNextSubpass( VkSubpassContents contents ) { vkCmdNextSubpass( commandBuffer, contents ); } 782 void CmdEndRenderPass() { vkCmdEndRenderPass( commandBuffer ); } 783 void CmdExecuteCommands( uint32_t commandBufferCount, const( VkCommandBuffer )* pCommandBuffers ) { vkCmdExecuteCommands( commandBuffer, commandBufferCount, pCommandBuffers ); } 784 785 // VK_VERSION_1_1 786 VkResult BindBufferMemory2( uint32_t bindInfoCount, const( VkBindBufferMemoryInfo )* pBindInfos ) { return vkBindBufferMemory2( vkDevice, bindInfoCount, pBindInfos ); } 787 VkResult BindImageMemory2( uint32_t bindInfoCount, const( VkBindImageMemoryInfo )* pBindInfos ) { return vkBindImageMemory2( vkDevice, bindInfoCount, pBindInfos ); } 788 void GetDeviceGroupPeerMemoryFeatures( uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures ) { vkGetDeviceGroupPeerMemoryFeatures( vkDevice, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures ); } 789 void CmdSetDeviceMask( uint32_t deviceMask ) { vkCmdSetDeviceMask( commandBuffer, deviceMask ); } 790 void CmdDispatchBase( uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ ) { vkCmdDispatchBase( commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ ); } 791 void GetImageMemoryRequirements2( const( VkImageMemoryRequirementsInfo2 )* pInfo, VkMemoryRequirements2* pMemoryRequirements ) { vkGetImageMemoryRequirements2( vkDevice, pInfo, pMemoryRequirements ); } 792 void GetBufferMemoryRequirements2( const( VkBufferMemoryRequirementsInfo2 )* pInfo, VkMemoryRequirements2* pMemoryRequirements ) { vkGetBufferMemoryRequirements2( vkDevice, pInfo, pMemoryRequirements ); } 793 void GetImageSparseMemoryRequirements2( const( VkImageSparseMemoryRequirementsInfo2 )* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements ) { vkGetImageSparseMemoryRequirements2( vkDevice, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements ); } 794 void TrimCommandPool( VkCommandPool commandPool, VkCommandPoolTrimFlags flags ) { vkTrimCommandPool( vkDevice, commandPool, flags ); } 795 void GetDeviceQueue2( const( VkDeviceQueueInfo2 )* pQueueInfo, VkQueue* pQueue ) { vkGetDeviceQueue2( vkDevice, pQueueInfo, pQueue ); } 796 VkResult CreateSamplerYcbcrConversion( const( VkSamplerYcbcrConversionCreateInfo )* pCreateInfo, VkSamplerYcbcrConversion* pYcbcrConversion ) { return vkCreateSamplerYcbcrConversion( vkDevice, pCreateInfo, pAllocator, pYcbcrConversion ); } 797 void DestroySamplerYcbcrConversion( VkSamplerYcbcrConversion ycbcrConversion ) { vkDestroySamplerYcbcrConversion( vkDevice, ycbcrConversion, pAllocator ); } 798 VkResult CreateDescriptorUpdateTemplate( const( VkDescriptorUpdateTemplateCreateInfo )* pCreateInfo, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate ) { return vkCreateDescriptorUpdateTemplate( vkDevice, pCreateInfo, pAllocator, pDescriptorUpdateTemplate ); } 799 void DestroyDescriptorUpdateTemplate( VkDescriptorUpdateTemplate descriptorUpdateTemplate ) { vkDestroyDescriptorUpdateTemplate( vkDevice, descriptorUpdateTemplate, pAllocator ); } 800 void UpdateDescriptorSetWithTemplate( VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const( void )* pData ) { vkUpdateDescriptorSetWithTemplate( vkDevice, descriptorSet, descriptorUpdateTemplate, pData ); } 801 void GetDescriptorSetLayoutSupport( const( VkDescriptorSetLayoutCreateInfo )* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport ) { vkGetDescriptorSetLayoutSupport( vkDevice, pCreateInfo, pSupport ); } 802 803 // VK_VERSION_1_2 804 void CmdDrawIndirectCount( VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride ) { vkCmdDrawIndirectCount( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride ); } 805 void CmdDrawIndexedIndirectCount( VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride ) { vkCmdDrawIndexedIndirectCount( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride ); } 806 VkResult CreateRenderPass2( const( VkRenderPassCreateInfo2 )* pCreateInfo, VkRenderPass* pRenderPass ) { return vkCreateRenderPass2( vkDevice, pCreateInfo, pAllocator, pRenderPass ); } 807 void CmdBeginRenderPass2( const( VkRenderPassBeginInfo )* pRenderPassBegin, const( VkSubpassBeginInfo )* pSubpassBeginInfo ) { vkCmdBeginRenderPass2( commandBuffer, pRenderPassBegin, pSubpassBeginInfo ); } 808 void CmdNextSubpass2( const( VkSubpassBeginInfo )* pSubpassBeginInfo, const( VkSubpassEndInfo )* pSubpassEndInfo ) { vkCmdNextSubpass2( commandBuffer, pSubpassBeginInfo, pSubpassEndInfo ); } 809 void CmdEndRenderPass2( const( VkSubpassEndInfo )* pSubpassEndInfo ) { vkCmdEndRenderPass2( commandBuffer, pSubpassEndInfo ); } 810 void ResetQueryPool( VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount ) { vkResetQueryPool( vkDevice, queryPool, firstQuery, queryCount ); } 811 VkResult GetSemaphoreCounterValue( VkSemaphore semaphore, uint64_t* pValue ) { return vkGetSemaphoreCounterValue( vkDevice, semaphore, pValue ); } 812 VkResult WaitSemaphores( const( VkSemaphoreWaitInfo )* pWaitInfo, uint64_t timeout ) { return vkWaitSemaphores( vkDevice, pWaitInfo, timeout ); } 813 VkResult SignalSemaphore( const( VkSemaphoreSignalInfo )* pSignalInfo ) { return vkSignalSemaphore( vkDevice, pSignalInfo ); } 814 VkDeviceAddress GetBufferDeviceAddress( const( VkBufferDeviceAddressInfo )* pInfo ) { return vkGetBufferDeviceAddress( vkDevice, pInfo ); } 815 uint64_t GetBufferOpaqueCaptureAddress( const( VkBufferDeviceAddressInfo )* pInfo ) { return vkGetBufferOpaqueCaptureAddress( vkDevice, pInfo ); } 816 uint64_t GetDeviceMemoryOpaqueCaptureAddress( const( VkDeviceMemoryOpaqueCaptureAddressInfo )* pInfo ) { return vkGetDeviceMemoryOpaqueCaptureAddress( vkDevice, pInfo ); } 817 818 // VK_VERSION_1_3 819 VkResult CreatePrivateDataSlot( const( VkPrivateDataSlotCreateInfo )* pCreateInfo, VkPrivateDataSlot* pPrivateDataSlot ) { return vkCreatePrivateDataSlot( vkDevice, pCreateInfo, pAllocator, pPrivateDataSlot ); } 820 void DestroyPrivateDataSlot( VkPrivateDataSlot privateDataSlot ) { vkDestroyPrivateDataSlot( vkDevice, privateDataSlot, pAllocator ); } 821 VkResult SetPrivateData( VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data ) { return vkSetPrivateData( vkDevice, objectType, objectHandle, privateDataSlot, data ); } 822 void GetPrivateData( VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t* pData ) { vkGetPrivateData( vkDevice, objectType, objectHandle, privateDataSlot, pData ); } 823 void CmdSetEvent2( VkEvent event, const( VkDependencyInfo )* pDependencyInfo ) { vkCmdSetEvent2( commandBuffer, event, pDependencyInfo ); } 824 void CmdResetEvent2( VkEvent event, VkPipelineStageFlags2 stageMask ) { vkCmdResetEvent2( commandBuffer, event, stageMask ); } 825 void CmdWaitEvents2( uint32_t eventCount, const( VkEvent )* pEvents, const( VkDependencyInfo )* pDependencyInfos ) { vkCmdWaitEvents2( commandBuffer, eventCount, pEvents, pDependencyInfos ); } 826 void CmdPipelineBarrier2( const( VkDependencyInfo )* pDependencyInfo ) { vkCmdPipelineBarrier2( commandBuffer, pDependencyInfo ); } 827 void CmdWriteTimestamp2( VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query ) { vkCmdWriteTimestamp2( commandBuffer, stage, queryPool, query ); } 828 void CmdCopyBuffer2( const( VkCopyBufferInfo2 )* pCopyBufferInfo ) { vkCmdCopyBuffer2( commandBuffer, pCopyBufferInfo ); } 829 void CmdCopyImage2( const( VkCopyImageInfo2 )* pCopyImageInfo ) { vkCmdCopyImage2( commandBuffer, pCopyImageInfo ); } 830 void CmdCopyBufferToImage2( const( VkCopyBufferToImageInfo2 )* pCopyBufferToImageInfo ) { vkCmdCopyBufferToImage2( commandBuffer, pCopyBufferToImageInfo ); } 831 void CmdCopyImageToBuffer2( const( VkCopyImageToBufferInfo2 )* pCopyImageToBufferInfo ) { vkCmdCopyImageToBuffer2( commandBuffer, pCopyImageToBufferInfo ); } 832 void CmdBlitImage2( const( VkBlitImageInfo2 )* pBlitImageInfo ) { vkCmdBlitImage2( commandBuffer, pBlitImageInfo ); } 833 void CmdResolveImage2( const( VkResolveImageInfo2 )* pResolveImageInfo ) { vkCmdResolveImage2( commandBuffer, pResolveImageInfo ); } 834 void CmdBeginRendering( const( VkRenderingInfo )* pRenderingInfo ) { vkCmdBeginRendering( commandBuffer, pRenderingInfo ); } 835 void CmdEndRendering() { vkCmdEndRendering( commandBuffer ); } 836 void CmdSetCullMode( VkCullModeFlags cullMode ) { vkCmdSetCullMode( commandBuffer, cullMode ); } 837 void CmdSetFrontFace( VkFrontFace frontFace ) { vkCmdSetFrontFace( commandBuffer, frontFace ); } 838 void CmdSetPrimitiveTopology( VkPrimitiveTopology primitiveTopology ) { vkCmdSetPrimitiveTopology( commandBuffer, primitiveTopology ); } 839 void CmdSetViewportWithCount( uint32_t viewportCount, const( VkViewport )* pViewports ) { vkCmdSetViewportWithCount( commandBuffer, viewportCount, pViewports ); } 840 void CmdSetScissorWithCount( uint32_t scissorCount, const( VkRect2D )* pScissors ) { vkCmdSetScissorWithCount( commandBuffer, scissorCount, pScissors ); } 841 void CmdBindVertexBuffers2( uint32_t firstBinding, uint32_t bindingCount, const( VkBuffer )* pBuffers, const( VkDeviceSize )* pOffsets, const( VkDeviceSize )* pSizes, const( VkDeviceSize )* pStrides ) { vkCmdBindVertexBuffers2( commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides ); } 842 void CmdSetDepthTestEnable( VkBool32 depthTestEnable ) { vkCmdSetDepthTestEnable( commandBuffer, depthTestEnable ); } 843 void CmdSetDepthWriteEnable( VkBool32 depthWriteEnable ) { vkCmdSetDepthWriteEnable( commandBuffer, depthWriteEnable ); } 844 void CmdSetDepthCompareOp( VkCompareOp depthCompareOp ) { vkCmdSetDepthCompareOp( commandBuffer, depthCompareOp ); } 845 void CmdSetDepthBoundsTestEnable( VkBool32 depthBoundsTestEnable ) { vkCmdSetDepthBoundsTestEnable( commandBuffer, depthBoundsTestEnable ); } 846 void CmdSetStencilTestEnable( VkBool32 stencilTestEnable ) { vkCmdSetStencilTestEnable( commandBuffer, stencilTestEnable ); } 847 void CmdSetStencilOp( VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp ) { vkCmdSetStencilOp( commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp ); } 848 void CmdSetRasterizerDiscardEnable( VkBool32 rasterizerDiscardEnable ) { vkCmdSetRasterizerDiscardEnable( commandBuffer, rasterizerDiscardEnable ); } 849 void CmdSetDepthBiasEnable( VkBool32 depthBiasEnable ) { vkCmdSetDepthBiasEnable( commandBuffer, depthBiasEnable ); } 850 void CmdSetPrimitiveRestartEnable( VkBool32 primitiveRestartEnable ) { vkCmdSetPrimitiveRestartEnable( commandBuffer, primitiveRestartEnable ); } 851 void GetDeviceBufferMemoryRequirements( const( VkDeviceBufferMemoryRequirements )* pInfo, VkMemoryRequirements2* pMemoryRequirements ) { vkGetDeviceBufferMemoryRequirements( vkDevice, pInfo, pMemoryRequirements ); } 852 void GetDeviceImageMemoryRequirements( const( VkDeviceImageMemoryRequirements )* pInfo, VkMemoryRequirements2* pMemoryRequirements ) { vkGetDeviceImageMemoryRequirements( vkDevice, pInfo, pMemoryRequirements ); } 853 void GetDeviceImageSparseMemoryRequirements( const( VkDeviceImageMemoryRequirements )* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements ) { vkGetDeviceImageSparseMemoryRequirements( vkDevice, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements ); } 854 855 // VK_KHR_swapchain 856 VkResult CreateSwapchainKHR( const( VkSwapchainCreateInfoKHR )* pCreateInfo, VkSwapchainKHR* pSwapchain ) { return vkCreateSwapchainKHR( vkDevice, pCreateInfo, pAllocator, pSwapchain ); } 857 void DestroySwapchainKHR( VkSwapchainKHR swapchain ) { vkDestroySwapchainKHR( vkDevice, swapchain, pAllocator ); } 858 VkResult GetSwapchainImagesKHR( VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages ) { return vkGetSwapchainImagesKHR( vkDevice, swapchain, pSwapchainImageCount, pSwapchainImages ); } 859 VkResult AcquireNextImageKHR( VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex ) { return vkAcquireNextImageKHR( vkDevice, swapchain, timeout, semaphore, fence, pImageIndex ); } 860 VkResult GetDeviceGroupPresentCapabilitiesKHR( VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities ) { return vkGetDeviceGroupPresentCapabilitiesKHR( vkDevice, pDeviceGroupPresentCapabilities ); } 861 VkResult GetDeviceGroupSurfacePresentModesKHR( VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes ) { return vkGetDeviceGroupSurfacePresentModesKHR( vkDevice, surface, pModes ); } 862 VkResult AcquireNextImage2KHR( const( VkAcquireNextImageInfoKHR )* pAcquireInfo, uint32_t* pImageIndex ) { return vkAcquireNextImage2KHR( vkDevice, pAcquireInfo, pImageIndex ); } 863 864 // VK_KHR_display_swapchain 865 VkResult CreateSharedSwapchainsKHR( uint32_t swapchainCount, const( VkSwapchainCreateInfoKHR )* pCreateInfos, VkSwapchainKHR* pSwapchains ) { return vkCreateSharedSwapchainsKHR( vkDevice, swapchainCount, pCreateInfos, pAllocator, pSwapchains ); } 866 867 // VK_KHR_video_queue 868 VkResult CreateVideoSessionKHR( const( VkVideoSessionCreateInfoKHR )* pCreateInfo, VkVideoSessionKHR* pVideoSession ) { return vkCreateVideoSessionKHR( vkDevice, pCreateInfo, pAllocator, pVideoSession ); } 869 void DestroyVideoSessionKHR( VkVideoSessionKHR videoSession ) { vkDestroyVideoSessionKHR( vkDevice, videoSession, pAllocator ); } 870 VkResult GetVideoSessionMemoryRequirementsKHR( VkVideoSessionKHR videoSession, uint32_t* pMemoryRequirementsCount, VkVideoSessionMemoryRequirementsKHR* pMemoryRequirements ) { return vkGetVideoSessionMemoryRequirementsKHR( vkDevice, videoSession, pMemoryRequirementsCount, pMemoryRequirements ); } 871 VkResult BindVideoSessionMemoryKHR( VkVideoSessionKHR videoSession, uint32_t bindSessionMemoryInfoCount, const( VkBindVideoSessionMemoryInfoKHR )* pBindSessionMemoryInfos ) { return vkBindVideoSessionMemoryKHR( vkDevice, videoSession, bindSessionMemoryInfoCount, pBindSessionMemoryInfos ); } 872 VkResult CreateVideoSessionParametersKHR( const( VkVideoSessionParametersCreateInfoKHR )* pCreateInfo, VkVideoSessionParametersKHR* pVideoSessionParameters ) { return vkCreateVideoSessionParametersKHR( vkDevice, pCreateInfo, pAllocator, pVideoSessionParameters ); } 873 VkResult UpdateVideoSessionParametersKHR( VkVideoSessionParametersKHR videoSessionParameters, const( VkVideoSessionParametersUpdateInfoKHR )* pUpdateInfo ) { return vkUpdateVideoSessionParametersKHR( vkDevice, videoSessionParameters, pUpdateInfo ); } 874 void DestroyVideoSessionParametersKHR( VkVideoSessionParametersKHR videoSessionParameters ) { vkDestroyVideoSessionParametersKHR( vkDevice, videoSessionParameters, pAllocator ); } 875 void CmdBeginVideoCodingKHR( const( VkVideoBeginCodingInfoKHR )* pBeginInfo ) { vkCmdBeginVideoCodingKHR( commandBuffer, pBeginInfo ); } 876 void CmdEndVideoCodingKHR( const( VkVideoEndCodingInfoKHR )* pEndCodingInfo ) { vkCmdEndVideoCodingKHR( commandBuffer, pEndCodingInfo ); } 877 void CmdControlVideoCodingKHR( const( VkVideoCodingControlInfoKHR )* pCodingControlInfo ) { vkCmdControlVideoCodingKHR( commandBuffer, pCodingControlInfo ); } 878 879 // VK_KHR_video_decode_queue 880 void CmdDecodeVideoKHR( const( VkVideoDecodeInfoKHR )* pDecodeInfo ) { vkCmdDecodeVideoKHR( commandBuffer, pDecodeInfo ); } 881 882 // VK_KHR_external_memory_fd 883 VkResult GetMemoryFdKHR( const( VkMemoryGetFdInfoKHR )* pGetFdInfo, int* pFd ) { return vkGetMemoryFdKHR( vkDevice, pGetFdInfo, pFd ); } 884 VkResult GetMemoryFdPropertiesKHR( VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties ) { return vkGetMemoryFdPropertiesKHR( vkDevice, handleType, fd, pMemoryFdProperties ); } 885 886 // VK_KHR_external_semaphore_fd 887 VkResult ImportSemaphoreFdKHR( const( VkImportSemaphoreFdInfoKHR )* pImportSemaphoreFdInfo ) { return vkImportSemaphoreFdKHR( vkDevice, pImportSemaphoreFdInfo ); } 888 VkResult GetSemaphoreFdKHR( const( VkSemaphoreGetFdInfoKHR )* pGetFdInfo, int* pFd ) { return vkGetSemaphoreFdKHR( vkDevice, pGetFdInfo, pFd ); } 889 890 // VK_KHR_push_descriptor 891 void CmdPushDescriptorSetKHR( VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const( VkWriteDescriptorSet )* pDescriptorWrites ) { vkCmdPushDescriptorSetKHR( commandBuffer, pipelineBindPoint, layout, set, descriptorWriteCount, pDescriptorWrites ); } 892 void CmdPushDescriptorSetWithTemplateKHR( VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const( void )* pData ) { vkCmdPushDescriptorSetWithTemplateKHR( commandBuffer, descriptorUpdateTemplate, layout, set, pData ); } 893 894 // VK_KHR_shared_presentable_image 895 VkResult GetSwapchainStatusKHR( VkSwapchainKHR swapchain ) { return vkGetSwapchainStatusKHR( vkDevice, swapchain ); } 896 897 // VK_KHR_external_fence_fd 898 VkResult ImportFenceFdKHR( const( VkImportFenceFdInfoKHR )* pImportFenceFdInfo ) { return vkImportFenceFdKHR( vkDevice, pImportFenceFdInfo ); } 899 VkResult GetFenceFdKHR( const( VkFenceGetFdInfoKHR )* pGetFdInfo, int* pFd ) { return vkGetFenceFdKHR( vkDevice, pGetFdInfo, pFd ); } 900 901 // VK_KHR_performance_query 902 VkResult AcquireProfilingLockKHR( const( VkAcquireProfilingLockInfoKHR )* pInfo ) { return vkAcquireProfilingLockKHR( vkDevice, pInfo ); } 903 void ReleaseProfilingLockKHR() { vkReleaseProfilingLockKHR( vkDevice ); } 904 905 // VK_KHR_fragment_shading_rate 906 void CmdSetFragmentShadingRateKHR( const( VkExtent2D )* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR[2] combinerOps ) { vkCmdSetFragmentShadingRateKHR( commandBuffer, pFragmentSize, combinerOps ); } 907 908 // VK_KHR_present_wait 909 VkResult WaitForPresentKHR( VkSwapchainKHR swapchain, uint64_t presentId, uint64_t timeout ) { return vkWaitForPresentKHR( vkDevice, swapchain, presentId, timeout ); } 910 911 // VK_KHR_deferred_host_operations 912 VkResult CreateDeferredOperationKHR( VkDeferredOperationKHR* pDeferredOperation ) { return vkCreateDeferredOperationKHR( vkDevice, pAllocator, pDeferredOperation ); } 913 void DestroyDeferredOperationKHR( VkDeferredOperationKHR operation ) { vkDestroyDeferredOperationKHR( vkDevice, operation, pAllocator ); } 914 uint32_t GetDeferredOperationMaxConcurrencyKHR( VkDeferredOperationKHR operation ) { return vkGetDeferredOperationMaxConcurrencyKHR( vkDevice, operation ); } 915 VkResult GetDeferredOperationResultKHR( VkDeferredOperationKHR operation ) { return vkGetDeferredOperationResultKHR( vkDevice, operation ); } 916 VkResult DeferredOperationJoinKHR( VkDeferredOperationKHR operation ) { return vkDeferredOperationJoinKHR( vkDevice, operation ); } 917 918 // VK_KHR_pipeline_executable_properties 919 VkResult GetPipelineExecutablePropertiesKHR( const( VkPipelineInfoKHR )* pPipelineInfo, uint32_t* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties ) { return vkGetPipelineExecutablePropertiesKHR( vkDevice, pPipelineInfo, pExecutableCount, pProperties ); } 920 VkResult GetPipelineExecutableStatisticsKHR( const( VkPipelineExecutableInfoKHR )* pExecutableInfo, uint32_t* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics ) { return vkGetPipelineExecutableStatisticsKHR( vkDevice, pExecutableInfo, pStatisticCount, pStatistics ); } 921 VkResult GetPipelineExecutableInternalRepresentationsKHR( const( VkPipelineExecutableInfoKHR )* pExecutableInfo, uint32_t* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations ) { return vkGetPipelineExecutableInternalRepresentationsKHR( vkDevice, pExecutableInfo, pInternalRepresentationCount, pInternalRepresentations ); } 922 923 // VK_KHR_map_memory2 924 VkResult MapMemory2KHR( const( VkMemoryMapInfoKHR )* pMemoryMapInfo, void** ppData ) { return vkMapMemory2KHR( vkDevice, pMemoryMapInfo, ppData ); } 925 VkResult UnmapMemory2KHR( const( VkMemoryUnmapInfoKHR )* pMemoryUnmapInfo ) { return vkUnmapMemory2KHR( vkDevice, pMemoryUnmapInfo ); } 926 927 // VK_KHR_synchronization2 928 void CmdWriteBufferMarker2AMD( VkPipelineStageFlags2 stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker ) { vkCmdWriteBufferMarker2AMD( commandBuffer, stage, dstBuffer, dstOffset, marker ); } 929 930 // VK_KHR_ray_tracing_maintenance1 931 void CmdTraceRaysIndirect2KHR( VkDeviceAddress indirectDeviceAddress ) { vkCmdTraceRaysIndirect2KHR( commandBuffer, indirectDeviceAddress ); } 932 933 // VK_EXT_debug_marker 934 VkResult DebugMarkerSetObjectTagEXT( const( VkDebugMarkerObjectTagInfoEXT )* pTagInfo ) { return vkDebugMarkerSetObjectTagEXT( vkDevice, pTagInfo ); } 935 VkResult DebugMarkerSetObjectNameEXT( const( VkDebugMarkerObjectNameInfoEXT )* pNameInfo ) { return vkDebugMarkerSetObjectNameEXT( vkDevice, pNameInfo ); } 936 void CmdDebugMarkerBeginEXT( const( VkDebugMarkerMarkerInfoEXT )* pMarkerInfo ) { vkCmdDebugMarkerBeginEXT( commandBuffer, pMarkerInfo ); } 937 void CmdDebugMarkerEndEXT() { vkCmdDebugMarkerEndEXT( commandBuffer ); } 938 void CmdDebugMarkerInsertEXT( const( VkDebugMarkerMarkerInfoEXT )* pMarkerInfo ) { vkCmdDebugMarkerInsertEXT( commandBuffer, pMarkerInfo ); } 939 940 // VK_EXT_transform_feedback 941 void CmdBindTransformFeedbackBuffersEXT( uint32_t firstBinding, uint32_t bindingCount, const( VkBuffer )* pBuffers, const( VkDeviceSize )* pOffsets, const( VkDeviceSize )* pSizes ) { vkCmdBindTransformFeedbackBuffersEXT( commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes ); } 942 void CmdBeginTransformFeedbackEXT( uint32_t firstCounterBuffer, uint32_t counterBufferCount, const( VkBuffer )* pCounterBuffers, const( VkDeviceSize )* pCounterBufferOffsets ) { vkCmdBeginTransformFeedbackEXT( commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets ); } 943 void CmdEndTransformFeedbackEXT( uint32_t firstCounterBuffer, uint32_t counterBufferCount, const( VkBuffer )* pCounterBuffers, const( VkDeviceSize )* pCounterBufferOffsets ) { vkCmdEndTransformFeedbackEXT( commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets ); } 944 void CmdBeginQueryIndexedEXT( VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index ) { vkCmdBeginQueryIndexedEXT( commandBuffer, queryPool, query, flags, index ); } 945 void CmdEndQueryIndexedEXT( VkQueryPool queryPool, uint32_t query, uint32_t index ) { vkCmdEndQueryIndexedEXT( commandBuffer, queryPool, query, index ); } 946 void CmdDrawIndirectByteCountEXT( uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride ) { vkCmdDrawIndirectByteCountEXT( commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride ); } 947 948 // VK_NVX_binary_import 949 VkResult CreateCuModuleNVX( const( VkCuModuleCreateInfoNVX )* pCreateInfo, VkCuModuleNVX* pModule ) { return vkCreateCuModuleNVX( vkDevice, pCreateInfo, pAllocator, pModule ); } 950 VkResult CreateCuFunctionNVX( const( VkCuFunctionCreateInfoNVX )* pCreateInfo, VkCuFunctionNVX* pFunction ) { return vkCreateCuFunctionNVX( vkDevice, pCreateInfo, pAllocator, pFunction ); } 951 void DestroyCuModuleNVX( VkCuModuleNVX Module ) { vkDestroyCuModuleNVX( vkDevice, Module, pAllocator ); } 952 void DestroyCuFunctionNVX( VkCuFunctionNVX Function ) { vkDestroyCuFunctionNVX( vkDevice, Function, pAllocator ); } 953 void CmdCuLaunchKernelNVX( const( VkCuLaunchInfoNVX )* pLaunchInfo ) { vkCmdCuLaunchKernelNVX( commandBuffer, pLaunchInfo ); } 954 955 // VK_NVX_image_view_handle 956 uint32_t GetImageViewHandleNVX( const( VkImageViewHandleInfoNVX )* pInfo ) { return vkGetImageViewHandleNVX( vkDevice, pInfo ); } 957 VkResult GetImageViewAddressNVX( VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties ) { return vkGetImageViewAddressNVX( vkDevice, imageView, pProperties ); } 958 959 // VK_AMD_shader_info 960 VkResult GetShaderInfoAMD( VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, size_t* pInfoSize, void* pInfo ) { return vkGetShaderInfoAMD( vkDevice, pipeline, shaderStage, infoType, pInfoSize, pInfo ); } 961 962 // VK_EXT_conditional_rendering 963 void CmdBeginConditionalRenderingEXT( const( VkConditionalRenderingBeginInfoEXT )* pConditionalRenderingBegin ) { vkCmdBeginConditionalRenderingEXT( commandBuffer, pConditionalRenderingBegin ); } 964 void CmdEndConditionalRenderingEXT() { vkCmdEndConditionalRenderingEXT( commandBuffer ); } 965 966 // VK_NV_clip_space_w_scaling 967 void CmdSetViewportWScalingNV( uint32_t firstViewport, uint32_t viewportCount, const( VkViewportWScalingNV )* pViewportWScalings ) { vkCmdSetViewportWScalingNV( commandBuffer, firstViewport, viewportCount, pViewportWScalings ); } 968 969 // VK_EXT_display_control 970 VkResult DisplayPowerControlEXT( VkDisplayKHR display, const( VkDisplayPowerInfoEXT )* pDisplayPowerInfo ) { return vkDisplayPowerControlEXT( vkDevice, display, pDisplayPowerInfo ); } 971 VkResult RegisterDeviceEventEXT( const( VkDeviceEventInfoEXT )* pDeviceEventInfo, VkFence* pFence ) { return vkRegisterDeviceEventEXT( vkDevice, pDeviceEventInfo, pAllocator, pFence ); } 972 VkResult RegisterDisplayEventEXT( VkDisplayKHR display, const( VkDisplayEventInfoEXT )* pDisplayEventInfo, VkFence* pFence ) { return vkRegisterDisplayEventEXT( vkDevice, display, pDisplayEventInfo, pAllocator, pFence ); } 973 VkResult GetSwapchainCounterEXT( VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue ) { return vkGetSwapchainCounterEXT( vkDevice, swapchain, counter, pCounterValue ); } 974 975 // VK_GOOGLE_display_timing 976 VkResult GetRefreshCycleDurationGOOGLE( VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties ) { return vkGetRefreshCycleDurationGOOGLE( vkDevice, swapchain, pDisplayTimingProperties ); } 977 VkResult GetPastPresentationTimingGOOGLE( VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings ) { return vkGetPastPresentationTimingGOOGLE( vkDevice, swapchain, pPresentationTimingCount, pPresentationTimings ); } 978 979 // VK_EXT_discard_rectangles 980 void CmdSetDiscardRectangleEXT( uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const( VkRect2D )* pDiscardRectangles ) { vkCmdSetDiscardRectangleEXT( commandBuffer, firstDiscardRectangle, discardRectangleCount, pDiscardRectangles ); } 981 void CmdSetDiscardRectangleEnableEXT( VkBool32 discardRectangleEnable ) { vkCmdSetDiscardRectangleEnableEXT( commandBuffer, discardRectangleEnable ); } 982 void CmdSetDiscardRectangleModeEXT( VkDiscardRectangleModeEXT discardRectangleMode ) { vkCmdSetDiscardRectangleModeEXT( commandBuffer, discardRectangleMode ); } 983 984 // VK_EXT_hdr_metadata 985 void SetHdrMetadataEXT( uint32_t swapchainCount, const( VkSwapchainKHR )* pSwapchains, const( VkHdrMetadataEXT )* pMetadata ) { vkSetHdrMetadataEXT( vkDevice, swapchainCount, pSwapchains, pMetadata ); } 986 987 // VK_EXT_debug_utils 988 VkResult SetDebugUtilsObjectNameEXT( const( VkDebugUtilsObjectNameInfoEXT )* pNameInfo ) { return vkSetDebugUtilsObjectNameEXT( vkDevice, pNameInfo ); } 989 VkResult SetDebugUtilsObjectTagEXT( const( VkDebugUtilsObjectTagInfoEXT )* pTagInfo ) { return vkSetDebugUtilsObjectTagEXT( vkDevice, pTagInfo ); } 990 void CmdBeginDebugUtilsLabelEXT( const( VkDebugUtilsLabelEXT )* pLabelInfo ) { vkCmdBeginDebugUtilsLabelEXT( commandBuffer, pLabelInfo ); } 991 void CmdEndDebugUtilsLabelEXT() { vkCmdEndDebugUtilsLabelEXT( commandBuffer ); } 992 void CmdInsertDebugUtilsLabelEXT( const( VkDebugUtilsLabelEXT )* pLabelInfo ) { vkCmdInsertDebugUtilsLabelEXT( commandBuffer, pLabelInfo ); } 993 994 // VK_EXT_sample_locations 995 void CmdSetSampleLocationsEXT( const( VkSampleLocationsInfoEXT )* pSampleLocationsInfo ) { vkCmdSetSampleLocationsEXT( commandBuffer, pSampleLocationsInfo ); } 996 997 // VK_EXT_image_drm_format_modifier 998 VkResult GetImageDrmFormatModifierPropertiesEXT( VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties ) { return vkGetImageDrmFormatModifierPropertiesEXT( vkDevice, image, pProperties ); } 999 1000 // VK_EXT_validation_cache 1001 VkResult CreateValidationCacheEXT( const( VkValidationCacheCreateInfoEXT )* pCreateInfo, VkValidationCacheEXT* pValidationCache ) { return vkCreateValidationCacheEXT( vkDevice, pCreateInfo, pAllocator, pValidationCache ); } 1002 void DestroyValidationCacheEXT( VkValidationCacheEXT validationCache ) { vkDestroyValidationCacheEXT( vkDevice, validationCache, pAllocator ); } 1003 VkResult MergeValidationCachesEXT( VkValidationCacheEXT dstCache, uint32_t srcCacheCount, const( VkValidationCacheEXT )* pSrcCaches ) { return vkMergeValidationCachesEXT( vkDevice, dstCache, srcCacheCount, pSrcCaches ); } 1004 VkResult GetValidationCacheDataEXT( VkValidationCacheEXT validationCache, size_t* pDataSize, void* pData ) { return vkGetValidationCacheDataEXT( vkDevice, validationCache, pDataSize, pData ); } 1005 1006 // VK_NV_shading_rate_image 1007 void CmdBindShadingRateImageNV( VkImageView imageView, VkImageLayout imageLayout ) { vkCmdBindShadingRateImageNV( commandBuffer, imageView, imageLayout ); } 1008 void CmdSetViewportShadingRatePaletteNV( uint32_t firstViewport, uint32_t viewportCount, const( VkShadingRatePaletteNV )* pShadingRatePalettes ) { vkCmdSetViewportShadingRatePaletteNV( commandBuffer, firstViewport, viewportCount, pShadingRatePalettes ); } 1009 void CmdSetCoarseSampleOrderNV( VkCoarseSampleOrderTypeNV sampleOrderType, uint32_t customSampleOrderCount, const( VkCoarseSampleOrderCustomNV )* pCustomSampleOrders ) { vkCmdSetCoarseSampleOrderNV( commandBuffer, sampleOrderType, customSampleOrderCount, pCustomSampleOrders ); } 1010 1011 // VK_NV_ray_tracing 1012 VkResult CreateAccelerationStructureNV( const( VkAccelerationStructureCreateInfoNV )* pCreateInfo, VkAccelerationStructureNV* pAccelerationStructure ) { return vkCreateAccelerationStructureNV( vkDevice, pCreateInfo, pAllocator, pAccelerationStructure ); } 1013 void DestroyAccelerationStructureNV( VkAccelerationStructureNV accelerationStructure ) { vkDestroyAccelerationStructureNV( vkDevice, accelerationStructure, pAllocator ); } 1014 void GetAccelerationStructureMemoryRequirementsNV( const( VkAccelerationStructureMemoryRequirementsInfoNV )* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements ) { vkGetAccelerationStructureMemoryRequirementsNV( vkDevice, pInfo, pMemoryRequirements ); } 1015 VkResult BindAccelerationStructureMemoryNV( uint32_t bindInfoCount, const( VkBindAccelerationStructureMemoryInfoNV )* pBindInfos ) { return vkBindAccelerationStructureMemoryNV( vkDevice, bindInfoCount, pBindInfos ); } 1016 void CmdBuildAccelerationStructureNV( const( VkAccelerationStructureInfoNV )* pInfo, VkBuffer instanceData, VkDeviceSize instanceOffset, VkBool32 update, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkBuffer scratch, VkDeviceSize scratchOffset ) { vkCmdBuildAccelerationStructureNV( commandBuffer, pInfo, instanceData, instanceOffset, update, dst, src, scratch, scratchOffset ); } 1017 void CmdCopyAccelerationStructureNV( VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeKHR mode ) { vkCmdCopyAccelerationStructureNV( commandBuffer, dst, src, mode ); } 1018 void CmdTraceRaysNV( VkBuffer raygenShaderBindingTableBuffer, VkDeviceSize raygenShaderBindingOffset, VkBuffer missShaderBindingTableBuffer, VkDeviceSize missShaderBindingOffset, VkDeviceSize missShaderBindingStride, VkBuffer hitShaderBindingTableBuffer, VkDeviceSize hitShaderBindingOffset, VkDeviceSize hitShaderBindingStride, VkBuffer callableShaderBindingTableBuffer, VkDeviceSize callableShaderBindingOffset, VkDeviceSize callableShaderBindingStride, uint32_t width, uint32_t height, uint32_t depth ) { vkCmdTraceRaysNV( commandBuffer, raygenShaderBindingTableBuffer, raygenShaderBindingOffset, missShaderBindingTableBuffer, missShaderBindingOffset, missShaderBindingStride, hitShaderBindingTableBuffer, hitShaderBindingOffset, hitShaderBindingStride, callableShaderBindingTableBuffer, callableShaderBindingOffset, callableShaderBindingStride, width, height, depth ); } 1019 VkResult CreateRayTracingPipelinesNV( VkPipelineCache pipelineCache, uint32_t createInfoCount, const( VkRayTracingPipelineCreateInfoNV )* pCreateInfos, VkPipeline* pPipelines ) { return vkCreateRayTracingPipelinesNV( vkDevice, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines ); } 1020 VkResult GetRayTracingShaderGroupHandlesKHR( VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData ) { return vkGetRayTracingShaderGroupHandlesKHR( vkDevice, pipeline, firstGroup, groupCount, dataSize, pData ); } 1021 VkResult GetAccelerationStructureHandleNV( VkAccelerationStructureNV accelerationStructure, size_t dataSize, void* pData ) { return vkGetAccelerationStructureHandleNV( vkDevice, accelerationStructure, dataSize, pData ); } 1022 void CmdWriteAccelerationStructuresPropertiesNV( uint32_t accelerationStructureCount, const( VkAccelerationStructureNV )* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery ) { vkCmdWriteAccelerationStructuresPropertiesNV( commandBuffer, accelerationStructureCount, pAccelerationStructures, queryType, queryPool, firstQuery ); } 1023 VkResult CompileDeferredNV( VkPipeline pipeline, uint32_t shader ) { return vkCompileDeferredNV( vkDevice, pipeline, shader ); } 1024 1025 // VK_EXT_external_memory_host 1026 VkResult GetMemoryHostPointerPropertiesEXT( VkExternalMemoryHandleTypeFlagBits handleType, const( void )* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties ) { return vkGetMemoryHostPointerPropertiesEXT( vkDevice, handleType, pHostPointer, pMemoryHostPointerProperties ); } 1027 1028 // VK_AMD_buffer_marker 1029 void CmdWriteBufferMarkerAMD( VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker ) { vkCmdWriteBufferMarkerAMD( commandBuffer, pipelineStage, dstBuffer, dstOffset, marker ); } 1030 1031 // VK_EXT_calibrated_timestamps 1032 VkResult GetCalibratedTimestampsEXT( uint32_t timestampCount, const( VkCalibratedTimestampInfoEXT )* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation ) { return vkGetCalibratedTimestampsEXT( vkDevice, timestampCount, pTimestampInfos, pTimestamps, pMaxDeviation ); } 1033 1034 // VK_NV_mesh_shader 1035 void CmdDrawMeshTasksNV( uint32_t taskCount, uint32_t firstTask ) { vkCmdDrawMeshTasksNV( commandBuffer, taskCount, firstTask ); } 1036 void CmdDrawMeshTasksIndirectNV( VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride ) { vkCmdDrawMeshTasksIndirectNV( commandBuffer, buffer, offset, drawCount, stride ); } 1037 void CmdDrawMeshTasksIndirectCountNV( VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride ) { vkCmdDrawMeshTasksIndirectCountNV( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride ); } 1038 1039 // VK_NV_scissor_exclusive 1040 void CmdSetExclusiveScissorEnableNV( uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const( VkBool32 )* pExclusiveScissorEnables ) { vkCmdSetExclusiveScissorEnableNV( commandBuffer, firstExclusiveScissor, exclusiveScissorCount, pExclusiveScissorEnables ); } 1041 void CmdSetExclusiveScissorNV( uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const( VkRect2D )* pExclusiveScissors ) { vkCmdSetExclusiveScissorNV( commandBuffer, firstExclusiveScissor, exclusiveScissorCount, pExclusiveScissors ); } 1042 1043 // VK_NV_device_diagnostic_checkpoints 1044 void CmdSetCheckpointNV( const( void )* pCheckpointMarker ) { vkCmdSetCheckpointNV( commandBuffer, pCheckpointMarker ); } 1045 1046 // VK_INTEL_performance_query 1047 VkResult InitializePerformanceApiINTEL( const( VkInitializePerformanceApiInfoINTEL )* pInitializeInfo ) { return vkInitializePerformanceApiINTEL( vkDevice, pInitializeInfo ); } 1048 void UninitializePerformanceApiINTEL() { vkUninitializePerformanceApiINTEL( vkDevice ); } 1049 VkResult CmdSetPerformanceMarkerINTEL( const( VkPerformanceMarkerInfoINTEL )* pMarkerInfo ) { return vkCmdSetPerformanceMarkerINTEL( commandBuffer, pMarkerInfo ); } 1050 VkResult CmdSetPerformanceStreamMarkerINTEL( const( VkPerformanceStreamMarkerInfoINTEL )* pMarkerInfo ) { return vkCmdSetPerformanceStreamMarkerINTEL( commandBuffer, pMarkerInfo ); } 1051 VkResult CmdSetPerformanceOverrideINTEL( const( VkPerformanceOverrideInfoINTEL )* pOverrideInfo ) { return vkCmdSetPerformanceOverrideINTEL( commandBuffer, pOverrideInfo ); } 1052 VkResult AcquirePerformanceConfigurationINTEL( const( VkPerformanceConfigurationAcquireInfoINTEL )* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration ) { return vkAcquirePerformanceConfigurationINTEL( vkDevice, pAcquireInfo, pConfiguration ); } 1053 VkResult ReleasePerformanceConfigurationINTEL( VkPerformanceConfigurationINTEL configuration ) { return vkReleasePerformanceConfigurationINTEL( vkDevice, configuration ); } 1054 VkResult GetPerformanceParameterINTEL( VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue ) { return vkGetPerformanceParameterINTEL( vkDevice, parameter, pValue ); } 1055 1056 // VK_AMD_display_native_hdr 1057 void SetLocalDimmingAMD( VkSwapchainKHR swapChain, VkBool32 localDimmingEnable ) { vkSetLocalDimmingAMD( vkDevice, swapChain, localDimmingEnable ); } 1058 1059 // VK_EXT_line_rasterization 1060 void CmdSetLineStippleEXT( uint32_t lineStippleFactor, uint16_t lineStipplePattern ) { vkCmdSetLineStippleEXT( commandBuffer, lineStippleFactor, lineStipplePattern ); } 1061 1062 // VK_EXT_swapchain_maintenance1 1063 VkResult ReleaseSwapchainImagesEXT( const( VkReleaseSwapchainImagesInfoEXT )* pReleaseInfo ) { return vkReleaseSwapchainImagesEXT( vkDevice, pReleaseInfo ); } 1064 1065 // VK_NV_device_generated_commands 1066 void GetGeneratedCommandsMemoryRequirementsNV( const( VkGeneratedCommandsMemoryRequirementsInfoNV )* pInfo, VkMemoryRequirements2* pMemoryRequirements ) { vkGetGeneratedCommandsMemoryRequirementsNV( vkDevice, pInfo, pMemoryRequirements ); } 1067 void CmdPreprocessGeneratedCommandsNV( const( VkGeneratedCommandsInfoNV )* pGeneratedCommandsInfo ) { vkCmdPreprocessGeneratedCommandsNV( commandBuffer, pGeneratedCommandsInfo ); } 1068 void CmdExecuteGeneratedCommandsNV( VkBool32 isPreprocessed, const( VkGeneratedCommandsInfoNV )* pGeneratedCommandsInfo ) { vkCmdExecuteGeneratedCommandsNV( commandBuffer, isPreprocessed, pGeneratedCommandsInfo ); } 1069 void CmdBindPipelineShaderGroupNV( VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, uint32_t groupIndex ) { vkCmdBindPipelineShaderGroupNV( commandBuffer, pipelineBindPoint, pipeline, groupIndex ); } 1070 VkResult CreateIndirectCommandsLayoutNV( const( VkIndirectCommandsLayoutCreateInfoNV )* pCreateInfo, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout ) { return vkCreateIndirectCommandsLayoutNV( vkDevice, pCreateInfo, pAllocator, pIndirectCommandsLayout ); } 1071 void DestroyIndirectCommandsLayoutNV( VkIndirectCommandsLayoutNV indirectCommandsLayout ) { vkDestroyIndirectCommandsLayoutNV( vkDevice, indirectCommandsLayout, pAllocator ); } 1072 1073 // VK_EXT_descriptor_buffer 1074 void GetDescriptorSetLayoutSizeEXT( VkDescriptorSetLayout layout, VkDeviceSize* pLayoutSizeInBytes ) { vkGetDescriptorSetLayoutSizeEXT( vkDevice, layout, pLayoutSizeInBytes ); } 1075 void GetDescriptorSetLayoutBindingOffsetEXT( VkDescriptorSetLayout layout, uint32_t binding, VkDeviceSize* pOffset ) { vkGetDescriptorSetLayoutBindingOffsetEXT( vkDevice, layout, binding, pOffset ); } 1076 void GetDescriptorEXT( const( VkDescriptorGetInfoEXT )* pDescriptorInfo, size_t dataSize, void* pDescriptor ) { vkGetDescriptorEXT( vkDevice, pDescriptorInfo, dataSize, pDescriptor ); } 1077 void CmdBindDescriptorBuffersEXT( uint32_t bufferCount, const( VkDescriptorBufferBindingInfoEXT )* pBindingInfos ) { vkCmdBindDescriptorBuffersEXT( commandBuffer, bufferCount, pBindingInfos ); } 1078 void CmdSetDescriptorBufferOffsetsEXT( VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t setCount, const( uint32_t )* pBufferIndices, const( VkDeviceSize )* pOffsets ) { vkCmdSetDescriptorBufferOffsetsEXT( commandBuffer, pipelineBindPoint, layout, firstSet, setCount, pBufferIndices, pOffsets ); } 1079 void CmdBindDescriptorBufferEmbeddedSamplersEXT( VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set ) { vkCmdBindDescriptorBufferEmbeddedSamplersEXT( commandBuffer, pipelineBindPoint, layout, set ); } 1080 VkResult GetBufferOpaqueCaptureDescriptorDataEXT( const( VkBufferCaptureDescriptorDataInfoEXT )* pInfo, void* pData ) { return vkGetBufferOpaqueCaptureDescriptorDataEXT( vkDevice, pInfo, pData ); } 1081 VkResult GetImageOpaqueCaptureDescriptorDataEXT( const( VkImageCaptureDescriptorDataInfoEXT )* pInfo, void* pData ) { return vkGetImageOpaqueCaptureDescriptorDataEXT( vkDevice, pInfo, pData ); } 1082 VkResult GetImageViewOpaqueCaptureDescriptorDataEXT( const( VkImageViewCaptureDescriptorDataInfoEXT )* pInfo, void* pData ) { return vkGetImageViewOpaqueCaptureDescriptorDataEXT( vkDevice, pInfo, pData ); } 1083 VkResult GetSamplerOpaqueCaptureDescriptorDataEXT( const( VkSamplerCaptureDescriptorDataInfoEXT )* pInfo, void* pData ) { return vkGetSamplerOpaqueCaptureDescriptorDataEXT( vkDevice, pInfo, pData ); } 1084 VkResult GetAccelerationStructureOpaqueCaptureDescriptorDataEXT( const( VkAccelerationStructureCaptureDescriptorDataInfoEXT )* pInfo, void* pData ) { return vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT( vkDevice, pInfo, pData ); } 1085 1086 // VK_NV_fragment_shading_rate_enums 1087 void CmdSetFragmentShadingRateEnumNV( VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR[2] combinerOps ) { vkCmdSetFragmentShadingRateEnumNV( commandBuffer, shadingRate, combinerOps ); } 1088 1089 // VK_EXT_image_compression_control 1090 void GetImageSubresourceLayout2EXT( VkImage image, const( VkImageSubresource2EXT )* pSubresource, VkSubresourceLayout2EXT* pLayout ) { vkGetImageSubresourceLayout2EXT( vkDevice, image, pSubresource, pLayout ); } 1091 1092 // VK_EXT_device_fault 1093 VkResult GetDeviceFaultInfoEXT( VkDeviceFaultCountsEXT* pFaultCounts, VkDeviceFaultInfoEXT* pFaultInfo ) { return vkGetDeviceFaultInfoEXT( vkDevice, pFaultCounts, pFaultInfo ); } 1094 1095 // VK_EXT_vertex_input_dynamic_state 1096 void CmdSetVertexInputEXT( uint32_t vertexBindingDescriptionCount, const( VkVertexInputBindingDescription2EXT )* pVertexBindingDescriptions, uint32_t vertexAttributeDescriptionCount, const( VkVertexInputAttributeDescription2EXT )* pVertexAttributeDescriptions ) { vkCmdSetVertexInputEXT( commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions ); } 1097 1098 // VK_HUAWEI_subpass_shading 1099 VkResult GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( VkRenderPass renderpass, VkExtent2D* pMaxWorkgroupSize ) { return vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( vkDevice, renderpass, pMaxWorkgroupSize ); } 1100 void CmdSubpassShadingHUAWEI() { vkCmdSubpassShadingHUAWEI( commandBuffer ); } 1101 1102 // VK_HUAWEI_invocation_mask 1103 void CmdBindInvocationMaskHUAWEI( VkImageView imageView, VkImageLayout imageLayout ) { vkCmdBindInvocationMaskHUAWEI( commandBuffer, imageView, imageLayout ); } 1104 1105 // VK_NV_external_memory_rdma 1106 VkResult GetMemoryRemoteAddressNV( const( VkMemoryGetRemoteAddressInfoNV )* pMemoryGetRemoteAddressInfo, VkRemoteAddressNV* pAddress ) { return vkGetMemoryRemoteAddressNV( vkDevice, pMemoryGetRemoteAddressInfo, pAddress ); } 1107 1108 // VK_EXT_pipeline_properties 1109 VkResult GetPipelinePropertiesEXT( const( VkPipelineInfoEXT )* pPipelineInfo, VkBaseOutStructure* pPipelineProperties ) { return vkGetPipelinePropertiesEXT( vkDevice, pPipelineInfo, pPipelineProperties ); } 1110 1111 // VK_EXT_extended_dynamic_state2 1112 void CmdSetPatchControlPointsEXT( uint32_t patchControlPoints ) { vkCmdSetPatchControlPointsEXT( commandBuffer, patchControlPoints ); } 1113 void CmdSetLogicOpEXT( VkLogicOp logicOp ) { vkCmdSetLogicOpEXT( commandBuffer, logicOp ); } 1114 1115 // VK_EXT_color_write_enable 1116 void CmdSetColorWriteEnableEXT( uint32_t attachmentCount, const( VkBool32 )* pColorWriteEnables ) { vkCmdSetColorWriteEnableEXT( commandBuffer, attachmentCount, pColorWriteEnables ); } 1117 1118 // VK_EXT_multi_draw 1119 void CmdDrawMultiEXT( uint32_t drawCount, const( VkMultiDrawInfoEXT )* pVertexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride ) { vkCmdDrawMultiEXT( commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride ); } 1120 void CmdDrawMultiIndexedEXT( uint32_t drawCount, const( VkMultiDrawIndexedInfoEXT )* pIndexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride, const( int32_t )* pVertexOffset ) { vkCmdDrawMultiIndexedEXT( commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset ); } 1121 1122 // VK_EXT_opacity_micromap 1123 VkResult CreateMicromapEXT( const( VkMicromapCreateInfoEXT )* pCreateInfo, VkMicromapEXT* pMicromap ) { return vkCreateMicromapEXT( vkDevice, pCreateInfo, pAllocator, pMicromap ); } 1124 void DestroyMicromapEXT( VkMicromapEXT micromap ) { vkDestroyMicromapEXT( vkDevice, micromap, pAllocator ); } 1125 void CmdBuildMicromapsEXT( uint32_t infoCount, const( VkMicromapBuildInfoEXT )* pInfos ) { vkCmdBuildMicromapsEXT( commandBuffer, infoCount, pInfos ); } 1126 VkResult BuildMicromapsEXT( VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const( VkMicromapBuildInfoEXT )* pInfos ) { return vkBuildMicromapsEXT( vkDevice, deferredOperation, infoCount, pInfos ); } 1127 VkResult CopyMicromapEXT( VkDeferredOperationKHR deferredOperation, const( VkCopyMicromapInfoEXT )* pInfo ) { return vkCopyMicromapEXT( vkDevice, deferredOperation, pInfo ); } 1128 VkResult CopyMicromapToMemoryEXT( VkDeferredOperationKHR deferredOperation, const( VkCopyMicromapToMemoryInfoEXT )* pInfo ) { return vkCopyMicromapToMemoryEXT( vkDevice, deferredOperation, pInfo ); } 1129 VkResult CopyMemoryToMicromapEXT( VkDeferredOperationKHR deferredOperation, const( VkCopyMemoryToMicromapInfoEXT )* pInfo ) { return vkCopyMemoryToMicromapEXT( vkDevice, deferredOperation, pInfo ); } 1130 VkResult WriteMicromapsPropertiesEXT( uint32_t micromapCount, const( VkMicromapEXT )* pMicromaps, VkQueryType queryType, size_t dataSize, void* pData, size_t stride ) { return vkWriteMicromapsPropertiesEXT( vkDevice, micromapCount, pMicromaps, queryType, dataSize, pData, stride ); } 1131 void CmdCopyMicromapEXT( const( VkCopyMicromapInfoEXT )* pInfo ) { vkCmdCopyMicromapEXT( commandBuffer, pInfo ); } 1132 void CmdCopyMicromapToMemoryEXT( const( VkCopyMicromapToMemoryInfoEXT )* pInfo ) { vkCmdCopyMicromapToMemoryEXT( commandBuffer, pInfo ); } 1133 void CmdCopyMemoryToMicromapEXT( const( VkCopyMemoryToMicromapInfoEXT )* pInfo ) { vkCmdCopyMemoryToMicromapEXT( commandBuffer, pInfo ); } 1134 void CmdWriteMicromapsPropertiesEXT( uint32_t micromapCount, const( VkMicromapEXT )* pMicromaps, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery ) { vkCmdWriteMicromapsPropertiesEXT( commandBuffer, micromapCount, pMicromaps, queryType, queryPool, firstQuery ); } 1135 void GetDeviceMicromapCompatibilityEXT( const( VkMicromapVersionInfoEXT )* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility ) { vkGetDeviceMicromapCompatibilityEXT( vkDevice, pVersionInfo, pCompatibility ); } 1136 void GetMicromapBuildSizesEXT( VkAccelerationStructureBuildTypeKHR buildType, const( VkMicromapBuildInfoEXT )* pBuildInfo, VkMicromapBuildSizesInfoEXT* pSizeInfo ) { vkGetMicromapBuildSizesEXT( vkDevice, buildType, pBuildInfo, pSizeInfo ); } 1137 1138 // VK_HUAWEI_cluster_culling_shader 1139 void CmdDrawClusterHUAWEI( uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ ) { vkCmdDrawClusterHUAWEI( commandBuffer, groupCountX, groupCountY, groupCountZ ); } 1140 void CmdDrawClusterIndirectHUAWEI( VkBuffer buffer, VkDeviceSize offset ) { vkCmdDrawClusterIndirectHUAWEI( commandBuffer, buffer, offset ); } 1141 1142 // VK_EXT_pageable_device_local_memory 1143 void SetDeviceMemoryPriorityEXT( VkDeviceMemory memory, float priority ) { vkSetDeviceMemoryPriorityEXT( vkDevice, memory, priority ); } 1144 1145 // VK_VALVE_descriptor_set_host_mapping 1146 void GetDescriptorSetLayoutHostMappingInfoVALVE( const( VkDescriptorSetBindingReferenceVALVE )* pBindingReference, VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping ) { vkGetDescriptorSetLayoutHostMappingInfoVALVE( vkDevice, pBindingReference, pHostMapping ); } 1147 void GetDescriptorSetHostMappingVALVE( VkDescriptorSet descriptorSet, void** ppData ) { vkGetDescriptorSetHostMappingVALVE( vkDevice, descriptorSet, ppData ); } 1148 1149 // VK_NV_copy_memory_indirect 1150 void CmdCopyMemoryIndirectNV( VkDeviceAddress copyBufferAddress, uint32_t copyCount, uint32_t stride ) { vkCmdCopyMemoryIndirectNV( commandBuffer, copyBufferAddress, copyCount, stride ); } 1151 void CmdCopyMemoryToImageIndirectNV( VkDeviceAddress copyBufferAddress, uint32_t copyCount, uint32_t stride, VkImage dstImage, VkImageLayout dstImageLayout, const( VkImageSubresourceLayers )* pImageSubresources ) { vkCmdCopyMemoryToImageIndirectNV( commandBuffer, copyBufferAddress, copyCount, stride, dstImage, dstImageLayout, pImageSubresources ); } 1152 1153 // VK_NV_memory_decompression 1154 void CmdDecompressMemoryNV( uint32_t decompressRegionCount, const( VkDecompressMemoryRegionNV )* pDecompressMemoryRegions ) { vkCmdDecompressMemoryNV( commandBuffer, decompressRegionCount, pDecompressMemoryRegions ); } 1155 void CmdDecompressMemoryIndirectCountNV( VkDeviceAddress indirectCommandsAddress, VkDeviceAddress indirectCommandsCountAddress, uint32_t stride ) { vkCmdDecompressMemoryIndirectCountNV( commandBuffer, indirectCommandsAddress, indirectCommandsCountAddress, stride ); } 1156 1157 // VK_EXT_extended_dynamic_state3 1158 void CmdSetTessellationDomainOriginEXT( VkTessellationDomainOrigin domainOrigin ) { vkCmdSetTessellationDomainOriginEXT( commandBuffer, domainOrigin ); } 1159 void CmdSetDepthClampEnableEXT( VkBool32 depthClampEnable ) { vkCmdSetDepthClampEnableEXT( commandBuffer, depthClampEnable ); } 1160 void CmdSetPolygonModeEXT( VkPolygonMode polygonMode ) { vkCmdSetPolygonModeEXT( commandBuffer, polygonMode ); } 1161 void CmdSetRasterizationSamplesEXT( VkSampleCountFlagBits rasterizationSamples ) { vkCmdSetRasterizationSamplesEXT( commandBuffer, rasterizationSamples ); } 1162 void CmdSetSampleMaskEXT( VkSampleCountFlagBits samples, const( VkSampleMask )* pSampleMask ) { vkCmdSetSampleMaskEXT( commandBuffer, samples, pSampleMask ); } 1163 void CmdSetAlphaToCoverageEnableEXT( VkBool32 alphaToCoverageEnable ) { vkCmdSetAlphaToCoverageEnableEXT( commandBuffer, alphaToCoverageEnable ); } 1164 void CmdSetAlphaToOneEnableEXT( VkBool32 alphaToOneEnable ) { vkCmdSetAlphaToOneEnableEXT( commandBuffer, alphaToOneEnable ); } 1165 void CmdSetLogicOpEnableEXT( VkBool32 logicOpEnable ) { vkCmdSetLogicOpEnableEXT( commandBuffer, logicOpEnable ); } 1166 void CmdSetColorBlendEnableEXT( uint32_t firstAttachment, uint32_t attachmentCount, const( VkBool32 )* pColorBlendEnables ) { vkCmdSetColorBlendEnableEXT( commandBuffer, firstAttachment, attachmentCount, pColorBlendEnables ); } 1167 void CmdSetColorBlendEquationEXT( uint32_t firstAttachment, uint32_t attachmentCount, const( VkColorBlendEquationEXT )* pColorBlendEquations ) { vkCmdSetColorBlendEquationEXT( commandBuffer, firstAttachment, attachmentCount, pColorBlendEquations ); } 1168 void CmdSetColorWriteMaskEXT( uint32_t firstAttachment, uint32_t attachmentCount, const( VkColorComponentFlags )* pColorWriteMasks ) { vkCmdSetColorWriteMaskEXT( commandBuffer, firstAttachment, attachmentCount, pColorWriteMasks ); } 1169 void CmdSetRasterizationStreamEXT( uint32_t rasterizationStream ) { vkCmdSetRasterizationStreamEXT( commandBuffer, rasterizationStream ); } 1170 void CmdSetConservativeRasterizationModeEXT( VkConservativeRasterizationModeEXT conservativeRasterizationMode ) { vkCmdSetConservativeRasterizationModeEXT( commandBuffer, conservativeRasterizationMode ); } 1171 void CmdSetExtraPrimitiveOverestimationSizeEXT( float extraPrimitiveOverestimationSize ) { vkCmdSetExtraPrimitiveOverestimationSizeEXT( commandBuffer, extraPrimitiveOverestimationSize ); } 1172 void CmdSetDepthClipEnableEXT( VkBool32 depthClipEnable ) { vkCmdSetDepthClipEnableEXT( commandBuffer, depthClipEnable ); } 1173 void CmdSetSampleLocationsEnableEXT( VkBool32 sampleLocationsEnable ) { vkCmdSetSampleLocationsEnableEXT( commandBuffer, sampleLocationsEnable ); } 1174 void CmdSetColorBlendAdvancedEXT( uint32_t firstAttachment, uint32_t attachmentCount, const( VkColorBlendAdvancedEXT )* pColorBlendAdvanced ) { vkCmdSetColorBlendAdvancedEXT( commandBuffer, firstAttachment, attachmentCount, pColorBlendAdvanced ); } 1175 void CmdSetProvokingVertexModeEXT( VkProvokingVertexModeEXT provokingVertexMode ) { vkCmdSetProvokingVertexModeEXT( commandBuffer, provokingVertexMode ); } 1176 void CmdSetLineRasterizationModeEXT( VkLineRasterizationModeEXT lineRasterizationMode ) { vkCmdSetLineRasterizationModeEXT( commandBuffer, lineRasterizationMode ); } 1177 void CmdSetLineStippleEnableEXT( VkBool32 stippledLineEnable ) { vkCmdSetLineStippleEnableEXT( commandBuffer, stippledLineEnable ); } 1178 void CmdSetDepthClipNegativeOneToOneEXT( VkBool32 negativeOneToOne ) { vkCmdSetDepthClipNegativeOneToOneEXT( commandBuffer, negativeOneToOne ); } 1179 void CmdSetViewportWScalingEnableNV( VkBool32 viewportWScalingEnable ) { vkCmdSetViewportWScalingEnableNV( commandBuffer, viewportWScalingEnable ); } 1180 void CmdSetViewportSwizzleNV( uint32_t firstViewport, uint32_t viewportCount, const( VkViewportSwizzleNV )* pViewportSwizzles ) { vkCmdSetViewportSwizzleNV( commandBuffer, firstViewport, viewportCount, pViewportSwizzles ); } 1181 void CmdSetCoverageToColorEnableNV( VkBool32 coverageToColorEnable ) { vkCmdSetCoverageToColorEnableNV( commandBuffer, coverageToColorEnable ); } 1182 void CmdSetCoverageToColorLocationNV( uint32_t coverageToColorLocation ) { vkCmdSetCoverageToColorLocationNV( commandBuffer, coverageToColorLocation ); } 1183 void CmdSetCoverageModulationModeNV( VkCoverageModulationModeNV coverageModulationMode ) { vkCmdSetCoverageModulationModeNV( commandBuffer, coverageModulationMode ); } 1184 void CmdSetCoverageModulationTableEnableNV( VkBool32 coverageModulationTableEnable ) { vkCmdSetCoverageModulationTableEnableNV( commandBuffer, coverageModulationTableEnable ); } 1185 void CmdSetCoverageModulationTableNV( uint32_t coverageModulationTableCount, const( float )* pCoverageModulationTable ) { vkCmdSetCoverageModulationTableNV( commandBuffer, coverageModulationTableCount, pCoverageModulationTable ); } 1186 void CmdSetShadingRateImageEnableNV( VkBool32 shadingRateImageEnable ) { vkCmdSetShadingRateImageEnableNV( commandBuffer, shadingRateImageEnable ); } 1187 void CmdSetRepresentativeFragmentTestEnableNV( VkBool32 representativeFragmentTestEnable ) { vkCmdSetRepresentativeFragmentTestEnableNV( commandBuffer, representativeFragmentTestEnable ); } 1188 void CmdSetCoverageReductionModeNV( VkCoverageReductionModeNV coverageReductionMode ) { vkCmdSetCoverageReductionModeNV( commandBuffer, coverageReductionMode ); } 1189 1190 // VK_EXT_shader_module_identifier 1191 void GetShaderModuleIdentifierEXT( VkShaderModule shaderModule, VkShaderModuleIdentifierEXT* pIdentifier ) { vkGetShaderModuleIdentifierEXT( vkDevice, shaderModule, pIdentifier ); } 1192 void GetShaderModuleCreateInfoIdentifierEXT( const( VkShaderModuleCreateInfo )* pCreateInfo, VkShaderModuleIdentifierEXT* pIdentifier ) { vkGetShaderModuleCreateInfoIdentifierEXT( vkDevice, pCreateInfo, pIdentifier ); } 1193 1194 // VK_NV_optical_flow 1195 VkResult CreateOpticalFlowSessionNV( const( VkOpticalFlowSessionCreateInfoNV )* pCreateInfo, VkOpticalFlowSessionNV* pSession ) { return vkCreateOpticalFlowSessionNV( vkDevice, pCreateInfo, pAllocator, pSession ); } 1196 void DestroyOpticalFlowSessionNV( VkOpticalFlowSessionNV session ) { vkDestroyOpticalFlowSessionNV( vkDevice, session, pAllocator ); } 1197 VkResult BindOpticalFlowSessionImageNV( VkOpticalFlowSessionNV session, VkOpticalFlowSessionBindingPointNV bindingPoint, VkImageView view, VkImageLayout layout ) { return vkBindOpticalFlowSessionImageNV( vkDevice, session, bindingPoint, view, layout ); } 1198 void CmdOpticalFlowExecuteNV( VkOpticalFlowSessionNV session, const( VkOpticalFlowExecuteInfoNV )* pExecuteInfo ) { vkCmdOpticalFlowExecuteNV( commandBuffer, session, pExecuteInfo ); } 1199 1200 // VK_EXT_shader_object 1201 VkResult CreateShadersEXT( uint32_t createInfoCount, const( VkShaderCreateInfoEXT )* pCreateInfos, VkShaderEXT* pShaders ) { return vkCreateShadersEXT( vkDevice, createInfoCount, pCreateInfos, pAllocator, pShaders ); } 1202 void DestroyShaderEXT( VkShaderEXT shader ) { vkDestroyShaderEXT( vkDevice, shader, pAllocator ); } 1203 VkResult GetShaderBinaryDataEXT( VkShaderEXT shader, size_t* pDataSize, void* pData ) { return vkGetShaderBinaryDataEXT( vkDevice, shader, pDataSize, pData ); } 1204 void CmdBindShadersEXT( uint32_t stageCount, const( VkShaderStageFlagBits )* pStages, const( VkShaderEXT )* pShaders ) { vkCmdBindShadersEXT( commandBuffer, stageCount, pStages, pShaders ); } 1205 1206 // VK_QCOM_tile_properties 1207 VkResult GetFramebufferTilePropertiesQCOM( VkFramebuffer framebuffer, uint32_t* pPropertiesCount, VkTilePropertiesQCOM* pProperties ) { return vkGetFramebufferTilePropertiesQCOM( vkDevice, framebuffer, pPropertiesCount, pProperties ); } 1208 VkResult GetDynamicRenderingTilePropertiesQCOM( const( VkRenderingInfo )* pRenderingInfo, VkTilePropertiesQCOM* pProperties ) { return vkGetDynamicRenderingTilePropertiesQCOM( vkDevice, pRenderingInfo, pProperties ); } 1209 1210 // VK_KHR_acceleration_structure 1211 VkResult CreateAccelerationStructureKHR( const( VkAccelerationStructureCreateInfoKHR )* pCreateInfo, VkAccelerationStructureKHR* pAccelerationStructure ) { return vkCreateAccelerationStructureKHR( vkDevice, pCreateInfo, pAllocator, pAccelerationStructure ); } 1212 void DestroyAccelerationStructureKHR( VkAccelerationStructureKHR accelerationStructure ) { vkDestroyAccelerationStructureKHR( vkDevice, accelerationStructure, pAllocator ); } 1213 void CmdBuildAccelerationStructuresKHR( uint32_t infoCount, const( VkAccelerationStructureBuildGeometryInfoKHR )* pInfos, const( VkAccelerationStructureBuildRangeInfoKHR* )* ppBuildRangeInfos ) { vkCmdBuildAccelerationStructuresKHR( commandBuffer, infoCount, pInfos, ppBuildRangeInfos ); } 1214 void CmdBuildAccelerationStructuresIndirectKHR( uint32_t infoCount, const( VkAccelerationStructureBuildGeometryInfoKHR )* pInfos, const( VkDeviceAddress )* pIndirectDeviceAddresses, const( uint32_t )* pIndirectStrides, const( uint32_t* )* ppMaxPrimitiveCounts ) { vkCmdBuildAccelerationStructuresIndirectKHR( commandBuffer, infoCount, pInfos, pIndirectDeviceAddresses, pIndirectStrides, ppMaxPrimitiveCounts ); } 1215 VkResult BuildAccelerationStructuresKHR( VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const( VkAccelerationStructureBuildGeometryInfoKHR )* pInfos, const( VkAccelerationStructureBuildRangeInfoKHR* )* ppBuildRangeInfos ) { return vkBuildAccelerationStructuresKHR( vkDevice, deferredOperation, infoCount, pInfos, ppBuildRangeInfos ); } 1216 VkResult CopyAccelerationStructureKHR( VkDeferredOperationKHR deferredOperation, const( VkCopyAccelerationStructureInfoKHR )* pInfo ) { return vkCopyAccelerationStructureKHR( vkDevice, deferredOperation, pInfo ); } 1217 VkResult CopyAccelerationStructureToMemoryKHR( VkDeferredOperationKHR deferredOperation, const( VkCopyAccelerationStructureToMemoryInfoKHR )* pInfo ) { return vkCopyAccelerationStructureToMemoryKHR( vkDevice, deferredOperation, pInfo ); } 1218 VkResult CopyMemoryToAccelerationStructureKHR( VkDeferredOperationKHR deferredOperation, const( VkCopyMemoryToAccelerationStructureInfoKHR )* pInfo ) { return vkCopyMemoryToAccelerationStructureKHR( vkDevice, deferredOperation, pInfo ); } 1219 VkResult WriteAccelerationStructuresPropertiesKHR( uint32_t accelerationStructureCount, const( VkAccelerationStructureKHR )* pAccelerationStructures, VkQueryType queryType, size_t dataSize, void* pData, size_t stride ) { return vkWriteAccelerationStructuresPropertiesKHR( vkDevice, accelerationStructureCount, pAccelerationStructures, queryType, dataSize, pData, stride ); } 1220 void CmdCopyAccelerationStructureKHR( const( VkCopyAccelerationStructureInfoKHR )* pInfo ) { vkCmdCopyAccelerationStructureKHR( commandBuffer, pInfo ); } 1221 void CmdCopyAccelerationStructureToMemoryKHR( const( VkCopyAccelerationStructureToMemoryInfoKHR )* pInfo ) { vkCmdCopyAccelerationStructureToMemoryKHR( commandBuffer, pInfo ); } 1222 void CmdCopyMemoryToAccelerationStructureKHR( const( VkCopyMemoryToAccelerationStructureInfoKHR )* pInfo ) { vkCmdCopyMemoryToAccelerationStructureKHR( commandBuffer, pInfo ); } 1223 VkDeviceAddress GetAccelerationStructureDeviceAddressKHR( const( VkAccelerationStructureDeviceAddressInfoKHR )* pInfo ) { return vkGetAccelerationStructureDeviceAddressKHR( vkDevice, pInfo ); } 1224 void CmdWriteAccelerationStructuresPropertiesKHR( uint32_t accelerationStructureCount, const( VkAccelerationStructureKHR )* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery ) { vkCmdWriteAccelerationStructuresPropertiesKHR( commandBuffer, accelerationStructureCount, pAccelerationStructures, queryType, queryPool, firstQuery ); } 1225 void GetDeviceAccelerationStructureCompatibilityKHR( const( VkAccelerationStructureVersionInfoKHR )* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility ) { vkGetDeviceAccelerationStructureCompatibilityKHR( vkDevice, pVersionInfo, pCompatibility ); } 1226 void GetAccelerationStructureBuildSizesKHR( VkAccelerationStructureBuildTypeKHR buildType, const( VkAccelerationStructureBuildGeometryInfoKHR )* pBuildInfo, const( uint32_t )* pMaxPrimitiveCounts, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo ) { vkGetAccelerationStructureBuildSizesKHR( vkDevice, buildType, pBuildInfo, pMaxPrimitiveCounts, pSizeInfo ); } 1227 1228 // VK_KHR_ray_tracing_pipeline 1229 void CmdTraceRaysKHR( const( VkStridedDeviceAddressRegionKHR )* pRaygenShaderBindingTable, const( VkStridedDeviceAddressRegionKHR )* pMissShaderBindingTable, const( VkStridedDeviceAddressRegionKHR )* pHitShaderBindingTable, const( VkStridedDeviceAddressRegionKHR )* pCallableShaderBindingTable, uint32_t width, uint32_t height, uint32_t depth ) { vkCmdTraceRaysKHR( commandBuffer, pRaygenShaderBindingTable, pMissShaderBindingTable, pHitShaderBindingTable, pCallableShaderBindingTable, width, height, depth ); } 1230 VkResult CreateRayTracingPipelinesKHR( VkDeferredOperationKHR deferredOperation, VkPipelineCache pipelineCache, uint32_t createInfoCount, const( VkRayTracingPipelineCreateInfoKHR )* pCreateInfos, VkPipeline* pPipelines ) { return vkCreateRayTracingPipelinesKHR( vkDevice, deferredOperation, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines ); } 1231 VkResult GetRayTracingCaptureReplayShaderGroupHandlesKHR( VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData ) { return vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( vkDevice, pipeline, firstGroup, groupCount, dataSize, pData ); } 1232 void CmdTraceRaysIndirectKHR( const( VkStridedDeviceAddressRegionKHR )* pRaygenShaderBindingTable, const( VkStridedDeviceAddressRegionKHR )* pMissShaderBindingTable, const( VkStridedDeviceAddressRegionKHR )* pHitShaderBindingTable, const( VkStridedDeviceAddressRegionKHR )* pCallableShaderBindingTable, VkDeviceAddress indirectDeviceAddress ) { vkCmdTraceRaysIndirectKHR( commandBuffer, pRaygenShaderBindingTable, pMissShaderBindingTable, pHitShaderBindingTable, pCallableShaderBindingTable, indirectDeviceAddress ); } 1233 VkDeviceSize GetRayTracingShaderGroupStackSizeKHR( VkPipeline pipeline, uint32_t group, VkShaderGroupShaderKHR groupShader ) { return vkGetRayTracingShaderGroupStackSizeKHR( vkDevice, pipeline, group, groupShader ); } 1234 void CmdSetRayTracingPipelineStackSizeKHR( uint32_t pipelineStackSize ) { vkCmdSetRayTracingPipelineStackSizeKHR( commandBuffer, pipelineStackSize ); } 1235 1236 // VK_EXT_mesh_shader 1237 void CmdDrawMeshTasksEXT( uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ ) { vkCmdDrawMeshTasksEXT( commandBuffer, groupCountX, groupCountY, groupCountZ ); } 1238 void CmdDrawMeshTasksIndirectEXT( VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride ) { vkCmdDrawMeshTasksIndirectEXT( commandBuffer, buffer, offset, drawCount, stride ); } 1239 void CmdDrawMeshTasksIndirectCountEXT( VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride ) { vkCmdDrawMeshTasksIndirectCountEXT( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride ); } 1240 1241 // VK_KHR_dynamic_rendering 1242 alias CmdBeginRenderingKHR = CmdBeginRendering; 1243 alias CmdEndRenderingKHR = CmdEndRendering; 1244 1245 // VK_KHR_device_group 1246 alias GetDeviceGroupPeerMemoryFeaturesKHR = GetDeviceGroupPeerMemoryFeatures; 1247 alias CmdSetDeviceMaskKHR = CmdSetDeviceMask; 1248 alias CmdDispatchBaseKHR = CmdDispatchBase; 1249 1250 // VK_KHR_maintenance1 1251 alias TrimCommandPoolKHR = TrimCommandPool; 1252 1253 // VK_KHR_descriptor_update_template 1254 alias CreateDescriptorUpdateTemplateKHR = CreateDescriptorUpdateTemplate; 1255 alias DestroyDescriptorUpdateTemplateKHR = DestroyDescriptorUpdateTemplate; 1256 alias UpdateDescriptorSetWithTemplateKHR = UpdateDescriptorSetWithTemplate; 1257 1258 // VK_KHR_create_renderpass2 1259 alias CreateRenderPass2KHR = CreateRenderPass2; 1260 alias CmdBeginRenderPass2KHR = CmdBeginRenderPass2; 1261 alias CmdNextSubpass2KHR = CmdNextSubpass2; 1262 alias CmdEndRenderPass2KHR = CmdEndRenderPass2; 1263 1264 // VK_KHR_get_memory_requirements2 1265 alias GetImageMemoryRequirements2KHR = GetImageMemoryRequirements2; 1266 alias GetBufferMemoryRequirements2KHR = GetBufferMemoryRequirements2; 1267 alias GetImageSparseMemoryRequirements2KHR = GetImageSparseMemoryRequirements2; 1268 1269 // VK_KHR_sampler_ycbcr_conversion 1270 alias CreateSamplerYcbcrConversionKHR = CreateSamplerYcbcrConversion; 1271 alias DestroySamplerYcbcrConversionKHR = DestroySamplerYcbcrConversion; 1272 1273 // VK_KHR_bind_memory2 1274 alias BindBufferMemory2KHR = BindBufferMemory2; 1275 alias BindImageMemory2KHR = BindImageMemory2; 1276 1277 // VK_KHR_maintenance3 1278 alias GetDescriptorSetLayoutSupportKHR = GetDescriptorSetLayoutSupport; 1279 1280 // VK_KHR_draw_indirect_count 1281 alias CmdDrawIndirectCountKHR = CmdDrawIndirectCount; 1282 alias CmdDrawIndexedIndirectCountKHR = CmdDrawIndexedIndirectCount; 1283 1284 // VK_KHR_timeline_semaphore 1285 alias GetSemaphoreCounterValueKHR = GetSemaphoreCounterValue; 1286 alias WaitSemaphoresKHR = WaitSemaphores; 1287 alias SignalSemaphoreKHR = SignalSemaphore; 1288 1289 // VK_KHR_buffer_device_address 1290 alias GetBufferDeviceAddressKHR = GetBufferDeviceAddress; 1291 alias GetBufferOpaqueCaptureAddressKHR = GetBufferOpaqueCaptureAddress; 1292 alias GetDeviceMemoryOpaqueCaptureAddressKHR = GetDeviceMemoryOpaqueCaptureAddress; 1293 1294 // VK_KHR_synchronization2 1295 alias CmdSetEvent2KHR = CmdSetEvent2; 1296 alias CmdResetEvent2KHR = CmdResetEvent2; 1297 alias CmdWaitEvents2KHR = CmdWaitEvents2; 1298 alias CmdPipelineBarrier2KHR = CmdPipelineBarrier2; 1299 alias CmdWriteTimestamp2KHR = CmdWriteTimestamp2; 1300 1301 // VK_KHR_copy_commands2 1302 alias CmdCopyBuffer2KHR = CmdCopyBuffer2; 1303 alias CmdCopyImage2KHR = CmdCopyImage2; 1304 alias CmdCopyBufferToImage2KHR = CmdCopyBufferToImage2; 1305 alias CmdCopyImageToBuffer2KHR = CmdCopyImageToBuffer2; 1306 alias CmdBlitImage2KHR = CmdBlitImage2; 1307 alias CmdResolveImage2KHR = CmdResolveImage2; 1308 1309 // VK_KHR_maintenance4 1310 alias GetDeviceBufferMemoryRequirementsKHR = GetDeviceBufferMemoryRequirements; 1311 alias GetDeviceImageMemoryRequirementsKHR = GetDeviceImageMemoryRequirements; 1312 alias GetDeviceImageSparseMemoryRequirementsKHR = GetDeviceImageSparseMemoryRequirements; 1313 1314 // VK_AMD_draw_indirect_count 1315 alias CmdDrawIndirectCountAMD = CmdDrawIndirectCount; 1316 alias CmdDrawIndexedIndirectCountAMD = CmdDrawIndexedIndirectCount; 1317 1318 // VK_NV_ray_tracing 1319 alias GetRayTracingShaderGroupHandlesNV = GetRayTracingShaderGroupHandlesKHR; 1320 1321 // VK_EXT_buffer_device_address 1322 alias GetBufferDeviceAddressEXT = GetBufferDeviceAddress; 1323 1324 // VK_EXT_host_query_reset 1325 alias ResetQueryPoolEXT = ResetQueryPool; 1326 1327 // VK_EXT_extended_dynamic_state 1328 alias CmdSetCullModeEXT = CmdSetCullMode; 1329 alias CmdSetFrontFaceEXT = CmdSetFrontFace; 1330 alias CmdSetPrimitiveTopologyEXT = CmdSetPrimitiveTopology; 1331 alias CmdSetViewportWithCountEXT = CmdSetViewportWithCount; 1332 alias CmdSetScissorWithCountEXT = CmdSetScissorWithCount; 1333 alias CmdBindVertexBuffers2EXT = CmdBindVertexBuffers2; 1334 alias CmdSetDepthTestEnableEXT = CmdSetDepthTestEnable; 1335 alias CmdSetDepthWriteEnableEXT = CmdSetDepthWriteEnable; 1336 alias CmdSetDepthCompareOpEXT = CmdSetDepthCompareOp; 1337 alias CmdSetDepthBoundsTestEnableEXT = CmdSetDepthBoundsTestEnable; 1338 alias CmdSetStencilTestEnableEXT = CmdSetStencilTestEnable; 1339 alias CmdSetStencilOpEXT = CmdSetStencilOp; 1340 1341 // VK_EXT_private_data 1342 alias CreatePrivateDataSlotEXT = CreatePrivateDataSlot; 1343 alias DestroyPrivateDataSlotEXT = DestroyPrivateDataSlot; 1344 alias SetPrivateDataEXT = SetPrivateData; 1345 alias GetPrivateDataEXT = GetPrivateData; 1346 1347 // VK_EXT_extended_dynamic_state2 1348 alias CmdSetRasterizerDiscardEnableEXT = CmdSetRasterizerDiscardEnable; 1349 alias CmdSetDepthBiasEnableEXT = CmdSetDepthBiasEnable; 1350 alias CmdSetPrimitiveRestartEnableEXT = CmdSetPrimitiveRestartEnable; 1351 1352 1353 /// member function pointer decelerations 1354 1355 // VK_VERSION_1_0 1356 PFN_vkDestroyDevice vkDestroyDevice; 1357 PFN_vkGetDeviceQueue vkGetDeviceQueue; 1358 PFN_vkQueueSubmit vkQueueSubmit; 1359 PFN_vkQueueWaitIdle vkQueueWaitIdle; 1360 PFN_vkDeviceWaitIdle vkDeviceWaitIdle; 1361 PFN_vkAllocateMemory vkAllocateMemory; 1362 PFN_vkFreeMemory vkFreeMemory; 1363 PFN_vkMapMemory vkMapMemory; 1364 PFN_vkUnmapMemory vkUnmapMemory; 1365 PFN_vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges; 1366 PFN_vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges; 1367 PFN_vkGetDeviceMemoryCommitment vkGetDeviceMemoryCommitment; 1368 PFN_vkBindBufferMemory vkBindBufferMemory; 1369 PFN_vkBindImageMemory vkBindImageMemory; 1370 PFN_vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements; 1371 PFN_vkGetImageMemoryRequirements vkGetImageMemoryRequirements; 1372 PFN_vkGetImageSparseMemoryRequirements vkGetImageSparseMemoryRequirements; 1373 PFN_vkQueueBindSparse vkQueueBindSparse; 1374 PFN_vkCreateFence vkCreateFence; 1375 PFN_vkDestroyFence vkDestroyFence; 1376 PFN_vkResetFences vkResetFences; 1377 PFN_vkGetFenceStatus vkGetFenceStatus; 1378 PFN_vkWaitForFences vkWaitForFences; 1379 PFN_vkCreateSemaphore vkCreateSemaphore; 1380 PFN_vkDestroySemaphore vkDestroySemaphore; 1381 PFN_vkCreateEvent vkCreateEvent; 1382 PFN_vkDestroyEvent vkDestroyEvent; 1383 PFN_vkGetEventStatus vkGetEventStatus; 1384 PFN_vkSetEvent vkSetEvent; 1385 PFN_vkResetEvent vkResetEvent; 1386 PFN_vkCreateQueryPool vkCreateQueryPool; 1387 PFN_vkDestroyQueryPool vkDestroyQueryPool; 1388 PFN_vkGetQueryPoolResults vkGetQueryPoolResults; 1389 PFN_vkCreateBuffer vkCreateBuffer; 1390 PFN_vkDestroyBuffer vkDestroyBuffer; 1391 PFN_vkCreateBufferView vkCreateBufferView; 1392 PFN_vkDestroyBufferView vkDestroyBufferView; 1393 PFN_vkCreateImage vkCreateImage; 1394 PFN_vkDestroyImage vkDestroyImage; 1395 PFN_vkGetImageSubresourceLayout vkGetImageSubresourceLayout; 1396 PFN_vkCreateImageView vkCreateImageView; 1397 PFN_vkDestroyImageView vkDestroyImageView; 1398 PFN_vkCreateShaderModule vkCreateShaderModule; 1399 PFN_vkDestroyShaderModule vkDestroyShaderModule; 1400 PFN_vkCreatePipelineCache vkCreatePipelineCache; 1401 PFN_vkDestroyPipelineCache vkDestroyPipelineCache; 1402 PFN_vkGetPipelineCacheData vkGetPipelineCacheData; 1403 PFN_vkMergePipelineCaches vkMergePipelineCaches; 1404 PFN_vkCreateGraphicsPipelines vkCreateGraphicsPipelines; 1405 PFN_vkCreateComputePipelines vkCreateComputePipelines; 1406 PFN_vkDestroyPipeline vkDestroyPipeline; 1407 PFN_vkCreatePipelineLayout vkCreatePipelineLayout; 1408 PFN_vkDestroyPipelineLayout vkDestroyPipelineLayout; 1409 PFN_vkCreateSampler vkCreateSampler; 1410 PFN_vkDestroySampler vkDestroySampler; 1411 PFN_vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout; 1412 PFN_vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout; 1413 PFN_vkCreateDescriptorPool vkCreateDescriptorPool; 1414 PFN_vkDestroyDescriptorPool vkDestroyDescriptorPool; 1415 PFN_vkResetDescriptorPool vkResetDescriptorPool; 1416 PFN_vkAllocateDescriptorSets vkAllocateDescriptorSets; 1417 PFN_vkFreeDescriptorSets vkFreeDescriptorSets; 1418 PFN_vkUpdateDescriptorSets vkUpdateDescriptorSets; 1419 PFN_vkCreateFramebuffer vkCreateFramebuffer; 1420 PFN_vkDestroyFramebuffer vkDestroyFramebuffer; 1421 PFN_vkCreateRenderPass vkCreateRenderPass; 1422 PFN_vkDestroyRenderPass vkDestroyRenderPass; 1423 PFN_vkGetRenderAreaGranularity vkGetRenderAreaGranularity; 1424 PFN_vkCreateCommandPool vkCreateCommandPool; 1425 PFN_vkDestroyCommandPool vkDestroyCommandPool; 1426 PFN_vkResetCommandPool vkResetCommandPool; 1427 PFN_vkAllocateCommandBuffers vkAllocateCommandBuffers; 1428 PFN_vkFreeCommandBuffers vkFreeCommandBuffers; 1429 PFN_vkBeginCommandBuffer vkBeginCommandBuffer; 1430 PFN_vkEndCommandBuffer vkEndCommandBuffer; 1431 PFN_vkResetCommandBuffer vkResetCommandBuffer; 1432 PFN_vkCmdBindPipeline vkCmdBindPipeline; 1433 PFN_vkCmdSetViewport vkCmdSetViewport; 1434 PFN_vkCmdSetScissor vkCmdSetScissor; 1435 PFN_vkCmdSetLineWidth vkCmdSetLineWidth; 1436 PFN_vkCmdSetDepthBias vkCmdSetDepthBias; 1437 PFN_vkCmdSetBlendConstants vkCmdSetBlendConstants; 1438 PFN_vkCmdSetDepthBounds vkCmdSetDepthBounds; 1439 PFN_vkCmdSetStencilCompareMask vkCmdSetStencilCompareMask; 1440 PFN_vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask; 1441 PFN_vkCmdSetStencilReference vkCmdSetStencilReference; 1442 PFN_vkCmdBindDescriptorSets vkCmdBindDescriptorSets; 1443 PFN_vkCmdBindIndexBuffer vkCmdBindIndexBuffer; 1444 PFN_vkCmdBindVertexBuffers vkCmdBindVertexBuffers; 1445 PFN_vkCmdDraw vkCmdDraw; 1446 PFN_vkCmdDrawIndexed vkCmdDrawIndexed; 1447 PFN_vkCmdDrawIndirect vkCmdDrawIndirect; 1448 PFN_vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect; 1449 PFN_vkCmdDispatch vkCmdDispatch; 1450 PFN_vkCmdDispatchIndirect vkCmdDispatchIndirect; 1451 PFN_vkCmdCopyBuffer vkCmdCopyBuffer; 1452 PFN_vkCmdCopyImage vkCmdCopyImage; 1453 PFN_vkCmdBlitImage vkCmdBlitImage; 1454 PFN_vkCmdCopyBufferToImage vkCmdCopyBufferToImage; 1455 PFN_vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer; 1456 PFN_vkCmdUpdateBuffer vkCmdUpdateBuffer; 1457 PFN_vkCmdFillBuffer vkCmdFillBuffer; 1458 PFN_vkCmdClearColorImage vkCmdClearColorImage; 1459 PFN_vkCmdClearDepthStencilImage vkCmdClearDepthStencilImage; 1460 PFN_vkCmdClearAttachments vkCmdClearAttachments; 1461 PFN_vkCmdResolveImage vkCmdResolveImage; 1462 PFN_vkCmdSetEvent vkCmdSetEvent; 1463 PFN_vkCmdResetEvent vkCmdResetEvent; 1464 PFN_vkCmdWaitEvents vkCmdWaitEvents; 1465 PFN_vkCmdPipelineBarrier vkCmdPipelineBarrier; 1466 PFN_vkCmdBeginQuery vkCmdBeginQuery; 1467 PFN_vkCmdEndQuery vkCmdEndQuery; 1468 PFN_vkCmdResetQueryPool vkCmdResetQueryPool; 1469 PFN_vkCmdWriteTimestamp vkCmdWriteTimestamp; 1470 PFN_vkCmdCopyQueryPoolResults vkCmdCopyQueryPoolResults; 1471 PFN_vkCmdPushConstants vkCmdPushConstants; 1472 PFN_vkCmdBeginRenderPass vkCmdBeginRenderPass; 1473 PFN_vkCmdNextSubpass vkCmdNextSubpass; 1474 PFN_vkCmdEndRenderPass vkCmdEndRenderPass; 1475 PFN_vkCmdExecuteCommands vkCmdExecuteCommands; 1476 1477 // VK_VERSION_1_1 1478 PFN_vkBindBufferMemory2 vkBindBufferMemory2; 1479 PFN_vkBindImageMemory2 vkBindImageMemory2; 1480 PFN_vkGetDeviceGroupPeerMemoryFeatures vkGetDeviceGroupPeerMemoryFeatures; 1481 PFN_vkCmdSetDeviceMask vkCmdSetDeviceMask; 1482 PFN_vkCmdDispatchBase vkCmdDispatchBase; 1483 PFN_vkGetImageMemoryRequirements2 vkGetImageMemoryRequirements2; 1484 PFN_vkGetBufferMemoryRequirements2 vkGetBufferMemoryRequirements2; 1485 PFN_vkGetImageSparseMemoryRequirements2 vkGetImageSparseMemoryRequirements2; 1486 PFN_vkTrimCommandPool vkTrimCommandPool; 1487 PFN_vkGetDeviceQueue2 vkGetDeviceQueue2; 1488 PFN_vkCreateSamplerYcbcrConversion vkCreateSamplerYcbcrConversion; 1489 PFN_vkDestroySamplerYcbcrConversion vkDestroySamplerYcbcrConversion; 1490 PFN_vkCreateDescriptorUpdateTemplate vkCreateDescriptorUpdateTemplate; 1491 PFN_vkDestroyDescriptorUpdateTemplate vkDestroyDescriptorUpdateTemplate; 1492 PFN_vkUpdateDescriptorSetWithTemplate vkUpdateDescriptorSetWithTemplate; 1493 PFN_vkGetDescriptorSetLayoutSupport vkGetDescriptorSetLayoutSupport; 1494 1495 // VK_VERSION_1_2 1496 PFN_vkCmdDrawIndirectCount vkCmdDrawIndirectCount; 1497 PFN_vkCmdDrawIndexedIndirectCount vkCmdDrawIndexedIndirectCount; 1498 PFN_vkCreateRenderPass2 vkCreateRenderPass2; 1499 PFN_vkCmdBeginRenderPass2 vkCmdBeginRenderPass2; 1500 PFN_vkCmdNextSubpass2 vkCmdNextSubpass2; 1501 PFN_vkCmdEndRenderPass2 vkCmdEndRenderPass2; 1502 PFN_vkResetQueryPool vkResetQueryPool; 1503 PFN_vkGetSemaphoreCounterValue vkGetSemaphoreCounterValue; 1504 PFN_vkWaitSemaphores vkWaitSemaphores; 1505 PFN_vkSignalSemaphore vkSignalSemaphore; 1506 PFN_vkGetBufferDeviceAddress vkGetBufferDeviceAddress; 1507 PFN_vkGetBufferOpaqueCaptureAddress vkGetBufferOpaqueCaptureAddress; 1508 PFN_vkGetDeviceMemoryOpaqueCaptureAddress vkGetDeviceMemoryOpaqueCaptureAddress; 1509 1510 // VK_VERSION_1_3 1511 PFN_vkCreatePrivateDataSlot vkCreatePrivateDataSlot; 1512 PFN_vkDestroyPrivateDataSlot vkDestroyPrivateDataSlot; 1513 PFN_vkSetPrivateData vkSetPrivateData; 1514 PFN_vkGetPrivateData vkGetPrivateData; 1515 PFN_vkCmdSetEvent2 vkCmdSetEvent2; 1516 PFN_vkCmdResetEvent2 vkCmdResetEvent2; 1517 PFN_vkCmdWaitEvents2 vkCmdWaitEvents2; 1518 PFN_vkCmdPipelineBarrier2 vkCmdPipelineBarrier2; 1519 PFN_vkCmdWriteTimestamp2 vkCmdWriteTimestamp2; 1520 PFN_vkQueueSubmit2 vkQueueSubmit2; 1521 PFN_vkCmdCopyBuffer2 vkCmdCopyBuffer2; 1522 PFN_vkCmdCopyImage2 vkCmdCopyImage2; 1523 PFN_vkCmdCopyBufferToImage2 vkCmdCopyBufferToImage2; 1524 PFN_vkCmdCopyImageToBuffer2 vkCmdCopyImageToBuffer2; 1525 PFN_vkCmdBlitImage2 vkCmdBlitImage2; 1526 PFN_vkCmdResolveImage2 vkCmdResolveImage2; 1527 PFN_vkCmdBeginRendering vkCmdBeginRendering; 1528 PFN_vkCmdEndRendering vkCmdEndRendering; 1529 PFN_vkCmdSetCullMode vkCmdSetCullMode; 1530 PFN_vkCmdSetFrontFace vkCmdSetFrontFace; 1531 PFN_vkCmdSetPrimitiveTopology vkCmdSetPrimitiveTopology; 1532 PFN_vkCmdSetViewportWithCount vkCmdSetViewportWithCount; 1533 PFN_vkCmdSetScissorWithCount vkCmdSetScissorWithCount; 1534 PFN_vkCmdBindVertexBuffers2 vkCmdBindVertexBuffers2; 1535 PFN_vkCmdSetDepthTestEnable vkCmdSetDepthTestEnable; 1536 PFN_vkCmdSetDepthWriteEnable vkCmdSetDepthWriteEnable; 1537 PFN_vkCmdSetDepthCompareOp vkCmdSetDepthCompareOp; 1538 PFN_vkCmdSetDepthBoundsTestEnable vkCmdSetDepthBoundsTestEnable; 1539 PFN_vkCmdSetStencilTestEnable vkCmdSetStencilTestEnable; 1540 PFN_vkCmdSetStencilOp vkCmdSetStencilOp; 1541 PFN_vkCmdSetRasterizerDiscardEnable vkCmdSetRasterizerDiscardEnable; 1542 PFN_vkCmdSetDepthBiasEnable vkCmdSetDepthBiasEnable; 1543 PFN_vkCmdSetPrimitiveRestartEnable vkCmdSetPrimitiveRestartEnable; 1544 PFN_vkGetDeviceBufferMemoryRequirements vkGetDeviceBufferMemoryRequirements; 1545 PFN_vkGetDeviceImageMemoryRequirements vkGetDeviceImageMemoryRequirements; 1546 PFN_vkGetDeviceImageSparseMemoryRequirements vkGetDeviceImageSparseMemoryRequirements; 1547 1548 // VK_KHR_swapchain 1549 PFN_vkCreateSwapchainKHR vkCreateSwapchainKHR; 1550 PFN_vkDestroySwapchainKHR vkDestroySwapchainKHR; 1551 PFN_vkGetSwapchainImagesKHR vkGetSwapchainImagesKHR; 1552 PFN_vkAcquireNextImageKHR vkAcquireNextImageKHR; 1553 PFN_vkQueuePresentKHR vkQueuePresentKHR; 1554 PFN_vkGetDeviceGroupPresentCapabilitiesKHR vkGetDeviceGroupPresentCapabilitiesKHR; 1555 PFN_vkGetDeviceGroupSurfacePresentModesKHR vkGetDeviceGroupSurfacePresentModesKHR; 1556 PFN_vkAcquireNextImage2KHR vkAcquireNextImage2KHR; 1557 1558 // VK_KHR_display_swapchain 1559 PFN_vkCreateSharedSwapchainsKHR vkCreateSharedSwapchainsKHR; 1560 1561 // VK_KHR_video_queue 1562 PFN_vkCreateVideoSessionKHR vkCreateVideoSessionKHR; 1563 PFN_vkDestroyVideoSessionKHR vkDestroyVideoSessionKHR; 1564 PFN_vkGetVideoSessionMemoryRequirementsKHR vkGetVideoSessionMemoryRequirementsKHR; 1565 PFN_vkBindVideoSessionMemoryKHR vkBindVideoSessionMemoryKHR; 1566 PFN_vkCreateVideoSessionParametersKHR vkCreateVideoSessionParametersKHR; 1567 PFN_vkUpdateVideoSessionParametersKHR vkUpdateVideoSessionParametersKHR; 1568 PFN_vkDestroyVideoSessionParametersKHR vkDestroyVideoSessionParametersKHR; 1569 PFN_vkCmdBeginVideoCodingKHR vkCmdBeginVideoCodingKHR; 1570 PFN_vkCmdEndVideoCodingKHR vkCmdEndVideoCodingKHR; 1571 PFN_vkCmdControlVideoCodingKHR vkCmdControlVideoCodingKHR; 1572 1573 // VK_KHR_video_decode_queue 1574 PFN_vkCmdDecodeVideoKHR vkCmdDecodeVideoKHR; 1575 1576 // VK_KHR_external_memory_fd 1577 PFN_vkGetMemoryFdKHR vkGetMemoryFdKHR; 1578 PFN_vkGetMemoryFdPropertiesKHR vkGetMemoryFdPropertiesKHR; 1579 1580 // VK_KHR_external_semaphore_fd 1581 PFN_vkImportSemaphoreFdKHR vkImportSemaphoreFdKHR; 1582 PFN_vkGetSemaphoreFdKHR vkGetSemaphoreFdKHR; 1583 1584 // VK_KHR_push_descriptor 1585 PFN_vkCmdPushDescriptorSetKHR vkCmdPushDescriptorSetKHR; 1586 PFN_vkCmdPushDescriptorSetWithTemplateKHR vkCmdPushDescriptorSetWithTemplateKHR; 1587 1588 // VK_KHR_shared_presentable_image 1589 PFN_vkGetSwapchainStatusKHR vkGetSwapchainStatusKHR; 1590 1591 // VK_KHR_external_fence_fd 1592 PFN_vkImportFenceFdKHR vkImportFenceFdKHR; 1593 PFN_vkGetFenceFdKHR vkGetFenceFdKHR; 1594 1595 // VK_KHR_performance_query 1596 PFN_vkAcquireProfilingLockKHR vkAcquireProfilingLockKHR; 1597 PFN_vkReleaseProfilingLockKHR vkReleaseProfilingLockKHR; 1598 1599 // VK_KHR_fragment_shading_rate 1600 PFN_vkCmdSetFragmentShadingRateKHR vkCmdSetFragmentShadingRateKHR; 1601 1602 // VK_KHR_present_wait 1603 PFN_vkWaitForPresentKHR vkWaitForPresentKHR; 1604 1605 // VK_KHR_deferred_host_operations 1606 PFN_vkCreateDeferredOperationKHR vkCreateDeferredOperationKHR; 1607 PFN_vkDestroyDeferredOperationKHR vkDestroyDeferredOperationKHR; 1608 PFN_vkGetDeferredOperationMaxConcurrencyKHR vkGetDeferredOperationMaxConcurrencyKHR; 1609 PFN_vkGetDeferredOperationResultKHR vkGetDeferredOperationResultKHR; 1610 PFN_vkDeferredOperationJoinKHR vkDeferredOperationJoinKHR; 1611 1612 // VK_KHR_pipeline_executable_properties 1613 PFN_vkGetPipelineExecutablePropertiesKHR vkGetPipelineExecutablePropertiesKHR; 1614 PFN_vkGetPipelineExecutableStatisticsKHR vkGetPipelineExecutableStatisticsKHR; 1615 PFN_vkGetPipelineExecutableInternalRepresentationsKHR vkGetPipelineExecutableInternalRepresentationsKHR; 1616 1617 // VK_KHR_map_memory2 1618 PFN_vkMapMemory2KHR vkMapMemory2KHR; 1619 PFN_vkUnmapMemory2KHR vkUnmapMemory2KHR; 1620 1621 // VK_KHR_synchronization2 1622 PFN_vkCmdWriteBufferMarker2AMD vkCmdWriteBufferMarker2AMD; 1623 PFN_vkGetQueueCheckpointData2NV vkGetQueueCheckpointData2NV; 1624 1625 // VK_KHR_ray_tracing_maintenance1 1626 PFN_vkCmdTraceRaysIndirect2KHR vkCmdTraceRaysIndirect2KHR; 1627 1628 // VK_EXT_debug_marker 1629 PFN_vkDebugMarkerSetObjectTagEXT vkDebugMarkerSetObjectTagEXT; 1630 PFN_vkDebugMarkerSetObjectNameEXT vkDebugMarkerSetObjectNameEXT; 1631 PFN_vkCmdDebugMarkerBeginEXT vkCmdDebugMarkerBeginEXT; 1632 PFN_vkCmdDebugMarkerEndEXT vkCmdDebugMarkerEndEXT; 1633 PFN_vkCmdDebugMarkerInsertEXT vkCmdDebugMarkerInsertEXT; 1634 1635 // VK_EXT_transform_feedback 1636 PFN_vkCmdBindTransformFeedbackBuffersEXT vkCmdBindTransformFeedbackBuffersEXT; 1637 PFN_vkCmdBeginTransformFeedbackEXT vkCmdBeginTransformFeedbackEXT; 1638 PFN_vkCmdEndTransformFeedbackEXT vkCmdEndTransformFeedbackEXT; 1639 PFN_vkCmdBeginQueryIndexedEXT vkCmdBeginQueryIndexedEXT; 1640 PFN_vkCmdEndQueryIndexedEXT vkCmdEndQueryIndexedEXT; 1641 PFN_vkCmdDrawIndirectByteCountEXT vkCmdDrawIndirectByteCountEXT; 1642 1643 // VK_NVX_binary_import 1644 PFN_vkCreateCuModuleNVX vkCreateCuModuleNVX; 1645 PFN_vkCreateCuFunctionNVX vkCreateCuFunctionNVX; 1646 PFN_vkDestroyCuModuleNVX vkDestroyCuModuleNVX; 1647 PFN_vkDestroyCuFunctionNVX vkDestroyCuFunctionNVX; 1648 PFN_vkCmdCuLaunchKernelNVX vkCmdCuLaunchKernelNVX; 1649 1650 // VK_NVX_image_view_handle 1651 PFN_vkGetImageViewHandleNVX vkGetImageViewHandleNVX; 1652 PFN_vkGetImageViewAddressNVX vkGetImageViewAddressNVX; 1653 1654 // VK_AMD_shader_info 1655 PFN_vkGetShaderInfoAMD vkGetShaderInfoAMD; 1656 1657 // VK_EXT_conditional_rendering 1658 PFN_vkCmdBeginConditionalRenderingEXT vkCmdBeginConditionalRenderingEXT; 1659 PFN_vkCmdEndConditionalRenderingEXT vkCmdEndConditionalRenderingEXT; 1660 1661 // VK_NV_clip_space_w_scaling 1662 PFN_vkCmdSetViewportWScalingNV vkCmdSetViewportWScalingNV; 1663 1664 // VK_EXT_display_control 1665 PFN_vkDisplayPowerControlEXT vkDisplayPowerControlEXT; 1666 PFN_vkRegisterDeviceEventEXT vkRegisterDeviceEventEXT; 1667 PFN_vkRegisterDisplayEventEXT vkRegisterDisplayEventEXT; 1668 PFN_vkGetSwapchainCounterEXT vkGetSwapchainCounterEXT; 1669 1670 // VK_GOOGLE_display_timing 1671 PFN_vkGetRefreshCycleDurationGOOGLE vkGetRefreshCycleDurationGOOGLE; 1672 PFN_vkGetPastPresentationTimingGOOGLE vkGetPastPresentationTimingGOOGLE; 1673 1674 // VK_EXT_discard_rectangles 1675 PFN_vkCmdSetDiscardRectangleEXT vkCmdSetDiscardRectangleEXT; 1676 PFN_vkCmdSetDiscardRectangleEnableEXT vkCmdSetDiscardRectangleEnableEXT; 1677 PFN_vkCmdSetDiscardRectangleModeEXT vkCmdSetDiscardRectangleModeEXT; 1678 1679 // VK_EXT_hdr_metadata 1680 PFN_vkSetHdrMetadataEXT vkSetHdrMetadataEXT; 1681 1682 // VK_EXT_debug_utils 1683 PFN_vkSetDebugUtilsObjectNameEXT vkSetDebugUtilsObjectNameEXT; 1684 PFN_vkSetDebugUtilsObjectTagEXT vkSetDebugUtilsObjectTagEXT; 1685 PFN_vkQueueBeginDebugUtilsLabelEXT vkQueueBeginDebugUtilsLabelEXT; 1686 PFN_vkQueueEndDebugUtilsLabelEXT vkQueueEndDebugUtilsLabelEXT; 1687 PFN_vkQueueInsertDebugUtilsLabelEXT vkQueueInsertDebugUtilsLabelEXT; 1688 PFN_vkCmdBeginDebugUtilsLabelEXT vkCmdBeginDebugUtilsLabelEXT; 1689 PFN_vkCmdEndDebugUtilsLabelEXT vkCmdEndDebugUtilsLabelEXT; 1690 PFN_vkCmdInsertDebugUtilsLabelEXT vkCmdInsertDebugUtilsLabelEXT; 1691 1692 // VK_EXT_sample_locations 1693 PFN_vkCmdSetSampleLocationsEXT vkCmdSetSampleLocationsEXT; 1694 1695 // VK_EXT_image_drm_format_modifier 1696 PFN_vkGetImageDrmFormatModifierPropertiesEXT vkGetImageDrmFormatModifierPropertiesEXT; 1697 1698 // VK_EXT_validation_cache 1699 PFN_vkCreateValidationCacheEXT vkCreateValidationCacheEXT; 1700 PFN_vkDestroyValidationCacheEXT vkDestroyValidationCacheEXT; 1701 PFN_vkMergeValidationCachesEXT vkMergeValidationCachesEXT; 1702 PFN_vkGetValidationCacheDataEXT vkGetValidationCacheDataEXT; 1703 1704 // VK_NV_shading_rate_image 1705 PFN_vkCmdBindShadingRateImageNV vkCmdBindShadingRateImageNV; 1706 PFN_vkCmdSetViewportShadingRatePaletteNV vkCmdSetViewportShadingRatePaletteNV; 1707 PFN_vkCmdSetCoarseSampleOrderNV vkCmdSetCoarseSampleOrderNV; 1708 1709 // VK_NV_ray_tracing 1710 PFN_vkCreateAccelerationStructureNV vkCreateAccelerationStructureNV; 1711 PFN_vkDestroyAccelerationStructureNV vkDestroyAccelerationStructureNV; 1712 PFN_vkGetAccelerationStructureMemoryRequirementsNV vkGetAccelerationStructureMemoryRequirementsNV; 1713 PFN_vkBindAccelerationStructureMemoryNV vkBindAccelerationStructureMemoryNV; 1714 PFN_vkCmdBuildAccelerationStructureNV vkCmdBuildAccelerationStructureNV; 1715 PFN_vkCmdCopyAccelerationStructureNV vkCmdCopyAccelerationStructureNV; 1716 PFN_vkCmdTraceRaysNV vkCmdTraceRaysNV; 1717 PFN_vkCreateRayTracingPipelinesNV vkCreateRayTracingPipelinesNV; 1718 PFN_vkGetRayTracingShaderGroupHandlesKHR vkGetRayTracingShaderGroupHandlesKHR; 1719 PFN_vkGetAccelerationStructureHandleNV vkGetAccelerationStructureHandleNV; 1720 PFN_vkCmdWriteAccelerationStructuresPropertiesNV vkCmdWriteAccelerationStructuresPropertiesNV; 1721 PFN_vkCompileDeferredNV vkCompileDeferredNV; 1722 1723 // VK_EXT_external_memory_host 1724 PFN_vkGetMemoryHostPointerPropertiesEXT vkGetMemoryHostPointerPropertiesEXT; 1725 1726 // VK_AMD_buffer_marker 1727 PFN_vkCmdWriteBufferMarkerAMD vkCmdWriteBufferMarkerAMD; 1728 1729 // VK_EXT_calibrated_timestamps 1730 PFN_vkGetCalibratedTimestampsEXT vkGetCalibratedTimestampsEXT; 1731 1732 // VK_NV_mesh_shader 1733 PFN_vkCmdDrawMeshTasksNV vkCmdDrawMeshTasksNV; 1734 PFN_vkCmdDrawMeshTasksIndirectNV vkCmdDrawMeshTasksIndirectNV; 1735 PFN_vkCmdDrawMeshTasksIndirectCountNV vkCmdDrawMeshTasksIndirectCountNV; 1736 1737 // VK_NV_scissor_exclusive 1738 PFN_vkCmdSetExclusiveScissorEnableNV vkCmdSetExclusiveScissorEnableNV; 1739 PFN_vkCmdSetExclusiveScissorNV vkCmdSetExclusiveScissorNV; 1740 1741 // VK_NV_device_diagnostic_checkpoints 1742 PFN_vkCmdSetCheckpointNV vkCmdSetCheckpointNV; 1743 PFN_vkGetQueueCheckpointDataNV vkGetQueueCheckpointDataNV; 1744 1745 // VK_INTEL_performance_query 1746 PFN_vkInitializePerformanceApiINTEL vkInitializePerformanceApiINTEL; 1747 PFN_vkUninitializePerformanceApiINTEL vkUninitializePerformanceApiINTEL; 1748 PFN_vkCmdSetPerformanceMarkerINTEL vkCmdSetPerformanceMarkerINTEL; 1749 PFN_vkCmdSetPerformanceStreamMarkerINTEL vkCmdSetPerformanceStreamMarkerINTEL; 1750 PFN_vkCmdSetPerformanceOverrideINTEL vkCmdSetPerformanceOverrideINTEL; 1751 PFN_vkAcquirePerformanceConfigurationINTEL vkAcquirePerformanceConfigurationINTEL; 1752 PFN_vkReleasePerformanceConfigurationINTEL vkReleasePerformanceConfigurationINTEL; 1753 PFN_vkQueueSetPerformanceConfigurationINTEL vkQueueSetPerformanceConfigurationINTEL; 1754 PFN_vkGetPerformanceParameterINTEL vkGetPerformanceParameterINTEL; 1755 1756 // VK_AMD_display_native_hdr 1757 PFN_vkSetLocalDimmingAMD vkSetLocalDimmingAMD; 1758 1759 // VK_EXT_line_rasterization 1760 PFN_vkCmdSetLineStippleEXT vkCmdSetLineStippleEXT; 1761 1762 // VK_EXT_swapchain_maintenance1 1763 PFN_vkReleaseSwapchainImagesEXT vkReleaseSwapchainImagesEXT; 1764 1765 // VK_NV_device_generated_commands 1766 PFN_vkGetGeneratedCommandsMemoryRequirementsNV vkGetGeneratedCommandsMemoryRequirementsNV; 1767 PFN_vkCmdPreprocessGeneratedCommandsNV vkCmdPreprocessGeneratedCommandsNV; 1768 PFN_vkCmdExecuteGeneratedCommandsNV vkCmdExecuteGeneratedCommandsNV; 1769 PFN_vkCmdBindPipelineShaderGroupNV vkCmdBindPipelineShaderGroupNV; 1770 PFN_vkCreateIndirectCommandsLayoutNV vkCreateIndirectCommandsLayoutNV; 1771 PFN_vkDestroyIndirectCommandsLayoutNV vkDestroyIndirectCommandsLayoutNV; 1772 1773 // VK_EXT_descriptor_buffer 1774 PFN_vkGetDescriptorSetLayoutSizeEXT vkGetDescriptorSetLayoutSizeEXT; 1775 PFN_vkGetDescriptorSetLayoutBindingOffsetEXT vkGetDescriptorSetLayoutBindingOffsetEXT; 1776 PFN_vkGetDescriptorEXT vkGetDescriptorEXT; 1777 PFN_vkCmdBindDescriptorBuffersEXT vkCmdBindDescriptorBuffersEXT; 1778 PFN_vkCmdSetDescriptorBufferOffsetsEXT vkCmdSetDescriptorBufferOffsetsEXT; 1779 PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT vkCmdBindDescriptorBufferEmbeddedSamplersEXT; 1780 PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT vkGetBufferOpaqueCaptureDescriptorDataEXT; 1781 PFN_vkGetImageOpaqueCaptureDescriptorDataEXT vkGetImageOpaqueCaptureDescriptorDataEXT; 1782 PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT vkGetImageViewOpaqueCaptureDescriptorDataEXT; 1783 PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT vkGetSamplerOpaqueCaptureDescriptorDataEXT; 1784 PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT; 1785 1786 // VK_NV_fragment_shading_rate_enums 1787 PFN_vkCmdSetFragmentShadingRateEnumNV vkCmdSetFragmentShadingRateEnumNV; 1788 1789 // VK_EXT_image_compression_control 1790 PFN_vkGetImageSubresourceLayout2EXT vkGetImageSubresourceLayout2EXT; 1791 1792 // VK_EXT_device_fault 1793 PFN_vkGetDeviceFaultInfoEXT vkGetDeviceFaultInfoEXT; 1794 1795 // VK_EXT_vertex_input_dynamic_state 1796 PFN_vkCmdSetVertexInputEXT vkCmdSetVertexInputEXT; 1797 1798 // VK_HUAWEI_subpass_shading 1799 PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI; 1800 PFN_vkCmdSubpassShadingHUAWEI vkCmdSubpassShadingHUAWEI; 1801 1802 // VK_HUAWEI_invocation_mask 1803 PFN_vkCmdBindInvocationMaskHUAWEI vkCmdBindInvocationMaskHUAWEI; 1804 1805 // VK_NV_external_memory_rdma 1806 PFN_vkGetMemoryRemoteAddressNV vkGetMemoryRemoteAddressNV; 1807 1808 // VK_EXT_pipeline_properties 1809 PFN_vkGetPipelinePropertiesEXT vkGetPipelinePropertiesEXT; 1810 1811 // VK_EXT_extended_dynamic_state2 1812 PFN_vkCmdSetPatchControlPointsEXT vkCmdSetPatchControlPointsEXT; 1813 PFN_vkCmdSetLogicOpEXT vkCmdSetLogicOpEXT; 1814 1815 // VK_EXT_color_write_enable 1816 PFN_vkCmdSetColorWriteEnableEXT vkCmdSetColorWriteEnableEXT; 1817 1818 // VK_EXT_multi_draw 1819 PFN_vkCmdDrawMultiEXT vkCmdDrawMultiEXT; 1820 PFN_vkCmdDrawMultiIndexedEXT vkCmdDrawMultiIndexedEXT; 1821 1822 // VK_EXT_opacity_micromap 1823 PFN_vkCreateMicromapEXT vkCreateMicromapEXT; 1824 PFN_vkDestroyMicromapEXT vkDestroyMicromapEXT; 1825 PFN_vkCmdBuildMicromapsEXT vkCmdBuildMicromapsEXT; 1826 PFN_vkBuildMicromapsEXT vkBuildMicromapsEXT; 1827 PFN_vkCopyMicromapEXT vkCopyMicromapEXT; 1828 PFN_vkCopyMicromapToMemoryEXT vkCopyMicromapToMemoryEXT; 1829 PFN_vkCopyMemoryToMicromapEXT vkCopyMemoryToMicromapEXT; 1830 PFN_vkWriteMicromapsPropertiesEXT vkWriteMicromapsPropertiesEXT; 1831 PFN_vkCmdCopyMicromapEXT vkCmdCopyMicromapEXT; 1832 PFN_vkCmdCopyMicromapToMemoryEXT vkCmdCopyMicromapToMemoryEXT; 1833 PFN_vkCmdCopyMemoryToMicromapEXT vkCmdCopyMemoryToMicromapEXT; 1834 PFN_vkCmdWriteMicromapsPropertiesEXT vkCmdWriteMicromapsPropertiesEXT; 1835 PFN_vkGetDeviceMicromapCompatibilityEXT vkGetDeviceMicromapCompatibilityEXT; 1836 PFN_vkGetMicromapBuildSizesEXT vkGetMicromapBuildSizesEXT; 1837 1838 // VK_HUAWEI_cluster_culling_shader 1839 PFN_vkCmdDrawClusterHUAWEI vkCmdDrawClusterHUAWEI; 1840 PFN_vkCmdDrawClusterIndirectHUAWEI vkCmdDrawClusterIndirectHUAWEI; 1841 1842 // VK_EXT_pageable_device_local_memory 1843 PFN_vkSetDeviceMemoryPriorityEXT vkSetDeviceMemoryPriorityEXT; 1844 1845 // VK_VALVE_descriptor_set_host_mapping 1846 PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE vkGetDescriptorSetLayoutHostMappingInfoVALVE; 1847 PFN_vkGetDescriptorSetHostMappingVALVE vkGetDescriptorSetHostMappingVALVE; 1848 1849 // VK_NV_copy_memory_indirect 1850 PFN_vkCmdCopyMemoryIndirectNV vkCmdCopyMemoryIndirectNV; 1851 PFN_vkCmdCopyMemoryToImageIndirectNV vkCmdCopyMemoryToImageIndirectNV; 1852 1853 // VK_NV_memory_decompression 1854 PFN_vkCmdDecompressMemoryNV vkCmdDecompressMemoryNV; 1855 PFN_vkCmdDecompressMemoryIndirectCountNV vkCmdDecompressMemoryIndirectCountNV; 1856 1857 // VK_EXT_extended_dynamic_state3 1858 PFN_vkCmdSetTessellationDomainOriginEXT vkCmdSetTessellationDomainOriginEXT; 1859 PFN_vkCmdSetDepthClampEnableEXT vkCmdSetDepthClampEnableEXT; 1860 PFN_vkCmdSetPolygonModeEXT vkCmdSetPolygonModeEXT; 1861 PFN_vkCmdSetRasterizationSamplesEXT vkCmdSetRasterizationSamplesEXT; 1862 PFN_vkCmdSetSampleMaskEXT vkCmdSetSampleMaskEXT; 1863 PFN_vkCmdSetAlphaToCoverageEnableEXT vkCmdSetAlphaToCoverageEnableEXT; 1864 PFN_vkCmdSetAlphaToOneEnableEXT vkCmdSetAlphaToOneEnableEXT; 1865 PFN_vkCmdSetLogicOpEnableEXT vkCmdSetLogicOpEnableEXT; 1866 PFN_vkCmdSetColorBlendEnableEXT vkCmdSetColorBlendEnableEXT; 1867 PFN_vkCmdSetColorBlendEquationEXT vkCmdSetColorBlendEquationEXT; 1868 PFN_vkCmdSetColorWriteMaskEXT vkCmdSetColorWriteMaskEXT; 1869 PFN_vkCmdSetRasterizationStreamEXT vkCmdSetRasterizationStreamEXT; 1870 PFN_vkCmdSetConservativeRasterizationModeEXT vkCmdSetConservativeRasterizationModeEXT; 1871 PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT vkCmdSetExtraPrimitiveOverestimationSizeEXT; 1872 PFN_vkCmdSetDepthClipEnableEXT vkCmdSetDepthClipEnableEXT; 1873 PFN_vkCmdSetSampleLocationsEnableEXT vkCmdSetSampleLocationsEnableEXT; 1874 PFN_vkCmdSetColorBlendAdvancedEXT vkCmdSetColorBlendAdvancedEXT; 1875 PFN_vkCmdSetProvokingVertexModeEXT vkCmdSetProvokingVertexModeEXT; 1876 PFN_vkCmdSetLineRasterizationModeEXT vkCmdSetLineRasterizationModeEXT; 1877 PFN_vkCmdSetLineStippleEnableEXT vkCmdSetLineStippleEnableEXT; 1878 PFN_vkCmdSetDepthClipNegativeOneToOneEXT vkCmdSetDepthClipNegativeOneToOneEXT; 1879 PFN_vkCmdSetViewportWScalingEnableNV vkCmdSetViewportWScalingEnableNV; 1880 PFN_vkCmdSetViewportSwizzleNV vkCmdSetViewportSwizzleNV; 1881 PFN_vkCmdSetCoverageToColorEnableNV vkCmdSetCoverageToColorEnableNV; 1882 PFN_vkCmdSetCoverageToColorLocationNV vkCmdSetCoverageToColorLocationNV; 1883 PFN_vkCmdSetCoverageModulationModeNV vkCmdSetCoverageModulationModeNV; 1884 PFN_vkCmdSetCoverageModulationTableEnableNV vkCmdSetCoverageModulationTableEnableNV; 1885 PFN_vkCmdSetCoverageModulationTableNV vkCmdSetCoverageModulationTableNV; 1886 PFN_vkCmdSetShadingRateImageEnableNV vkCmdSetShadingRateImageEnableNV; 1887 PFN_vkCmdSetRepresentativeFragmentTestEnableNV vkCmdSetRepresentativeFragmentTestEnableNV; 1888 PFN_vkCmdSetCoverageReductionModeNV vkCmdSetCoverageReductionModeNV; 1889 1890 // VK_EXT_shader_module_identifier 1891 PFN_vkGetShaderModuleIdentifierEXT vkGetShaderModuleIdentifierEXT; 1892 PFN_vkGetShaderModuleCreateInfoIdentifierEXT vkGetShaderModuleCreateInfoIdentifierEXT; 1893 1894 // VK_NV_optical_flow 1895 PFN_vkCreateOpticalFlowSessionNV vkCreateOpticalFlowSessionNV; 1896 PFN_vkDestroyOpticalFlowSessionNV vkDestroyOpticalFlowSessionNV; 1897 PFN_vkBindOpticalFlowSessionImageNV vkBindOpticalFlowSessionImageNV; 1898 PFN_vkCmdOpticalFlowExecuteNV vkCmdOpticalFlowExecuteNV; 1899 1900 // VK_EXT_shader_object 1901 PFN_vkCreateShadersEXT vkCreateShadersEXT; 1902 PFN_vkDestroyShaderEXT vkDestroyShaderEXT; 1903 PFN_vkGetShaderBinaryDataEXT vkGetShaderBinaryDataEXT; 1904 PFN_vkCmdBindShadersEXT vkCmdBindShadersEXT; 1905 1906 // VK_QCOM_tile_properties 1907 PFN_vkGetFramebufferTilePropertiesQCOM vkGetFramebufferTilePropertiesQCOM; 1908 PFN_vkGetDynamicRenderingTilePropertiesQCOM vkGetDynamicRenderingTilePropertiesQCOM; 1909 1910 // VK_KHR_acceleration_structure 1911 PFN_vkCreateAccelerationStructureKHR vkCreateAccelerationStructureKHR; 1912 PFN_vkDestroyAccelerationStructureKHR vkDestroyAccelerationStructureKHR; 1913 PFN_vkCmdBuildAccelerationStructuresKHR vkCmdBuildAccelerationStructuresKHR; 1914 PFN_vkCmdBuildAccelerationStructuresIndirectKHR vkCmdBuildAccelerationStructuresIndirectKHR; 1915 PFN_vkBuildAccelerationStructuresKHR vkBuildAccelerationStructuresKHR; 1916 PFN_vkCopyAccelerationStructureKHR vkCopyAccelerationStructureKHR; 1917 PFN_vkCopyAccelerationStructureToMemoryKHR vkCopyAccelerationStructureToMemoryKHR; 1918 PFN_vkCopyMemoryToAccelerationStructureKHR vkCopyMemoryToAccelerationStructureKHR; 1919 PFN_vkWriteAccelerationStructuresPropertiesKHR vkWriteAccelerationStructuresPropertiesKHR; 1920 PFN_vkCmdCopyAccelerationStructureKHR vkCmdCopyAccelerationStructureKHR; 1921 PFN_vkCmdCopyAccelerationStructureToMemoryKHR vkCmdCopyAccelerationStructureToMemoryKHR; 1922 PFN_vkCmdCopyMemoryToAccelerationStructureKHR vkCmdCopyMemoryToAccelerationStructureKHR; 1923 PFN_vkGetAccelerationStructureDeviceAddressKHR vkGetAccelerationStructureDeviceAddressKHR; 1924 PFN_vkCmdWriteAccelerationStructuresPropertiesKHR vkCmdWriteAccelerationStructuresPropertiesKHR; 1925 PFN_vkGetDeviceAccelerationStructureCompatibilityKHR vkGetDeviceAccelerationStructureCompatibilityKHR; 1926 PFN_vkGetAccelerationStructureBuildSizesKHR vkGetAccelerationStructureBuildSizesKHR; 1927 1928 // VK_KHR_ray_tracing_pipeline 1929 PFN_vkCmdTraceRaysKHR vkCmdTraceRaysKHR; 1930 PFN_vkCreateRayTracingPipelinesKHR vkCreateRayTracingPipelinesKHR; 1931 PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR vkGetRayTracingCaptureReplayShaderGroupHandlesKHR; 1932 PFN_vkCmdTraceRaysIndirectKHR vkCmdTraceRaysIndirectKHR; 1933 PFN_vkGetRayTracingShaderGroupStackSizeKHR vkGetRayTracingShaderGroupStackSizeKHR; 1934 PFN_vkCmdSetRayTracingPipelineStackSizeKHR vkCmdSetRayTracingPipelineStackSizeKHR; 1935 1936 // VK_EXT_mesh_shader 1937 PFN_vkCmdDrawMeshTasksEXT vkCmdDrawMeshTasksEXT; 1938 PFN_vkCmdDrawMeshTasksIndirectEXT vkCmdDrawMeshTasksIndirectEXT; 1939 PFN_vkCmdDrawMeshTasksIndirectCountEXT vkCmdDrawMeshTasksIndirectCountEXT; 1940 1941 // VK_KHR_dynamic_rendering 1942 alias vkCmdBeginRenderingKHR = vkCmdBeginRendering; 1943 alias vkCmdEndRenderingKHR = vkCmdEndRendering; 1944 1945 // VK_KHR_device_group 1946 alias vkGetDeviceGroupPeerMemoryFeaturesKHR = vkGetDeviceGroupPeerMemoryFeatures; 1947 alias vkCmdSetDeviceMaskKHR = vkCmdSetDeviceMask; 1948 alias vkCmdDispatchBaseKHR = vkCmdDispatchBase; 1949 1950 // VK_KHR_maintenance1 1951 alias vkTrimCommandPoolKHR = vkTrimCommandPool; 1952 1953 // VK_KHR_descriptor_update_template 1954 alias vkCreateDescriptorUpdateTemplateKHR = vkCreateDescriptorUpdateTemplate; 1955 alias vkDestroyDescriptorUpdateTemplateKHR = vkDestroyDescriptorUpdateTemplate; 1956 alias vkUpdateDescriptorSetWithTemplateKHR = vkUpdateDescriptorSetWithTemplate; 1957 1958 // VK_KHR_create_renderpass2 1959 alias vkCreateRenderPass2KHR = vkCreateRenderPass2; 1960 alias vkCmdBeginRenderPass2KHR = vkCmdBeginRenderPass2; 1961 alias vkCmdNextSubpass2KHR = vkCmdNextSubpass2; 1962 alias vkCmdEndRenderPass2KHR = vkCmdEndRenderPass2; 1963 1964 // VK_KHR_get_memory_requirements2 1965 alias vkGetImageMemoryRequirements2KHR = vkGetImageMemoryRequirements2; 1966 alias vkGetBufferMemoryRequirements2KHR = vkGetBufferMemoryRequirements2; 1967 alias vkGetImageSparseMemoryRequirements2KHR = vkGetImageSparseMemoryRequirements2; 1968 1969 // VK_KHR_sampler_ycbcr_conversion 1970 alias vkCreateSamplerYcbcrConversionKHR = vkCreateSamplerYcbcrConversion; 1971 alias vkDestroySamplerYcbcrConversionKHR = vkDestroySamplerYcbcrConversion; 1972 1973 // VK_KHR_bind_memory2 1974 alias vkBindBufferMemory2KHR = vkBindBufferMemory2; 1975 alias vkBindImageMemory2KHR = vkBindImageMemory2; 1976 1977 // VK_KHR_maintenance3 1978 alias vkGetDescriptorSetLayoutSupportKHR = vkGetDescriptorSetLayoutSupport; 1979 1980 // VK_KHR_draw_indirect_count 1981 alias vkCmdDrawIndirectCountKHR = vkCmdDrawIndirectCount; 1982 alias vkCmdDrawIndexedIndirectCountKHR = vkCmdDrawIndexedIndirectCount; 1983 1984 // VK_KHR_timeline_semaphore 1985 alias vkGetSemaphoreCounterValueKHR = vkGetSemaphoreCounterValue; 1986 alias vkWaitSemaphoresKHR = vkWaitSemaphores; 1987 alias vkSignalSemaphoreKHR = vkSignalSemaphore; 1988 1989 // VK_KHR_buffer_device_address 1990 alias vkGetBufferDeviceAddressKHR = vkGetBufferDeviceAddress; 1991 alias vkGetBufferOpaqueCaptureAddressKHR = vkGetBufferOpaqueCaptureAddress; 1992 alias vkGetDeviceMemoryOpaqueCaptureAddressKHR = vkGetDeviceMemoryOpaqueCaptureAddress; 1993 1994 // VK_KHR_synchronization2 1995 alias vkCmdSetEvent2KHR = vkCmdSetEvent2; 1996 alias vkCmdResetEvent2KHR = vkCmdResetEvent2; 1997 alias vkCmdWaitEvents2KHR = vkCmdWaitEvents2; 1998 alias vkCmdPipelineBarrier2KHR = vkCmdPipelineBarrier2; 1999 alias vkCmdWriteTimestamp2KHR = vkCmdWriteTimestamp2; 2000 alias vkQueueSubmit2KHR = vkQueueSubmit2; 2001 2002 // VK_KHR_copy_commands2 2003 alias vkCmdCopyBuffer2KHR = vkCmdCopyBuffer2; 2004 alias vkCmdCopyImage2KHR = vkCmdCopyImage2; 2005 alias vkCmdCopyBufferToImage2KHR = vkCmdCopyBufferToImage2; 2006 alias vkCmdCopyImageToBuffer2KHR = vkCmdCopyImageToBuffer2; 2007 alias vkCmdBlitImage2KHR = vkCmdBlitImage2; 2008 alias vkCmdResolveImage2KHR = vkCmdResolveImage2; 2009 2010 // VK_KHR_maintenance4 2011 alias vkGetDeviceBufferMemoryRequirementsKHR = vkGetDeviceBufferMemoryRequirements; 2012 alias vkGetDeviceImageMemoryRequirementsKHR = vkGetDeviceImageMemoryRequirements; 2013 alias vkGetDeviceImageSparseMemoryRequirementsKHR = vkGetDeviceImageSparseMemoryRequirements; 2014 2015 // VK_AMD_draw_indirect_count 2016 alias vkCmdDrawIndirectCountAMD = vkCmdDrawIndirectCount; 2017 alias vkCmdDrawIndexedIndirectCountAMD = vkCmdDrawIndexedIndirectCount; 2018 2019 // VK_NV_ray_tracing 2020 alias vkGetRayTracingShaderGroupHandlesNV = vkGetRayTracingShaderGroupHandlesKHR; 2021 2022 // VK_EXT_buffer_device_address 2023 alias vkGetBufferDeviceAddressEXT = vkGetBufferDeviceAddress; 2024 2025 // VK_EXT_host_query_reset 2026 alias vkResetQueryPoolEXT = vkResetQueryPool; 2027 2028 // VK_EXT_extended_dynamic_state 2029 alias vkCmdSetCullModeEXT = vkCmdSetCullMode; 2030 alias vkCmdSetFrontFaceEXT = vkCmdSetFrontFace; 2031 alias vkCmdSetPrimitiveTopologyEXT = vkCmdSetPrimitiveTopology; 2032 alias vkCmdSetViewportWithCountEXT = vkCmdSetViewportWithCount; 2033 alias vkCmdSetScissorWithCountEXT = vkCmdSetScissorWithCount; 2034 alias vkCmdBindVertexBuffers2EXT = vkCmdBindVertexBuffers2; 2035 alias vkCmdSetDepthTestEnableEXT = vkCmdSetDepthTestEnable; 2036 alias vkCmdSetDepthWriteEnableEXT = vkCmdSetDepthWriteEnable; 2037 alias vkCmdSetDepthCompareOpEXT = vkCmdSetDepthCompareOp; 2038 alias vkCmdSetDepthBoundsTestEnableEXT = vkCmdSetDepthBoundsTestEnable; 2039 alias vkCmdSetStencilTestEnableEXT = vkCmdSetStencilTestEnable; 2040 alias vkCmdSetStencilOpEXT = vkCmdSetStencilOp; 2041 2042 // VK_EXT_private_data 2043 alias vkCreatePrivateDataSlotEXT = vkCreatePrivateDataSlot; 2044 alias vkDestroyPrivateDataSlotEXT = vkDestroyPrivateDataSlot; 2045 alias vkSetPrivateDataEXT = vkSetPrivateData; 2046 alias vkGetPrivateDataEXT = vkGetPrivateData; 2047 2048 // VK_EXT_extended_dynamic_state2 2049 alias vkCmdSetRasterizerDiscardEnableEXT = vkCmdSetRasterizerDiscardEnable; 2050 alias vkCmdSetDepthBiasEnableEXT = vkCmdSetDepthBiasEnable; 2051 alias vkCmdSetPrimitiveRestartEnableEXT = vkCmdSetPrimitiveRestartEnable; 2052 } 2053