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