1 // Copyright (C) 2018 The Android Open Source Project 2 // Copyright (C) 2018 Google Inc. 3 // 4 // Licensed under the Apache License, Version 2.0 (the "License"); 5 // you may not use this file except in compliance with the License. 6 // You may obtain a copy of the License at 7 // 8 // http://www.apache.org/licenses/LICENSE-2.0 9 // 10 // Unless required by applicable law or agreed to in writing, software 11 // distributed under the License is distributed on an "AS IS" BASIS, 12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 // See the License for the specific language governing permissions and 14 // limitations under the License. 15 16 // Autogenerated module goldfish_vk_dispatch 17 // 18 // (header) generated by scripts/genvk.py -registry 19 // ../../../../../hardware/google/gfxstream/codegen/vulkan/vulkan-docs-next/xml/vk.xml 20 // -registryGfxstream xml/vk_gfxstream.xml cereal -o 21 // ../../../../../hardware/google/gfxstream/host/vulkan/cereal 22 // 23 // Please do not modify directly; 24 // re-run mesa3d/src/gfxstream/codegen/generate-gfxstream-vulkan.sh, 25 // or directly from Python by defining: 26 // VULKAN_REGISTRY_XML_DIR : Directory containing vk.xml 27 // VULKAN_REGISTRY_SCRIPTS_DIR : Directory containing genvk.py 28 // CEREAL_OUTPUT_DIR: Where to put the generated sources. 29 // 30 // python3 $VULKAN_REGISTRY_SCRIPTS_DIR/genvk.py -registry $VULKAN_REGISTRY_XML_DIR/vk.xml cereal -o 31 // $CEREAL_OUTPUT_DIR 32 // 33 #pragma once 34 #include <vulkan/vulkan.h> 35 36 #include "goldfish_vk_private_defs.h" 37 #include "vk_android_native_buffer_gfxstream.h" 38 #include "vulkan_gfxstream.h" 39 namespace gfxstream { 40 namespace vk { 41 42 struct VulkanDispatch; 43 44 } // namespace vk 45 } // namespace gfxstream 46 using DlOpenFunc = void*(void); 47 using DlSymFunc = void*(void*, const char*); 48 49 namespace gfxstream { 50 namespace vk { 51 52 void init_vulkan_dispatch_from_system_loader(DlOpenFunc dlOpenFunc, DlSymFunc dlSymFunc, 53 VulkanDispatch* dispatch_out); 54 55 void init_vulkan_dispatch_from_instance(VulkanDispatch* vk, VkInstance instance, 56 VulkanDispatch* dispatch_out); 57 58 void init_vulkan_dispatch_from_device(VulkanDispatch* vk, VkDevice device, 59 VulkanDispatch* dispatch_out); 60 61 bool vulkan_dispatch_check_instance_VK_VERSION_1_0(const VulkanDispatch* vk); 62 63 bool vulkan_dispatch_check_instance_VK_VERSION_1_1(const VulkanDispatch* vk); 64 65 bool vulkan_dispatch_check_device_VK_VERSION_1_0(const VulkanDispatch* vk); 66 67 bool vulkan_dispatch_check_device_VK_VERSION_1_1(const VulkanDispatch* vk); 68 69 struct VulkanDispatch { 70 #ifdef VK_VERSION_1_0 71 PFN_vkCreateInstance vkCreateInstance; 72 PFN_vkDestroyInstance vkDestroyInstance; 73 PFN_vkEnumeratePhysicalDevices vkEnumeratePhysicalDevices; 74 PFN_vkGetPhysicalDeviceFeatures vkGetPhysicalDeviceFeatures; 75 PFN_vkGetPhysicalDeviceFormatProperties vkGetPhysicalDeviceFormatProperties; 76 PFN_vkGetPhysicalDeviceImageFormatProperties vkGetPhysicalDeviceImageFormatProperties; 77 PFN_vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties; 78 PFN_vkGetPhysicalDeviceQueueFamilyProperties vkGetPhysicalDeviceQueueFamilyProperties; 79 PFN_vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties; 80 PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr; 81 PFN_vkGetDeviceProcAddr vkGetDeviceProcAddr; 82 PFN_vkCreateDevice vkCreateDevice; 83 PFN_vkDestroyDevice vkDestroyDevice; 84 PFN_vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties; 85 PFN_vkEnumerateDeviceExtensionProperties vkEnumerateDeviceExtensionProperties; 86 PFN_vkEnumerateInstanceLayerProperties vkEnumerateInstanceLayerProperties; 87 PFN_vkEnumerateDeviceLayerProperties vkEnumerateDeviceLayerProperties; 88 PFN_vkGetDeviceQueue vkGetDeviceQueue; 89 PFN_vkQueueSubmit vkQueueSubmit; 90 PFN_vkQueueWaitIdle vkQueueWaitIdle; 91 PFN_vkDeviceWaitIdle vkDeviceWaitIdle; 92 PFN_vkAllocateMemory vkAllocateMemory; 93 PFN_vkFreeMemory vkFreeMemory; 94 PFN_vkMapMemory vkMapMemory; 95 PFN_vkUnmapMemory vkUnmapMemory; 96 PFN_vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges; 97 PFN_vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges; 98 PFN_vkGetDeviceMemoryCommitment vkGetDeviceMemoryCommitment; 99 PFN_vkBindBufferMemory vkBindBufferMemory; 100 PFN_vkBindImageMemory vkBindImageMemory; 101 PFN_vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements; 102 PFN_vkGetImageMemoryRequirements vkGetImageMemoryRequirements; 103 PFN_vkGetImageSparseMemoryRequirements vkGetImageSparseMemoryRequirements; 104 PFN_vkGetPhysicalDeviceSparseImageFormatProperties 105 vkGetPhysicalDeviceSparseImageFormatProperties; 106 PFN_vkQueueBindSparse vkQueueBindSparse; 107 PFN_vkCreateFence vkCreateFence; 108 PFN_vkDestroyFence vkDestroyFence; 109 PFN_vkResetFences vkResetFences; 110 PFN_vkGetFenceStatus vkGetFenceStatus; 111 PFN_vkWaitForFences vkWaitForFences; 112 PFN_vkCreateSemaphore vkCreateSemaphore; 113 PFN_vkDestroySemaphore vkDestroySemaphore; 114 PFN_vkCreateEvent vkCreateEvent; 115 PFN_vkDestroyEvent vkDestroyEvent; 116 PFN_vkGetEventStatus vkGetEventStatus; 117 PFN_vkSetEvent vkSetEvent; 118 PFN_vkResetEvent vkResetEvent; 119 PFN_vkCreateQueryPool vkCreateQueryPool; 120 PFN_vkDestroyQueryPool vkDestroyQueryPool; 121 PFN_vkGetQueryPoolResults vkGetQueryPoolResults; 122 PFN_vkCreateBuffer vkCreateBuffer; 123 PFN_vkDestroyBuffer vkDestroyBuffer; 124 PFN_vkCreateBufferView vkCreateBufferView; 125 PFN_vkDestroyBufferView vkDestroyBufferView; 126 PFN_vkCreateImage vkCreateImage; 127 PFN_vkDestroyImage vkDestroyImage; 128 PFN_vkGetImageSubresourceLayout vkGetImageSubresourceLayout; 129 PFN_vkCreateImageView vkCreateImageView; 130 PFN_vkDestroyImageView vkDestroyImageView; 131 PFN_vkCreateShaderModule vkCreateShaderModule; 132 PFN_vkDestroyShaderModule vkDestroyShaderModule; 133 PFN_vkCreatePipelineCache vkCreatePipelineCache; 134 PFN_vkDestroyPipelineCache vkDestroyPipelineCache; 135 PFN_vkGetPipelineCacheData vkGetPipelineCacheData; 136 PFN_vkMergePipelineCaches vkMergePipelineCaches; 137 PFN_vkCreateGraphicsPipelines vkCreateGraphicsPipelines; 138 PFN_vkCreateComputePipelines vkCreateComputePipelines; 139 PFN_vkDestroyPipeline vkDestroyPipeline; 140 PFN_vkCreatePipelineLayout vkCreatePipelineLayout; 141 PFN_vkDestroyPipelineLayout vkDestroyPipelineLayout; 142 PFN_vkCreateSampler vkCreateSampler; 143 PFN_vkDestroySampler vkDestroySampler; 144 PFN_vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout; 145 PFN_vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout; 146 PFN_vkCreateDescriptorPool vkCreateDescriptorPool; 147 PFN_vkDestroyDescriptorPool vkDestroyDescriptorPool; 148 PFN_vkResetDescriptorPool vkResetDescriptorPool; 149 PFN_vkAllocateDescriptorSets vkAllocateDescriptorSets; 150 PFN_vkFreeDescriptorSets vkFreeDescriptorSets; 151 PFN_vkUpdateDescriptorSets vkUpdateDescriptorSets; 152 PFN_vkCreateFramebuffer vkCreateFramebuffer; 153 PFN_vkDestroyFramebuffer vkDestroyFramebuffer; 154 PFN_vkCreateRenderPass vkCreateRenderPass; 155 PFN_vkDestroyRenderPass vkDestroyRenderPass; 156 PFN_vkGetRenderAreaGranularity vkGetRenderAreaGranularity; 157 PFN_vkCreateCommandPool vkCreateCommandPool; 158 PFN_vkDestroyCommandPool vkDestroyCommandPool; 159 PFN_vkResetCommandPool vkResetCommandPool; 160 PFN_vkAllocateCommandBuffers vkAllocateCommandBuffers; 161 PFN_vkFreeCommandBuffers vkFreeCommandBuffers; 162 PFN_vkBeginCommandBuffer vkBeginCommandBuffer; 163 PFN_vkEndCommandBuffer vkEndCommandBuffer; 164 PFN_vkResetCommandBuffer vkResetCommandBuffer; 165 PFN_vkCmdBindPipeline vkCmdBindPipeline; 166 PFN_vkCmdSetViewport vkCmdSetViewport; 167 PFN_vkCmdSetScissor vkCmdSetScissor; 168 PFN_vkCmdSetLineWidth vkCmdSetLineWidth; 169 PFN_vkCmdSetDepthBias vkCmdSetDepthBias; 170 PFN_vkCmdSetBlendConstants vkCmdSetBlendConstants; 171 PFN_vkCmdSetDepthBounds vkCmdSetDepthBounds; 172 PFN_vkCmdSetStencilCompareMask vkCmdSetStencilCompareMask; 173 PFN_vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask; 174 PFN_vkCmdSetStencilReference vkCmdSetStencilReference; 175 PFN_vkCmdBindDescriptorSets vkCmdBindDescriptorSets; 176 PFN_vkCmdBindIndexBuffer vkCmdBindIndexBuffer; 177 PFN_vkCmdBindVertexBuffers vkCmdBindVertexBuffers; 178 PFN_vkCmdDraw vkCmdDraw; 179 PFN_vkCmdDrawIndexed vkCmdDrawIndexed; 180 PFN_vkCmdDrawIndirect vkCmdDrawIndirect; 181 PFN_vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect; 182 PFN_vkCmdDispatch vkCmdDispatch; 183 PFN_vkCmdDispatchIndirect vkCmdDispatchIndirect; 184 PFN_vkCmdCopyBuffer vkCmdCopyBuffer; 185 PFN_vkCmdCopyImage vkCmdCopyImage; 186 PFN_vkCmdBlitImage vkCmdBlitImage; 187 PFN_vkCmdCopyBufferToImage vkCmdCopyBufferToImage; 188 PFN_vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer; 189 PFN_vkCmdUpdateBuffer vkCmdUpdateBuffer; 190 PFN_vkCmdFillBuffer vkCmdFillBuffer; 191 PFN_vkCmdClearColorImage vkCmdClearColorImage; 192 PFN_vkCmdClearDepthStencilImage vkCmdClearDepthStencilImage; 193 PFN_vkCmdClearAttachments vkCmdClearAttachments; 194 PFN_vkCmdResolveImage vkCmdResolveImage; 195 PFN_vkCmdSetEvent vkCmdSetEvent; 196 PFN_vkCmdResetEvent vkCmdResetEvent; 197 PFN_vkCmdWaitEvents vkCmdWaitEvents; 198 PFN_vkCmdPipelineBarrier vkCmdPipelineBarrier; 199 PFN_vkCmdBeginQuery vkCmdBeginQuery; 200 PFN_vkCmdEndQuery vkCmdEndQuery; 201 PFN_vkCmdResetQueryPool vkCmdResetQueryPool; 202 PFN_vkCmdWriteTimestamp vkCmdWriteTimestamp; 203 PFN_vkCmdCopyQueryPoolResults vkCmdCopyQueryPoolResults; 204 PFN_vkCmdPushConstants vkCmdPushConstants; 205 PFN_vkCmdBeginRenderPass vkCmdBeginRenderPass; 206 PFN_vkCmdNextSubpass vkCmdNextSubpass; 207 PFN_vkCmdEndRenderPass vkCmdEndRenderPass; 208 PFN_vkCmdExecuteCommands vkCmdExecuteCommands; 209 #endif 210 #ifdef VK_VERSION_1_1 211 PFN_vkEnumerateInstanceVersion vkEnumerateInstanceVersion; 212 PFN_vkBindBufferMemory2 vkBindBufferMemory2; 213 PFN_vkBindImageMemory2 vkBindImageMemory2; 214 PFN_vkGetDeviceGroupPeerMemoryFeatures vkGetDeviceGroupPeerMemoryFeatures; 215 PFN_vkCmdSetDeviceMask vkCmdSetDeviceMask; 216 PFN_vkCmdDispatchBase vkCmdDispatchBase; 217 PFN_vkEnumeratePhysicalDeviceGroups vkEnumeratePhysicalDeviceGroups; 218 PFN_vkGetImageMemoryRequirements2 vkGetImageMemoryRequirements2; 219 PFN_vkGetBufferMemoryRequirements2 vkGetBufferMemoryRequirements2; 220 PFN_vkGetImageSparseMemoryRequirements2 vkGetImageSparseMemoryRequirements2; 221 PFN_vkGetPhysicalDeviceFeatures2 vkGetPhysicalDeviceFeatures2; 222 PFN_vkGetPhysicalDeviceProperties2 vkGetPhysicalDeviceProperties2; 223 PFN_vkGetPhysicalDeviceFormatProperties2 vkGetPhysicalDeviceFormatProperties2; 224 PFN_vkGetPhysicalDeviceImageFormatProperties2 vkGetPhysicalDeviceImageFormatProperties2; 225 PFN_vkGetPhysicalDeviceQueueFamilyProperties2 vkGetPhysicalDeviceQueueFamilyProperties2; 226 PFN_vkGetPhysicalDeviceMemoryProperties2 vkGetPhysicalDeviceMemoryProperties2; 227 PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 228 vkGetPhysicalDeviceSparseImageFormatProperties2; 229 PFN_vkTrimCommandPool vkTrimCommandPool; 230 PFN_vkGetDeviceQueue2 vkGetDeviceQueue2; 231 PFN_vkCreateSamplerYcbcrConversion vkCreateSamplerYcbcrConversion; 232 PFN_vkDestroySamplerYcbcrConversion vkDestroySamplerYcbcrConversion; 233 PFN_vkCreateDescriptorUpdateTemplate vkCreateDescriptorUpdateTemplate; 234 PFN_vkDestroyDescriptorUpdateTemplate vkDestroyDescriptorUpdateTemplate; 235 PFN_vkUpdateDescriptorSetWithTemplate vkUpdateDescriptorSetWithTemplate; 236 PFN_vkGetPhysicalDeviceExternalBufferProperties vkGetPhysicalDeviceExternalBufferProperties; 237 PFN_vkGetPhysicalDeviceExternalFenceProperties vkGetPhysicalDeviceExternalFenceProperties; 238 PFN_vkGetPhysicalDeviceExternalSemaphoreProperties 239 vkGetPhysicalDeviceExternalSemaphoreProperties; 240 PFN_vkGetDescriptorSetLayoutSupport vkGetDescriptorSetLayoutSupport; 241 #endif 242 #ifdef VK_VERSION_1_2 243 PFN_vkCmdDrawIndirectCount vkCmdDrawIndirectCount; 244 PFN_vkCmdDrawIndexedIndirectCount vkCmdDrawIndexedIndirectCount; 245 PFN_vkCreateRenderPass2 vkCreateRenderPass2; 246 PFN_vkCmdBeginRenderPass2 vkCmdBeginRenderPass2; 247 PFN_vkCmdNextSubpass2 vkCmdNextSubpass2; 248 PFN_vkCmdEndRenderPass2 vkCmdEndRenderPass2; 249 PFN_vkResetQueryPool vkResetQueryPool; 250 PFN_vkGetSemaphoreCounterValue vkGetSemaphoreCounterValue; 251 PFN_vkWaitSemaphores vkWaitSemaphores; 252 PFN_vkSignalSemaphore vkSignalSemaphore; 253 PFN_vkGetBufferDeviceAddress vkGetBufferDeviceAddress; 254 PFN_vkGetBufferOpaqueCaptureAddress vkGetBufferOpaqueCaptureAddress; 255 PFN_vkGetDeviceMemoryOpaqueCaptureAddress vkGetDeviceMemoryOpaqueCaptureAddress; 256 #endif 257 #ifdef VK_VERSION_1_3 258 PFN_vkGetPhysicalDeviceToolProperties vkGetPhysicalDeviceToolProperties; 259 PFN_vkCreatePrivateDataSlot vkCreatePrivateDataSlot; 260 PFN_vkDestroyPrivateDataSlot vkDestroyPrivateDataSlot; 261 PFN_vkSetPrivateData vkSetPrivateData; 262 PFN_vkGetPrivateData vkGetPrivateData; 263 PFN_vkCmdSetEvent2 vkCmdSetEvent2; 264 PFN_vkCmdResetEvent2 vkCmdResetEvent2; 265 PFN_vkCmdWaitEvents2 vkCmdWaitEvents2; 266 PFN_vkCmdPipelineBarrier2 vkCmdPipelineBarrier2; 267 PFN_vkCmdWriteTimestamp2 vkCmdWriteTimestamp2; 268 PFN_vkQueueSubmit2 vkQueueSubmit2; 269 PFN_vkCmdCopyBuffer2 vkCmdCopyBuffer2; 270 PFN_vkCmdCopyImage2 vkCmdCopyImage2; 271 PFN_vkCmdCopyBufferToImage2 vkCmdCopyBufferToImage2; 272 PFN_vkCmdCopyImageToBuffer2 vkCmdCopyImageToBuffer2; 273 PFN_vkCmdBlitImage2 vkCmdBlitImage2; 274 PFN_vkCmdResolveImage2 vkCmdResolveImage2; 275 PFN_vkCmdBeginRendering vkCmdBeginRendering; 276 PFN_vkCmdEndRendering vkCmdEndRendering; 277 PFN_vkCmdSetCullMode vkCmdSetCullMode; 278 PFN_vkCmdSetFrontFace vkCmdSetFrontFace; 279 PFN_vkCmdSetPrimitiveTopology vkCmdSetPrimitiveTopology; 280 PFN_vkCmdSetViewportWithCount vkCmdSetViewportWithCount; 281 PFN_vkCmdSetScissorWithCount vkCmdSetScissorWithCount; 282 PFN_vkCmdBindVertexBuffers2 vkCmdBindVertexBuffers2; 283 PFN_vkCmdSetDepthTestEnable vkCmdSetDepthTestEnable; 284 PFN_vkCmdSetDepthWriteEnable vkCmdSetDepthWriteEnable; 285 PFN_vkCmdSetDepthCompareOp vkCmdSetDepthCompareOp; 286 PFN_vkCmdSetDepthBoundsTestEnable vkCmdSetDepthBoundsTestEnable; 287 PFN_vkCmdSetStencilTestEnable vkCmdSetStencilTestEnable; 288 PFN_vkCmdSetStencilOp vkCmdSetStencilOp; 289 PFN_vkCmdSetRasterizerDiscardEnable vkCmdSetRasterizerDiscardEnable; 290 PFN_vkCmdSetDepthBiasEnable vkCmdSetDepthBiasEnable; 291 PFN_vkCmdSetPrimitiveRestartEnable vkCmdSetPrimitiveRestartEnable; 292 PFN_vkGetDeviceBufferMemoryRequirements vkGetDeviceBufferMemoryRequirements; 293 PFN_vkGetDeviceImageMemoryRequirements vkGetDeviceImageMemoryRequirements; 294 PFN_vkGetDeviceImageSparseMemoryRequirements vkGetDeviceImageSparseMemoryRequirements; 295 #endif 296 #ifdef VK_KHR_surface 297 PFN_vkDestroySurfaceKHR vkDestroySurfaceKHR; 298 PFN_vkGetPhysicalDeviceSurfaceSupportKHR vkGetPhysicalDeviceSurfaceSupportKHR; 299 PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR vkGetPhysicalDeviceSurfaceCapabilitiesKHR; 300 PFN_vkGetPhysicalDeviceSurfaceFormatsKHR vkGetPhysicalDeviceSurfaceFormatsKHR; 301 PFN_vkGetPhysicalDeviceSurfacePresentModesKHR vkGetPhysicalDeviceSurfacePresentModesKHR; 302 #endif 303 #ifdef VK_KHR_swapchain 304 PFN_vkCreateSwapchainKHR vkCreateSwapchainKHR; 305 PFN_vkDestroySwapchainKHR vkDestroySwapchainKHR; 306 PFN_vkGetSwapchainImagesKHR vkGetSwapchainImagesKHR; 307 PFN_vkAcquireNextImageKHR vkAcquireNextImageKHR; 308 PFN_vkQueuePresentKHR vkQueuePresentKHR; 309 PFN_vkGetDeviceGroupPresentCapabilitiesKHR vkGetDeviceGroupPresentCapabilitiesKHR; 310 PFN_vkGetDeviceGroupSurfacePresentModesKHR vkGetDeviceGroupSurfacePresentModesKHR; 311 PFN_vkGetPhysicalDevicePresentRectanglesKHR vkGetPhysicalDevicePresentRectanglesKHR; 312 PFN_vkAcquireNextImage2KHR vkAcquireNextImage2KHR; 313 #endif 314 #ifdef VK_KHR_xcb_surface 315 PFN_vkCreateXcbSurfaceKHR vkCreateXcbSurfaceKHR; 316 PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR vkGetPhysicalDeviceXcbPresentationSupportKHR; 317 #endif 318 #ifdef VK_KHR_win32_surface 319 PFN_vkCreateWin32SurfaceKHR vkCreateWin32SurfaceKHR; 320 PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR 321 vkGetPhysicalDeviceWin32PresentationSupportKHR; 322 #endif 323 #ifdef VK_KHR_dynamic_rendering 324 PFN_vkCmdBeginRenderingKHR vkCmdBeginRenderingKHR; 325 PFN_vkCmdEndRenderingKHR vkCmdEndRenderingKHR; 326 #endif 327 #ifdef VK_KHR_get_physical_device_properties2 328 PFN_vkGetPhysicalDeviceFeatures2KHR vkGetPhysicalDeviceFeatures2KHR; 329 PFN_vkGetPhysicalDeviceProperties2KHR vkGetPhysicalDeviceProperties2KHR; 330 PFN_vkGetPhysicalDeviceFormatProperties2KHR vkGetPhysicalDeviceFormatProperties2KHR; 331 PFN_vkGetPhysicalDeviceImageFormatProperties2KHR vkGetPhysicalDeviceImageFormatProperties2KHR; 332 PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR vkGetPhysicalDeviceQueueFamilyProperties2KHR; 333 PFN_vkGetPhysicalDeviceMemoryProperties2KHR vkGetPhysicalDeviceMemoryProperties2KHR; 334 PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR 335 vkGetPhysicalDeviceSparseImageFormatProperties2KHR; 336 #endif 337 #ifdef VK_KHR_maintenance1 338 PFN_vkTrimCommandPoolKHR vkTrimCommandPoolKHR; 339 #endif 340 #ifdef VK_KHR_external_memory_capabilities 341 PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR 342 vkGetPhysicalDeviceExternalBufferPropertiesKHR; 343 #endif 344 #ifdef VK_KHR_external_memory_win32 345 PFN_vkGetMemoryWin32HandleKHR vkGetMemoryWin32HandleKHR; 346 PFN_vkGetMemoryWin32HandlePropertiesKHR vkGetMemoryWin32HandlePropertiesKHR; 347 #endif 348 #ifdef VK_KHR_external_memory_fd 349 PFN_vkGetMemoryFdKHR vkGetMemoryFdKHR; 350 PFN_vkGetMemoryFdPropertiesKHR vkGetMemoryFdPropertiesKHR; 351 #endif 352 #ifdef VK_KHR_external_semaphore_capabilities 353 PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR 354 vkGetPhysicalDeviceExternalSemaphorePropertiesKHR; 355 #endif 356 #ifdef VK_KHR_external_semaphore_win32 357 PFN_vkImportSemaphoreWin32HandleKHR vkImportSemaphoreWin32HandleKHR; 358 PFN_vkGetSemaphoreWin32HandleKHR vkGetSemaphoreWin32HandleKHR; 359 #endif 360 #ifdef VK_KHR_external_semaphore_fd 361 PFN_vkImportSemaphoreFdKHR vkImportSemaphoreFdKHR; 362 PFN_vkGetSemaphoreFdKHR vkGetSemaphoreFdKHR; 363 #endif 364 #ifdef VK_KHR_descriptor_update_template 365 PFN_vkCreateDescriptorUpdateTemplateKHR vkCreateDescriptorUpdateTemplateKHR; 366 PFN_vkDestroyDescriptorUpdateTemplateKHR vkDestroyDescriptorUpdateTemplateKHR; 367 PFN_vkUpdateDescriptorSetWithTemplateKHR vkUpdateDescriptorSetWithTemplateKHR; 368 #endif 369 #ifdef VK_KHR_create_renderpass2 370 PFN_vkCreateRenderPass2KHR vkCreateRenderPass2KHR; 371 PFN_vkCmdBeginRenderPass2KHR vkCmdBeginRenderPass2KHR; 372 PFN_vkCmdNextSubpass2KHR vkCmdNextSubpass2KHR; 373 PFN_vkCmdEndRenderPass2KHR vkCmdEndRenderPass2KHR; 374 #endif 375 #ifdef VK_KHR_external_fence_capabilities 376 PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR vkGetPhysicalDeviceExternalFencePropertiesKHR; 377 #endif 378 #ifdef VK_KHR_external_fence_fd 379 PFN_vkImportFenceFdKHR vkImportFenceFdKHR; 380 PFN_vkGetFenceFdKHR vkGetFenceFdKHR; 381 #endif 382 #ifdef VK_KHR_get_memory_requirements2 383 PFN_vkGetImageMemoryRequirements2KHR vkGetImageMemoryRequirements2KHR; 384 PFN_vkGetBufferMemoryRequirements2KHR vkGetBufferMemoryRequirements2KHR; 385 PFN_vkGetImageSparseMemoryRequirements2KHR vkGetImageSparseMemoryRequirements2KHR; 386 #endif 387 #ifdef VK_KHR_sampler_ycbcr_conversion 388 PFN_vkCreateSamplerYcbcrConversionKHR vkCreateSamplerYcbcrConversionKHR; 389 PFN_vkDestroySamplerYcbcrConversionKHR vkDestroySamplerYcbcrConversionKHR; 390 #endif 391 #ifdef VK_KHR_bind_memory2 392 PFN_vkBindBufferMemory2KHR vkBindBufferMemory2KHR; 393 PFN_vkBindImageMemory2KHR vkBindImageMemory2KHR; 394 #endif 395 #ifdef VK_KHR_maintenance3 396 PFN_vkGetDescriptorSetLayoutSupportKHR vkGetDescriptorSetLayoutSupportKHR; 397 #endif 398 #ifdef VK_KHR_buffer_device_address 399 PFN_vkGetBufferDeviceAddressKHR vkGetBufferDeviceAddressKHR; 400 PFN_vkGetBufferOpaqueCaptureAddressKHR vkGetBufferOpaqueCaptureAddressKHR; 401 PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR vkGetDeviceMemoryOpaqueCaptureAddressKHR; 402 #endif 403 #ifdef VK_KHR_pipeline_executable_properties 404 PFN_vkGetPipelineExecutablePropertiesKHR vkGetPipelineExecutablePropertiesKHR; 405 PFN_vkGetPipelineExecutableStatisticsKHR vkGetPipelineExecutableStatisticsKHR; 406 PFN_vkGetPipelineExecutableInternalRepresentationsKHR 407 vkGetPipelineExecutableInternalRepresentationsKHR; 408 #endif 409 #ifdef VK_KHR_synchronization2 410 PFN_vkCmdSetEvent2KHR vkCmdSetEvent2KHR; 411 PFN_vkCmdResetEvent2KHR vkCmdResetEvent2KHR; 412 PFN_vkCmdWaitEvents2KHR vkCmdWaitEvents2KHR; 413 PFN_vkCmdPipelineBarrier2KHR vkCmdPipelineBarrier2KHR; 414 PFN_vkCmdWriteTimestamp2KHR vkCmdWriteTimestamp2KHR; 415 PFN_vkQueueSubmit2KHR vkQueueSubmit2KHR; 416 PFN_vkCmdWriteBufferMarker2AMD vkCmdWriteBufferMarker2AMD; 417 PFN_vkGetQueueCheckpointData2NV vkGetQueueCheckpointData2NV; 418 #endif 419 #ifdef VK_KHR_copy_commands2 420 PFN_vkCmdCopyBuffer2KHR vkCmdCopyBuffer2KHR; 421 PFN_vkCmdCopyImage2KHR vkCmdCopyImage2KHR; 422 PFN_vkCmdCopyBufferToImage2KHR vkCmdCopyBufferToImage2KHR; 423 PFN_vkCmdCopyImageToBuffer2KHR vkCmdCopyImageToBuffer2KHR; 424 PFN_vkCmdBlitImage2KHR vkCmdBlitImage2KHR; 425 PFN_vkCmdResolveImage2KHR vkCmdResolveImage2KHR; 426 #endif 427 #ifdef VK_KHR_maintenance4 428 PFN_vkGetDeviceBufferMemoryRequirementsKHR vkGetDeviceBufferMemoryRequirementsKHR; 429 PFN_vkGetDeviceImageMemoryRequirementsKHR vkGetDeviceImageMemoryRequirementsKHR; 430 PFN_vkGetDeviceImageSparseMemoryRequirementsKHR vkGetDeviceImageSparseMemoryRequirementsKHR; 431 #endif 432 #ifdef VK_KHR_maintenance5 433 PFN_vkCmdBindIndexBuffer2KHR vkCmdBindIndexBuffer2KHR; 434 PFN_vkGetRenderingAreaGranularityKHR vkGetRenderingAreaGranularityKHR; 435 PFN_vkGetDeviceImageSubresourceLayoutKHR vkGetDeviceImageSubresourceLayoutKHR; 436 PFN_vkGetImageSubresourceLayout2KHR vkGetImageSubresourceLayout2KHR; 437 #endif 438 #ifdef VK_KHR_line_rasterization 439 PFN_vkCmdSetLineStippleKHR vkCmdSetLineStippleKHR; 440 #endif 441 #ifdef VK_ANDROID_native_buffer 442 PFN_vkGetSwapchainGrallocUsageANDROID vkGetSwapchainGrallocUsageANDROID; 443 PFN_vkAcquireImageANDROID vkAcquireImageANDROID; 444 PFN_vkQueueSignalReleaseImageANDROID vkQueueSignalReleaseImageANDROID; 445 PFN_vkGetSwapchainGrallocUsage2ANDROID vkGetSwapchainGrallocUsage2ANDROID; 446 #endif 447 #ifdef VK_EXT_debug_report 448 PFN_vkCreateDebugReportCallbackEXT vkCreateDebugReportCallbackEXT; 449 PFN_vkDestroyDebugReportCallbackEXT vkDestroyDebugReportCallbackEXT; 450 PFN_vkDebugReportMessageEXT vkDebugReportMessageEXT; 451 #endif 452 #ifdef VK_EXT_transform_feedback 453 PFN_vkCmdBindTransformFeedbackBuffersEXT vkCmdBindTransformFeedbackBuffersEXT; 454 PFN_vkCmdBeginTransformFeedbackEXT vkCmdBeginTransformFeedbackEXT; 455 PFN_vkCmdEndTransformFeedbackEXT vkCmdEndTransformFeedbackEXT; 456 PFN_vkCmdBeginQueryIndexedEXT vkCmdBeginQueryIndexedEXT; 457 PFN_vkCmdEndQueryIndexedEXT vkCmdEndQueryIndexedEXT; 458 PFN_vkCmdDrawIndirectByteCountEXT vkCmdDrawIndirectByteCountEXT; 459 #endif 460 #ifdef VK_EXT_debug_utils 461 PFN_vkSetDebugUtilsObjectNameEXT vkSetDebugUtilsObjectNameEXT; 462 PFN_vkSetDebugUtilsObjectTagEXT vkSetDebugUtilsObjectTagEXT; 463 PFN_vkQueueBeginDebugUtilsLabelEXT vkQueueBeginDebugUtilsLabelEXT; 464 PFN_vkQueueEndDebugUtilsLabelEXT vkQueueEndDebugUtilsLabelEXT; 465 PFN_vkQueueInsertDebugUtilsLabelEXT vkQueueInsertDebugUtilsLabelEXT; 466 PFN_vkCmdBeginDebugUtilsLabelEXT vkCmdBeginDebugUtilsLabelEXT; 467 PFN_vkCmdEndDebugUtilsLabelEXT vkCmdEndDebugUtilsLabelEXT; 468 PFN_vkCmdInsertDebugUtilsLabelEXT vkCmdInsertDebugUtilsLabelEXT; 469 PFN_vkCreateDebugUtilsMessengerEXT vkCreateDebugUtilsMessengerEXT; 470 PFN_vkDestroyDebugUtilsMessengerEXT vkDestroyDebugUtilsMessengerEXT; 471 PFN_vkSubmitDebugUtilsMessageEXT vkSubmitDebugUtilsMessageEXT; 472 #endif 473 #ifdef VK_EXT_image_drm_format_modifier 474 PFN_vkGetImageDrmFormatModifierPropertiesEXT vkGetImageDrmFormatModifierPropertiesEXT; 475 #endif 476 #ifdef VK_EXT_external_memory_host 477 PFN_vkGetMemoryHostPointerPropertiesEXT vkGetMemoryHostPointerPropertiesEXT; 478 #endif 479 #ifdef VK_NV_device_diagnostic_checkpoints 480 PFN_vkCmdSetCheckpointNV vkCmdSetCheckpointNV; 481 PFN_vkGetQueueCheckpointDataNV vkGetQueueCheckpointDataNV; 482 #endif 483 #ifdef VK_EXT_metal_surface 484 PFN_vkCreateMetalSurfaceEXT vkCreateMetalSurfaceEXT; 485 #endif 486 #ifdef VK_EXT_tooling_info 487 PFN_vkGetPhysicalDeviceToolPropertiesEXT vkGetPhysicalDeviceToolPropertiesEXT; 488 #endif 489 #ifdef VK_EXT_line_rasterization 490 PFN_vkCmdSetLineStippleEXT vkCmdSetLineStippleEXT; 491 #endif 492 #ifdef VK_EXT_extended_dynamic_state 493 PFN_vkCmdSetCullModeEXT vkCmdSetCullModeEXT; 494 PFN_vkCmdSetFrontFaceEXT vkCmdSetFrontFaceEXT; 495 PFN_vkCmdSetPrimitiveTopologyEXT vkCmdSetPrimitiveTopologyEXT; 496 PFN_vkCmdSetViewportWithCountEXT vkCmdSetViewportWithCountEXT; 497 PFN_vkCmdSetScissorWithCountEXT vkCmdSetScissorWithCountEXT; 498 PFN_vkCmdBindVertexBuffers2EXT vkCmdBindVertexBuffers2EXT; 499 PFN_vkCmdSetDepthTestEnableEXT vkCmdSetDepthTestEnableEXT; 500 PFN_vkCmdSetDepthWriteEnableEXT vkCmdSetDepthWriteEnableEXT; 501 PFN_vkCmdSetDepthCompareOpEXT vkCmdSetDepthCompareOpEXT; 502 PFN_vkCmdSetDepthBoundsTestEnableEXT vkCmdSetDepthBoundsTestEnableEXT; 503 PFN_vkCmdSetStencilTestEnableEXT vkCmdSetStencilTestEnableEXT; 504 PFN_vkCmdSetStencilOpEXT vkCmdSetStencilOpEXT; 505 #endif 506 #ifdef VK_EXT_host_image_copy 507 PFN_vkCopyMemoryToImageEXT vkCopyMemoryToImageEXT; 508 PFN_vkCopyImageToMemoryEXT vkCopyImageToMemoryEXT; 509 PFN_vkCopyImageToImageEXT vkCopyImageToImageEXT; 510 PFN_vkTransitionImageLayoutEXT vkTransitionImageLayoutEXT; 511 PFN_vkGetImageSubresourceLayout2EXT vkGetImageSubresourceLayout2EXT; 512 #endif 513 #ifdef VK_EXT_swapchain_maintenance1 514 PFN_vkReleaseSwapchainImagesEXT vkReleaseSwapchainImagesEXT; 515 #endif 516 #ifdef VK_EXT_private_data 517 PFN_vkCreatePrivateDataSlotEXT vkCreatePrivateDataSlotEXT; 518 PFN_vkDestroyPrivateDataSlotEXT vkDestroyPrivateDataSlotEXT; 519 PFN_vkSetPrivateDataEXT vkSetPrivateDataEXT; 520 PFN_vkGetPrivateDataEXT vkGetPrivateDataEXT; 521 #endif 522 #ifdef VK_EXT_metal_objects 523 PFN_vkExportMetalObjectsEXT vkExportMetalObjectsEXT; 524 #endif 525 #ifdef VK_EXT_extended_dynamic_state2 526 PFN_vkCmdSetPatchControlPointsEXT vkCmdSetPatchControlPointsEXT; 527 PFN_vkCmdSetRasterizerDiscardEnableEXT vkCmdSetRasterizerDiscardEnableEXT; 528 PFN_vkCmdSetDepthBiasEnableEXT vkCmdSetDepthBiasEnableEXT; 529 PFN_vkCmdSetLogicOpEXT vkCmdSetLogicOpEXT; 530 PFN_vkCmdSetPrimitiveRestartEnableEXT vkCmdSetPrimitiveRestartEnableEXT; 531 #endif 532 #ifdef VK_EXT_color_write_enable 533 PFN_vkCmdSetColorWriteEnableEXT vkCmdSetColorWriteEnableEXT; 534 #endif 535 #ifdef VK_GOOGLE_gfxstream 536 PFN_vkMapMemoryIntoAddressSpaceGOOGLE vkMapMemoryIntoAddressSpaceGOOGLE; 537 PFN_vkUpdateDescriptorSetWithTemplateSizedGOOGLE vkUpdateDescriptorSetWithTemplateSizedGOOGLE; 538 PFN_vkBeginCommandBufferAsyncGOOGLE vkBeginCommandBufferAsyncGOOGLE; 539 PFN_vkEndCommandBufferAsyncGOOGLE vkEndCommandBufferAsyncGOOGLE; 540 PFN_vkResetCommandBufferAsyncGOOGLE vkResetCommandBufferAsyncGOOGLE; 541 PFN_vkCommandBufferHostSyncGOOGLE vkCommandBufferHostSyncGOOGLE; 542 PFN_vkCreateImageWithRequirementsGOOGLE vkCreateImageWithRequirementsGOOGLE; 543 PFN_vkCreateBufferWithRequirementsGOOGLE vkCreateBufferWithRequirementsGOOGLE; 544 PFN_vkGetMemoryHostAddressInfoGOOGLE vkGetMemoryHostAddressInfoGOOGLE; 545 PFN_vkFreeMemorySyncGOOGLE vkFreeMemorySyncGOOGLE; 546 PFN_vkQueueHostSyncGOOGLE vkQueueHostSyncGOOGLE; 547 PFN_vkQueueSubmitAsyncGOOGLE vkQueueSubmitAsyncGOOGLE; 548 PFN_vkQueueWaitIdleAsyncGOOGLE vkQueueWaitIdleAsyncGOOGLE; 549 PFN_vkQueueBindSparseAsyncGOOGLE vkQueueBindSparseAsyncGOOGLE; 550 PFN_vkGetLinearImageLayoutGOOGLE vkGetLinearImageLayoutGOOGLE; 551 PFN_vkGetLinearImageLayout2GOOGLE vkGetLinearImageLayout2GOOGLE; 552 PFN_vkQueueFlushCommandsGOOGLE vkQueueFlushCommandsGOOGLE; 553 PFN_vkQueueCommitDescriptorSetUpdatesGOOGLE vkQueueCommitDescriptorSetUpdatesGOOGLE; 554 PFN_vkCollectDescriptorPoolIdsGOOGLE vkCollectDescriptorPoolIdsGOOGLE; 555 PFN_vkQueueSignalReleaseImageANDROIDAsyncGOOGLE vkQueueSignalReleaseImageANDROIDAsyncGOOGLE; 556 PFN_vkQueueFlushCommandsFromAuxMemoryGOOGLE vkQueueFlushCommandsFromAuxMemoryGOOGLE; 557 PFN_vkGetBlobGOOGLE vkGetBlobGOOGLE; 558 PFN_vkUpdateDescriptorSetWithTemplateSized2GOOGLE vkUpdateDescriptorSetWithTemplateSized2GOOGLE; 559 PFN_vkQueueSubmitAsync2GOOGLE vkQueueSubmitAsync2GOOGLE; 560 PFN_vkGetSemaphoreGOOGLE vkGetSemaphoreGOOGLE; 561 #endif 562 #ifdef VK_QNX_external_memory_screen_buffer 563 PFN_vkGetScreenBufferPropertiesQNX vkGetScreenBufferPropertiesQNX; 564 #endif 565 #ifdef VK_EXT_external_memory_metal 566 PFN_vkGetMemoryMetalHandleEXT vkGetMemoryMetalHandleEXT; 567 PFN_vkGetMemoryMetalHandlePropertiesEXT vkGetMemoryMetalHandlePropertiesEXT; 568 #endif 569 #ifdef VK_KHR_ray_tracing_pipeline 570 PFN_vkCmdTraceRaysKHR vkCmdTraceRaysKHR; 571 PFN_vkCreateRayTracingPipelinesKHR vkCreateRayTracingPipelinesKHR; 572 PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR 573 vkGetRayTracingCaptureReplayShaderGroupHandlesKHR; 574 PFN_vkCmdTraceRaysIndirectKHR vkCmdTraceRaysIndirectKHR; 575 PFN_vkGetRayTracingShaderGroupStackSizeKHR vkGetRayTracingShaderGroupStackSizeKHR; 576 PFN_vkCmdSetRayTracingPipelineStackSizeKHR vkCmdSetRayTracingPipelineStackSizeKHR; 577 #endif 578 }; 579 580 } // namespace vk 581 } // namespace gfxstream 582