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 VkEncoder 17 // (header) generated by android/android-emugl/host/libs/libOpenglRender/vulkan-registry/xml/genvk.py -registry android/android-emugl/host/libs/libOpenglRender/vulkan-registry/xml/vk.xml cereal -o android/android-emugl/host/libs/libOpenglRender/vulkan/cereal 18 // Please do not modify directly; 19 // re-run android/scripts/generate-vulkan-sources.sh, 20 // or directly from Python by defining: 21 // VULKAN_REGISTRY_XML_DIR : Directory containing genvk.py and vk.xml 22 // CEREAL_OUTPUT_DIR: Where to put the generated sources. 23 // python3 $VULKAN_REGISTRY_XML_DIR/genvk.py -registry $VULKAN_REGISTRY_XML_DIR/vk.xml cereal -o $CEREAL_OUTPUT_DIR 24 25 #pragma once 26 27 #include <vulkan/vulkan.h> 28 29 30 #include "goldfish_vk_private_defs.h" 31 #include <memory> 32 class IOStream; 33 34 35 namespace goldfish_vk { 36 37 38 class VkEncoder { 39 public: 40 VkEncoder(IOStream* stream); 41 ~VkEncoder(); 42 43 void flush(); 44 void lock(); 45 void unlock(); 46 #ifdef VK_VERSION_1_0 47 VkResult vkCreateInstance( 48 const VkInstanceCreateInfo* pCreateInfo, 49 const VkAllocationCallbacks* pAllocator, 50 VkInstance* pInstance); 51 void vkDestroyInstance( 52 VkInstance instance, 53 const VkAllocationCallbacks* pAllocator); 54 VkResult vkEnumeratePhysicalDevices( 55 VkInstance instance, 56 uint32_t* pPhysicalDeviceCount, 57 VkPhysicalDevice* pPhysicalDevices); 58 void vkGetPhysicalDeviceFeatures( 59 VkPhysicalDevice physicalDevice, 60 VkPhysicalDeviceFeatures* pFeatures); 61 void vkGetPhysicalDeviceFormatProperties( 62 VkPhysicalDevice physicalDevice, 63 VkFormat format, 64 VkFormatProperties* pFormatProperties); 65 VkResult vkGetPhysicalDeviceImageFormatProperties( 66 VkPhysicalDevice physicalDevice, 67 VkFormat format, 68 VkImageType type, 69 VkImageTiling tiling, 70 VkImageUsageFlags usage, 71 VkImageCreateFlags flags, 72 VkImageFormatProperties* pImageFormatProperties); 73 void vkGetPhysicalDeviceProperties( 74 VkPhysicalDevice physicalDevice, 75 VkPhysicalDeviceProperties* pProperties); 76 void vkGetPhysicalDeviceQueueFamilyProperties( 77 VkPhysicalDevice physicalDevice, 78 uint32_t* pQueueFamilyPropertyCount, 79 VkQueueFamilyProperties* pQueueFamilyProperties); 80 void vkGetPhysicalDeviceMemoryProperties( 81 VkPhysicalDevice physicalDevice, 82 VkPhysicalDeviceMemoryProperties* pMemoryProperties); 83 PFN_vkVoidFunction vkGetInstanceProcAddr( 84 VkInstance instance, 85 const char* pName); 86 PFN_vkVoidFunction vkGetDeviceProcAddr( 87 VkDevice device, 88 const char* pName); 89 VkResult vkCreateDevice( 90 VkPhysicalDevice physicalDevice, 91 const VkDeviceCreateInfo* pCreateInfo, 92 const VkAllocationCallbacks* pAllocator, 93 VkDevice* pDevice); 94 void vkDestroyDevice( 95 VkDevice device, 96 const VkAllocationCallbacks* pAllocator); 97 VkResult vkEnumerateInstanceExtensionProperties( 98 const char* pLayerName, 99 uint32_t* pPropertyCount, 100 VkExtensionProperties* pProperties); 101 VkResult vkEnumerateDeviceExtensionProperties( 102 VkPhysicalDevice physicalDevice, 103 const char* pLayerName, 104 uint32_t* pPropertyCount, 105 VkExtensionProperties* pProperties); 106 VkResult vkEnumerateInstanceLayerProperties( 107 uint32_t* pPropertyCount, 108 VkLayerProperties* pProperties); 109 VkResult vkEnumerateDeviceLayerProperties( 110 VkPhysicalDevice physicalDevice, 111 uint32_t* pPropertyCount, 112 VkLayerProperties* pProperties); 113 void vkGetDeviceQueue( 114 VkDevice device, 115 uint32_t queueFamilyIndex, 116 uint32_t queueIndex, 117 VkQueue* pQueue); 118 VkResult vkQueueSubmit( 119 VkQueue queue, 120 uint32_t submitCount, 121 const VkSubmitInfo* pSubmits, 122 VkFence fence); 123 VkResult vkQueueWaitIdle( 124 VkQueue queue); 125 VkResult vkDeviceWaitIdle( 126 VkDevice device); 127 VkResult vkAllocateMemory( 128 VkDevice device, 129 const VkMemoryAllocateInfo* pAllocateInfo, 130 const VkAllocationCallbacks* pAllocator, 131 VkDeviceMemory* pMemory); 132 void vkFreeMemory( 133 VkDevice device, 134 VkDeviceMemory memory, 135 const VkAllocationCallbacks* pAllocator); 136 VkResult vkMapMemory( 137 VkDevice device, 138 VkDeviceMemory memory, 139 VkDeviceSize offset, 140 VkDeviceSize size, 141 VkMemoryMapFlags flags, 142 void** ppData); 143 void vkUnmapMemory( 144 VkDevice device, 145 VkDeviceMemory memory); 146 VkResult vkFlushMappedMemoryRanges( 147 VkDevice device, 148 uint32_t memoryRangeCount, 149 const VkMappedMemoryRange* pMemoryRanges); 150 VkResult vkInvalidateMappedMemoryRanges( 151 VkDevice device, 152 uint32_t memoryRangeCount, 153 const VkMappedMemoryRange* pMemoryRanges); 154 void vkGetDeviceMemoryCommitment( 155 VkDevice device, 156 VkDeviceMemory memory, 157 VkDeviceSize* pCommittedMemoryInBytes); 158 VkResult vkBindBufferMemory( 159 VkDevice device, 160 VkBuffer buffer, 161 VkDeviceMemory memory, 162 VkDeviceSize memoryOffset); 163 VkResult vkBindImageMemory( 164 VkDevice device, 165 VkImage image, 166 VkDeviceMemory memory, 167 VkDeviceSize memoryOffset); 168 void vkGetBufferMemoryRequirements( 169 VkDevice device, 170 VkBuffer buffer, 171 VkMemoryRequirements* pMemoryRequirements); 172 void vkGetImageMemoryRequirements( 173 VkDevice device, 174 VkImage image, 175 VkMemoryRequirements* pMemoryRequirements); 176 void vkGetImageSparseMemoryRequirements( 177 VkDevice device, 178 VkImage image, 179 uint32_t* pSparseMemoryRequirementCount, 180 VkSparseImageMemoryRequirements* pSparseMemoryRequirements); 181 void vkGetPhysicalDeviceSparseImageFormatProperties( 182 VkPhysicalDevice physicalDevice, 183 VkFormat format, 184 VkImageType type, 185 VkSampleCountFlagBits samples, 186 VkImageUsageFlags usage, 187 VkImageTiling tiling, 188 uint32_t* pPropertyCount, 189 VkSparseImageFormatProperties* pProperties); 190 VkResult vkQueueBindSparse( 191 VkQueue queue, 192 uint32_t bindInfoCount, 193 const VkBindSparseInfo* pBindInfo, 194 VkFence fence); 195 VkResult vkCreateFence( 196 VkDevice device, 197 const VkFenceCreateInfo* pCreateInfo, 198 const VkAllocationCallbacks* pAllocator, 199 VkFence* pFence); 200 void vkDestroyFence( 201 VkDevice device, 202 VkFence fence, 203 const VkAllocationCallbacks* pAllocator); 204 VkResult vkResetFences( 205 VkDevice device, 206 uint32_t fenceCount, 207 const VkFence* pFences); 208 VkResult vkGetFenceStatus( 209 VkDevice device, 210 VkFence fence); 211 VkResult vkWaitForFences( 212 VkDevice device, 213 uint32_t fenceCount, 214 const VkFence* pFences, 215 VkBool32 waitAll, 216 uint64_t timeout); 217 VkResult vkCreateSemaphore( 218 VkDevice device, 219 const VkSemaphoreCreateInfo* pCreateInfo, 220 const VkAllocationCallbacks* pAllocator, 221 VkSemaphore* pSemaphore); 222 void vkDestroySemaphore( 223 VkDevice device, 224 VkSemaphore semaphore, 225 const VkAllocationCallbacks* pAllocator); 226 VkResult vkCreateEvent( 227 VkDevice device, 228 const VkEventCreateInfo* pCreateInfo, 229 const VkAllocationCallbacks* pAllocator, 230 VkEvent* pEvent); 231 void vkDestroyEvent( 232 VkDevice device, 233 VkEvent event, 234 const VkAllocationCallbacks* pAllocator); 235 VkResult vkGetEventStatus( 236 VkDevice device, 237 VkEvent event); 238 VkResult vkSetEvent( 239 VkDevice device, 240 VkEvent event); 241 VkResult vkResetEvent( 242 VkDevice device, 243 VkEvent event); 244 VkResult vkCreateQueryPool( 245 VkDevice device, 246 const VkQueryPoolCreateInfo* pCreateInfo, 247 const VkAllocationCallbacks* pAllocator, 248 VkQueryPool* pQueryPool); 249 void vkDestroyQueryPool( 250 VkDevice device, 251 VkQueryPool queryPool, 252 const VkAllocationCallbacks* pAllocator); 253 VkResult vkGetQueryPoolResults( 254 VkDevice device, 255 VkQueryPool queryPool, 256 uint32_t firstQuery, 257 uint32_t queryCount, 258 size_t dataSize, 259 void* pData, 260 VkDeviceSize stride, 261 VkQueryResultFlags flags); 262 VkResult vkCreateBuffer( 263 VkDevice device, 264 const VkBufferCreateInfo* pCreateInfo, 265 const VkAllocationCallbacks* pAllocator, 266 VkBuffer* pBuffer); 267 void vkDestroyBuffer( 268 VkDevice device, 269 VkBuffer buffer, 270 const VkAllocationCallbacks* pAllocator); 271 VkResult vkCreateBufferView( 272 VkDevice device, 273 const VkBufferViewCreateInfo* pCreateInfo, 274 const VkAllocationCallbacks* pAllocator, 275 VkBufferView* pView); 276 void vkDestroyBufferView( 277 VkDevice device, 278 VkBufferView bufferView, 279 const VkAllocationCallbacks* pAllocator); 280 VkResult vkCreateImage( 281 VkDevice device, 282 const VkImageCreateInfo* pCreateInfo, 283 const VkAllocationCallbacks* pAllocator, 284 VkImage* pImage); 285 void vkDestroyImage( 286 VkDevice device, 287 VkImage image, 288 const VkAllocationCallbacks* pAllocator); 289 void vkGetImageSubresourceLayout( 290 VkDevice device, 291 VkImage image, 292 const VkImageSubresource* pSubresource, 293 VkSubresourceLayout* pLayout); 294 VkResult vkCreateImageView( 295 VkDevice device, 296 const VkImageViewCreateInfo* pCreateInfo, 297 const VkAllocationCallbacks* pAllocator, 298 VkImageView* pView); 299 void vkDestroyImageView( 300 VkDevice device, 301 VkImageView imageView, 302 const VkAllocationCallbacks* pAllocator); 303 VkResult vkCreateShaderModule( 304 VkDevice device, 305 const VkShaderModuleCreateInfo* pCreateInfo, 306 const VkAllocationCallbacks* pAllocator, 307 VkShaderModule* pShaderModule); 308 void vkDestroyShaderModule( 309 VkDevice device, 310 VkShaderModule shaderModule, 311 const VkAllocationCallbacks* pAllocator); 312 VkResult vkCreatePipelineCache( 313 VkDevice device, 314 const VkPipelineCacheCreateInfo* pCreateInfo, 315 const VkAllocationCallbacks* pAllocator, 316 VkPipelineCache* pPipelineCache); 317 void vkDestroyPipelineCache( 318 VkDevice device, 319 VkPipelineCache pipelineCache, 320 const VkAllocationCallbacks* pAllocator); 321 VkResult vkGetPipelineCacheData( 322 VkDevice device, 323 VkPipelineCache pipelineCache, 324 size_t* pDataSize, 325 void* pData); 326 VkResult vkMergePipelineCaches( 327 VkDevice device, 328 VkPipelineCache dstCache, 329 uint32_t srcCacheCount, 330 const VkPipelineCache* pSrcCaches); 331 VkResult vkCreateGraphicsPipelines( 332 VkDevice device, 333 VkPipelineCache pipelineCache, 334 uint32_t createInfoCount, 335 const VkGraphicsPipelineCreateInfo* pCreateInfos, 336 const VkAllocationCallbacks* pAllocator, 337 VkPipeline* pPipelines); 338 VkResult vkCreateComputePipelines( 339 VkDevice device, 340 VkPipelineCache pipelineCache, 341 uint32_t createInfoCount, 342 const VkComputePipelineCreateInfo* pCreateInfos, 343 const VkAllocationCallbacks* pAllocator, 344 VkPipeline* pPipelines); 345 void vkDestroyPipeline( 346 VkDevice device, 347 VkPipeline pipeline, 348 const VkAllocationCallbacks* pAllocator); 349 VkResult vkCreatePipelineLayout( 350 VkDevice device, 351 const VkPipelineLayoutCreateInfo* pCreateInfo, 352 const VkAllocationCallbacks* pAllocator, 353 VkPipelineLayout* pPipelineLayout); 354 void vkDestroyPipelineLayout( 355 VkDevice device, 356 VkPipelineLayout pipelineLayout, 357 const VkAllocationCallbacks* pAllocator); 358 VkResult vkCreateSampler( 359 VkDevice device, 360 const VkSamplerCreateInfo* pCreateInfo, 361 const VkAllocationCallbacks* pAllocator, 362 VkSampler* pSampler); 363 void vkDestroySampler( 364 VkDevice device, 365 VkSampler sampler, 366 const VkAllocationCallbacks* pAllocator); 367 VkResult vkCreateDescriptorSetLayout( 368 VkDevice device, 369 const VkDescriptorSetLayoutCreateInfo* pCreateInfo, 370 const VkAllocationCallbacks* pAllocator, 371 VkDescriptorSetLayout* pSetLayout); 372 void vkDestroyDescriptorSetLayout( 373 VkDevice device, 374 VkDescriptorSetLayout descriptorSetLayout, 375 const VkAllocationCallbacks* pAllocator); 376 VkResult vkCreateDescriptorPool( 377 VkDevice device, 378 const VkDescriptorPoolCreateInfo* pCreateInfo, 379 const VkAllocationCallbacks* pAllocator, 380 VkDescriptorPool* pDescriptorPool); 381 void vkDestroyDescriptorPool( 382 VkDevice device, 383 VkDescriptorPool descriptorPool, 384 const VkAllocationCallbacks* pAllocator); 385 VkResult vkResetDescriptorPool( 386 VkDevice device, 387 VkDescriptorPool descriptorPool, 388 VkDescriptorPoolResetFlags flags); 389 VkResult vkAllocateDescriptorSets( 390 VkDevice device, 391 const VkDescriptorSetAllocateInfo* pAllocateInfo, 392 VkDescriptorSet* pDescriptorSets); 393 VkResult vkFreeDescriptorSets( 394 VkDevice device, 395 VkDescriptorPool descriptorPool, 396 uint32_t descriptorSetCount, 397 const VkDescriptorSet* pDescriptorSets); 398 void vkUpdateDescriptorSets( 399 VkDevice device, 400 uint32_t descriptorWriteCount, 401 const VkWriteDescriptorSet* pDescriptorWrites, 402 uint32_t descriptorCopyCount, 403 const VkCopyDescriptorSet* pDescriptorCopies); 404 VkResult vkCreateFramebuffer( 405 VkDevice device, 406 const VkFramebufferCreateInfo* pCreateInfo, 407 const VkAllocationCallbacks* pAllocator, 408 VkFramebuffer* pFramebuffer); 409 void vkDestroyFramebuffer( 410 VkDevice device, 411 VkFramebuffer framebuffer, 412 const VkAllocationCallbacks* pAllocator); 413 VkResult vkCreateRenderPass( 414 VkDevice device, 415 const VkRenderPassCreateInfo* pCreateInfo, 416 const VkAllocationCallbacks* pAllocator, 417 VkRenderPass* pRenderPass); 418 void vkDestroyRenderPass( 419 VkDevice device, 420 VkRenderPass renderPass, 421 const VkAllocationCallbacks* pAllocator); 422 void vkGetRenderAreaGranularity( 423 VkDevice device, 424 VkRenderPass renderPass, 425 VkExtent2D* pGranularity); 426 VkResult vkCreateCommandPool( 427 VkDevice device, 428 const VkCommandPoolCreateInfo* pCreateInfo, 429 const VkAllocationCallbacks* pAllocator, 430 VkCommandPool* pCommandPool); 431 void vkDestroyCommandPool( 432 VkDevice device, 433 VkCommandPool commandPool, 434 const VkAllocationCallbacks* pAllocator); 435 VkResult vkResetCommandPool( 436 VkDevice device, 437 VkCommandPool commandPool, 438 VkCommandPoolResetFlags flags); 439 VkResult vkAllocateCommandBuffers( 440 VkDevice device, 441 const VkCommandBufferAllocateInfo* pAllocateInfo, 442 VkCommandBuffer* pCommandBuffers); 443 void vkFreeCommandBuffers( 444 VkDevice device, 445 VkCommandPool commandPool, 446 uint32_t commandBufferCount, 447 const VkCommandBuffer* pCommandBuffers); 448 VkResult vkBeginCommandBuffer( 449 VkCommandBuffer commandBuffer, 450 const VkCommandBufferBeginInfo* pBeginInfo); 451 VkResult vkEndCommandBuffer( 452 VkCommandBuffer commandBuffer); 453 VkResult vkResetCommandBuffer( 454 VkCommandBuffer commandBuffer, 455 VkCommandBufferResetFlags flags); 456 void vkCmdBindPipeline( 457 VkCommandBuffer commandBuffer, 458 VkPipelineBindPoint pipelineBindPoint, 459 VkPipeline pipeline); 460 void vkCmdSetViewport( 461 VkCommandBuffer commandBuffer, 462 uint32_t firstViewport, 463 uint32_t viewportCount, 464 const VkViewport* pViewports); 465 void vkCmdSetScissor( 466 VkCommandBuffer commandBuffer, 467 uint32_t firstScissor, 468 uint32_t scissorCount, 469 const VkRect2D* pScissors); 470 void vkCmdSetLineWidth( 471 VkCommandBuffer commandBuffer, 472 float lineWidth); 473 void vkCmdSetDepthBias( 474 VkCommandBuffer commandBuffer, 475 float depthBiasConstantFactor, 476 float depthBiasClamp, 477 float depthBiasSlopeFactor); 478 void vkCmdSetBlendConstants( 479 VkCommandBuffer commandBuffer, 480 const float blendConstants[4]); 481 void vkCmdSetDepthBounds( 482 VkCommandBuffer commandBuffer, 483 float minDepthBounds, 484 float maxDepthBounds); 485 void vkCmdSetStencilCompareMask( 486 VkCommandBuffer commandBuffer, 487 VkStencilFaceFlags faceMask, 488 uint32_t compareMask); 489 void vkCmdSetStencilWriteMask( 490 VkCommandBuffer commandBuffer, 491 VkStencilFaceFlags faceMask, 492 uint32_t writeMask); 493 void vkCmdSetStencilReference( 494 VkCommandBuffer commandBuffer, 495 VkStencilFaceFlags faceMask, 496 uint32_t reference); 497 void vkCmdBindDescriptorSets( 498 VkCommandBuffer commandBuffer, 499 VkPipelineBindPoint pipelineBindPoint, 500 VkPipelineLayout layout, 501 uint32_t firstSet, 502 uint32_t descriptorSetCount, 503 const VkDescriptorSet* pDescriptorSets, 504 uint32_t dynamicOffsetCount, 505 const uint32_t* pDynamicOffsets); 506 void vkCmdBindIndexBuffer( 507 VkCommandBuffer commandBuffer, 508 VkBuffer buffer, 509 VkDeviceSize offset, 510 VkIndexType indexType); 511 void vkCmdBindVertexBuffers( 512 VkCommandBuffer commandBuffer, 513 uint32_t firstBinding, 514 uint32_t bindingCount, 515 const VkBuffer* pBuffers, 516 const VkDeviceSize* pOffsets); 517 void vkCmdDraw( 518 VkCommandBuffer commandBuffer, 519 uint32_t vertexCount, 520 uint32_t instanceCount, 521 uint32_t firstVertex, 522 uint32_t firstInstance); 523 void vkCmdDrawIndexed( 524 VkCommandBuffer commandBuffer, 525 uint32_t indexCount, 526 uint32_t instanceCount, 527 uint32_t firstIndex, 528 int32_t vertexOffset, 529 uint32_t firstInstance); 530 void vkCmdDrawIndirect( 531 VkCommandBuffer commandBuffer, 532 VkBuffer buffer, 533 VkDeviceSize offset, 534 uint32_t drawCount, 535 uint32_t stride); 536 void vkCmdDrawIndexedIndirect( 537 VkCommandBuffer commandBuffer, 538 VkBuffer buffer, 539 VkDeviceSize offset, 540 uint32_t drawCount, 541 uint32_t stride); 542 void vkCmdDispatch( 543 VkCommandBuffer commandBuffer, 544 uint32_t groupCountX, 545 uint32_t groupCountY, 546 uint32_t groupCountZ); 547 void vkCmdDispatchIndirect( 548 VkCommandBuffer commandBuffer, 549 VkBuffer buffer, 550 VkDeviceSize offset); 551 void vkCmdCopyBuffer( 552 VkCommandBuffer commandBuffer, 553 VkBuffer srcBuffer, 554 VkBuffer dstBuffer, 555 uint32_t regionCount, 556 const VkBufferCopy* pRegions); 557 void vkCmdCopyImage( 558 VkCommandBuffer commandBuffer, 559 VkImage srcImage, 560 VkImageLayout srcImageLayout, 561 VkImage dstImage, 562 VkImageLayout dstImageLayout, 563 uint32_t regionCount, 564 const VkImageCopy* pRegions); 565 void vkCmdBlitImage( 566 VkCommandBuffer commandBuffer, 567 VkImage srcImage, 568 VkImageLayout srcImageLayout, 569 VkImage dstImage, 570 VkImageLayout dstImageLayout, 571 uint32_t regionCount, 572 const VkImageBlit* pRegions, 573 VkFilter filter); 574 void vkCmdCopyBufferToImage( 575 VkCommandBuffer commandBuffer, 576 VkBuffer srcBuffer, 577 VkImage dstImage, 578 VkImageLayout dstImageLayout, 579 uint32_t regionCount, 580 const VkBufferImageCopy* pRegions); 581 void vkCmdCopyImageToBuffer( 582 VkCommandBuffer commandBuffer, 583 VkImage srcImage, 584 VkImageLayout srcImageLayout, 585 VkBuffer dstBuffer, 586 uint32_t regionCount, 587 const VkBufferImageCopy* pRegions); 588 void vkCmdUpdateBuffer( 589 VkCommandBuffer commandBuffer, 590 VkBuffer dstBuffer, 591 VkDeviceSize dstOffset, 592 VkDeviceSize dataSize, 593 const void* pData); 594 void vkCmdFillBuffer( 595 VkCommandBuffer commandBuffer, 596 VkBuffer dstBuffer, 597 VkDeviceSize dstOffset, 598 VkDeviceSize size, 599 uint32_t data); 600 void vkCmdClearColorImage( 601 VkCommandBuffer commandBuffer, 602 VkImage image, 603 VkImageLayout imageLayout, 604 const VkClearColorValue* pColor, 605 uint32_t rangeCount, 606 const VkImageSubresourceRange* pRanges); 607 void vkCmdClearDepthStencilImage( 608 VkCommandBuffer commandBuffer, 609 VkImage image, 610 VkImageLayout imageLayout, 611 const VkClearDepthStencilValue* pDepthStencil, 612 uint32_t rangeCount, 613 const VkImageSubresourceRange* pRanges); 614 void vkCmdClearAttachments( 615 VkCommandBuffer commandBuffer, 616 uint32_t attachmentCount, 617 const VkClearAttachment* pAttachments, 618 uint32_t rectCount, 619 const VkClearRect* pRects); 620 void vkCmdResolveImage( 621 VkCommandBuffer commandBuffer, 622 VkImage srcImage, 623 VkImageLayout srcImageLayout, 624 VkImage dstImage, 625 VkImageLayout dstImageLayout, 626 uint32_t regionCount, 627 const VkImageResolve* pRegions); 628 void vkCmdSetEvent( 629 VkCommandBuffer commandBuffer, 630 VkEvent event, 631 VkPipelineStageFlags stageMask); 632 void vkCmdResetEvent( 633 VkCommandBuffer commandBuffer, 634 VkEvent event, 635 VkPipelineStageFlags stageMask); 636 void vkCmdWaitEvents( 637 VkCommandBuffer commandBuffer, 638 uint32_t eventCount, 639 const VkEvent* pEvents, 640 VkPipelineStageFlags srcStageMask, 641 VkPipelineStageFlags dstStageMask, 642 uint32_t memoryBarrierCount, 643 const VkMemoryBarrier* pMemoryBarriers, 644 uint32_t bufferMemoryBarrierCount, 645 const VkBufferMemoryBarrier* pBufferMemoryBarriers, 646 uint32_t imageMemoryBarrierCount, 647 const VkImageMemoryBarrier* pImageMemoryBarriers); 648 void vkCmdPipelineBarrier( 649 VkCommandBuffer commandBuffer, 650 VkPipelineStageFlags srcStageMask, 651 VkPipelineStageFlags dstStageMask, 652 VkDependencyFlags dependencyFlags, 653 uint32_t memoryBarrierCount, 654 const VkMemoryBarrier* pMemoryBarriers, 655 uint32_t bufferMemoryBarrierCount, 656 const VkBufferMemoryBarrier* pBufferMemoryBarriers, 657 uint32_t imageMemoryBarrierCount, 658 const VkImageMemoryBarrier* pImageMemoryBarriers); 659 void vkCmdBeginQuery( 660 VkCommandBuffer commandBuffer, 661 VkQueryPool queryPool, 662 uint32_t query, 663 VkQueryControlFlags flags); 664 void vkCmdEndQuery( 665 VkCommandBuffer commandBuffer, 666 VkQueryPool queryPool, 667 uint32_t query); 668 void vkCmdResetQueryPool( 669 VkCommandBuffer commandBuffer, 670 VkQueryPool queryPool, 671 uint32_t firstQuery, 672 uint32_t queryCount); 673 void vkCmdWriteTimestamp( 674 VkCommandBuffer commandBuffer, 675 VkPipelineStageFlagBits pipelineStage, 676 VkQueryPool queryPool, 677 uint32_t query); 678 void vkCmdCopyQueryPoolResults( 679 VkCommandBuffer commandBuffer, 680 VkQueryPool queryPool, 681 uint32_t firstQuery, 682 uint32_t queryCount, 683 VkBuffer dstBuffer, 684 VkDeviceSize dstOffset, 685 VkDeviceSize stride, 686 VkQueryResultFlags flags); 687 void vkCmdPushConstants( 688 VkCommandBuffer commandBuffer, 689 VkPipelineLayout layout, 690 VkShaderStageFlags stageFlags, 691 uint32_t offset, 692 uint32_t size, 693 const void* pValues); 694 void vkCmdBeginRenderPass( 695 VkCommandBuffer commandBuffer, 696 const VkRenderPassBeginInfo* pRenderPassBegin, 697 VkSubpassContents contents); 698 void vkCmdNextSubpass( 699 VkCommandBuffer commandBuffer, 700 VkSubpassContents contents); 701 void vkCmdEndRenderPass( 702 VkCommandBuffer commandBuffer); 703 void vkCmdExecuteCommands( 704 VkCommandBuffer commandBuffer, 705 uint32_t commandBufferCount, 706 const VkCommandBuffer* pCommandBuffers); 707 #endif 708 #ifdef VK_VERSION_1_1 709 VkResult vkEnumerateInstanceVersion( 710 uint32_t* pApiVersion); 711 VkResult vkBindBufferMemory2( 712 VkDevice device, 713 uint32_t bindInfoCount, 714 const VkBindBufferMemoryInfo* pBindInfos); 715 VkResult vkBindImageMemory2( 716 VkDevice device, 717 uint32_t bindInfoCount, 718 const VkBindImageMemoryInfo* pBindInfos); 719 void vkGetDeviceGroupPeerMemoryFeatures( 720 VkDevice device, 721 uint32_t heapIndex, 722 uint32_t localDeviceIndex, 723 uint32_t remoteDeviceIndex, 724 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); 725 void vkCmdSetDeviceMask( 726 VkCommandBuffer commandBuffer, 727 uint32_t deviceMask); 728 void vkCmdDispatchBase( 729 VkCommandBuffer commandBuffer, 730 uint32_t baseGroupX, 731 uint32_t baseGroupY, 732 uint32_t baseGroupZ, 733 uint32_t groupCountX, 734 uint32_t groupCountY, 735 uint32_t groupCountZ); 736 VkResult vkEnumeratePhysicalDeviceGroups( 737 VkInstance instance, 738 uint32_t* pPhysicalDeviceGroupCount, 739 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); 740 void vkGetImageMemoryRequirements2( 741 VkDevice device, 742 const VkImageMemoryRequirementsInfo2* pInfo, 743 VkMemoryRequirements2* pMemoryRequirements); 744 void vkGetBufferMemoryRequirements2( 745 VkDevice device, 746 const VkBufferMemoryRequirementsInfo2* pInfo, 747 VkMemoryRequirements2* pMemoryRequirements); 748 void vkGetImageSparseMemoryRequirements2( 749 VkDevice device, 750 const VkImageSparseMemoryRequirementsInfo2* pInfo, 751 uint32_t* pSparseMemoryRequirementCount, 752 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 753 void vkGetPhysicalDeviceFeatures2( 754 VkPhysicalDevice physicalDevice, 755 VkPhysicalDeviceFeatures2* pFeatures); 756 void vkGetPhysicalDeviceProperties2( 757 VkPhysicalDevice physicalDevice, 758 VkPhysicalDeviceProperties2* pProperties); 759 void vkGetPhysicalDeviceFormatProperties2( 760 VkPhysicalDevice physicalDevice, 761 VkFormat format, 762 VkFormatProperties2* pFormatProperties); 763 VkResult vkGetPhysicalDeviceImageFormatProperties2( 764 VkPhysicalDevice physicalDevice, 765 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, 766 VkImageFormatProperties2* pImageFormatProperties); 767 void vkGetPhysicalDeviceQueueFamilyProperties2( 768 VkPhysicalDevice physicalDevice, 769 uint32_t* pQueueFamilyPropertyCount, 770 VkQueueFamilyProperties2* pQueueFamilyProperties); 771 void vkGetPhysicalDeviceMemoryProperties2( 772 VkPhysicalDevice physicalDevice, 773 VkPhysicalDeviceMemoryProperties2* pMemoryProperties); 774 void vkGetPhysicalDeviceSparseImageFormatProperties2( 775 VkPhysicalDevice physicalDevice, 776 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, 777 uint32_t* pPropertyCount, 778 VkSparseImageFormatProperties2* pProperties); 779 void vkTrimCommandPool( 780 VkDevice device, 781 VkCommandPool commandPool, 782 VkCommandPoolTrimFlags flags); 783 void vkGetDeviceQueue2( 784 VkDevice device, 785 const VkDeviceQueueInfo2* pQueueInfo, 786 VkQueue* pQueue); 787 VkResult vkCreateSamplerYcbcrConversion( 788 VkDevice device, 789 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, 790 const VkAllocationCallbacks* pAllocator, 791 VkSamplerYcbcrConversion* pYcbcrConversion); 792 void vkDestroySamplerYcbcrConversion( 793 VkDevice device, 794 VkSamplerYcbcrConversion ycbcrConversion, 795 const VkAllocationCallbacks* pAllocator); 796 VkResult vkCreateDescriptorUpdateTemplate( 797 VkDevice device, 798 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, 799 const VkAllocationCallbacks* pAllocator, 800 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); 801 void vkDestroyDescriptorUpdateTemplate( 802 VkDevice device, 803 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 804 const VkAllocationCallbacks* pAllocator); 805 void vkUpdateDescriptorSetWithTemplate( 806 VkDevice device, 807 VkDescriptorSet descriptorSet, 808 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 809 const void* pData); 810 void vkGetPhysicalDeviceExternalBufferProperties( 811 VkPhysicalDevice physicalDevice, 812 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, 813 VkExternalBufferProperties* pExternalBufferProperties); 814 void vkGetPhysicalDeviceExternalFenceProperties( 815 VkPhysicalDevice physicalDevice, 816 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, 817 VkExternalFenceProperties* pExternalFenceProperties); 818 void vkGetPhysicalDeviceExternalSemaphoreProperties( 819 VkPhysicalDevice physicalDevice, 820 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, 821 VkExternalSemaphoreProperties* pExternalSemaphoreProperties); 822 void vkGetDescriptorSetLayoutSupport( 823 VkDevice device, 824 const VkDescriptorSetLayoutCreateInfo* pCreateInfo, 825 VkDescriptorSetLayoutSupport* pSupport); 826 #endif 827 #ifdef VK_KHR_surface 828 void vkDestroySurfaceKHR( 829 VkInstance instance, 830 VkSurfaceKHR surface, 831 const VkAllocationCallbacks* pAllocator); 832 VkResult vkGetPhysicalDeviceSurfaceSupportKHR( 833 VkPhysicalDevice physicalDevice, 834 uint32_t queueFamilyIndex, 835 VkSurfaceKHR surface, 836 VkBool32* pSupported); 837 VkResult vkGetPhysicalDeviceSurfaceCapabilitiesKHR( 838 VkPhysicalDevice physicalDevice, 839 VkSurfaceKHR surface, 840 VkSurfaceCapabilitiesKHR* pSurfaceCapabilities); 841 VkResult vkGetPhysicalDeviceSurfaceFormatsKHR( 842 VkPhysicalDevice physicalDevice, 843 VkSurfaceKHR surface, 844 uint32_t* pSurfaceFormatCount, 845 VkSurfaceFormatKHR* pSurfaceFormats); 846 VkResult vkGetPhysicalDeviceSurfacePresentModesKHR( 847 VkPhysicalDevice physicalDevice, 848 VkSurfaceKHR surface, 849 uint32_t* pPresentModeCount, 850 VkPresentModeKHR* pPresentModes); 851 #endif 852 #ifdef VK_KHR_swapchain 853 VkResult vkCreateSwapchainKHR( 854 VkDevice device, 855 const VkSwapchainCreateInfoKHR* pCreateInfo, 856 const VkAllocationCallbacks* pAllocator, 857 VkSwapchainKHR* pSwapchain); 858 void vkDestroySwapchainKHR( 859 VkDevice device, 860 VkSwapchainKHR swapchain, 861 const VkAllocationCallbacks* pAllocator); 862 VkResult vkGetSwapchainImagesKHR( 863 VkDevice device, 864 VkSwapchainKHR swapchain, 865 uint32_t* pSwapchainImageCount, 866 VkImage* pSwapchainImages); 867 VkResult vkAcquireNextImageKHR( 868 VkDevice device, 869 VkSwapchainKHR swapchain, 870 uint64_t timeout, 871 VkSemaphore semaphore, 872 VkFence fence, 873 uint32_t* pImageIndex); 874 VkResult vkQueuePresentKHR( 875 VkQueue queue, 876 const VkPresentInfoKHR* pPresentInfo); 877 VkResult vkGetDeviceGroupPresentCapabilitiesKHR( 878 VkDevice device, 879 VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities); 880 VkResult vkGetDeviceGroupSurfacePresentModesKHR( 881 VkDevice device, 882 VkSurfaceKHR surface, 883 VkDeviceGroupPresentModeFlagsKHR* pModes); 884 VkResult vkGetPhysicalDevicePresentRectanglesKHR( 885 VkPhysicalDevice physicalDevice, 886 VkSurfaceKHR surface, 887 uint32_t* pRectCount, 888 VkRect2D* pRects); 889 VkResult vkAcquireNextImage2KHR( 890 VkDevice device, 891 const VkAcquireNextImageInfoKHR* pAcquireInfo, 892 uint32_t* pImageIndex); 893 #endif 894 #ifdef VK_KHR_display 895 VkResult vkGetPhysicalDeviceDisplayPropertiesKHR( 896 VkPhysicalDevice physicalDevice, 897 uint32_t* pPropertyCount, 898 VkDisplayPropertiesKHR* pProperties); 899 VkResult vkGetPhysicalDeviceDisplayPlanePropertiesKHR( 900 VkPhysicalDevice physicalDevice, 901 uint32_t* pPropertyCount, 902 VkDisplayPlanePropertiesKHR* pProperties); 903 VkResult vkGetDisplayPlaneSupportedDisplaysKHR( 904 VkPhysicalDevice physicalDevice, 905 uint32_t planeIndex, 906 uint32_t* pDisplayCount, 907 VkDisplayKHR* pDisplays); 908 VkResult vkGetDisplayModePropertiesKHR( 909 VkPhysicalDevice physicalDevice, 910 VkDisplayKHR display, 911 uint32_t* pPropertyCount, 912 VkDisplayModePropertiesKHR* pProperties); 913 VkResult vkCreateDisplayModeKHR( 914 VkPhysicalDevice physicalDevice, 915 VkDisplayKHR display, 916 const VkDisplayModeCreateInfoKHR* pCreateInfo, 917 const VkAllocationCallbacks* pAllocator, 918 VkDisplayModeKHR* pMode); 919 VkResult vkGetDisplayPlaneCapabilitiesKHR( 920 VkPhysicalDevice physicalDevice, 921 VkDisplayModeKHR mode, 922 uint32_t planeIndex, 923 VkDisplayPlaneCapabilitiesKHR* pCapabilities); 924 VkResult vkCreateDisplayPlaneSurfaceKHR( 925 VkInstance instance, 926 const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, 927 const VkAllocationCallbacks* pAllocator, 928 VkSurfaceKHR* pSurface); 929 #endif 930 #ifdef VK_KHR_display_swapchain 931 VkResult vkCreateSharedSwapchainsKHR( 932 VkDevice device, 933 uint32_t swapchainCount, 934 const VkSwapchainCreateInfoKHR* pCreateInfos, 935 const VkAllocationCallbacks* pAllocator, 936 VkSwapchainKHR* pSwapchains); 937 #endif 938 #ifdef VK_KHR_xlib_surface 939 VkResult vkCreateXlibSurfaceKHR( 940 VkInstance instance, 941 const VkXlibSurfaceCreateInfoKHR* pCreateInfo, 942 const VkAllocationCallbacks* pAllocator, 943 VkSurfaceKHR* pSurface); 944 VkBool32 vkGetPhysicalDeviceXlibPresentationSupportKHR( 945 VkPhysicalDevice physicalDevice, 946 uint32_t queueFamilyIndex, 947 Display* dpy, 948 VisualID visualID); 949 #endif 950 #ifdef VK_KHR_xcb_surface 951 VkResult vkCreateXcbSurfaceKHR( 952 VkInstance instance, 953 const VkXcbSurfaceCreateInfoKHR* pCreateInfo, 954 const VkAllocationCallbacks* pAllocator, 955 VkSurfaceKHR* pSurface); 956 VkBool32 vkGetPhysicalDeviceXcbPresentationSupportKHR( 957 VkPhysicalDevice physicalDevice, 958 uint32_t queueFamilyIndex, 959 xcb_connection_t* connection, 960 xcb_visualid_t visual_id); 961 #endif 962 #ifdef VK_KHR_wayland_surface 963 VkResult vkCreateWaylandSurfaceKHR( 964 VkInstance instance, 965 const VkWaylandSurfaceCreateInfoKHR* pCreateInfo, 966 const VkAllocationCallbacks* pAllocator, 967 VkSurfaceKHR* pSurface); 968 VkBool32 vkGetPhysicalDeviceWaylandPresentationSupportKHR( 969 VkPhysicalDevice physicalDevice, 970 uint32_t queueFamilyIndex, 971 wl_display* display); 972 #endif 973 #ifdef VK_KHR_mir_surface 974 VkResult vkCreateMirSurfaceKHR( 975 VkInstance instance, 976 const VkMirSurfaceCreateInfoKHR* pCreateInfo, 977 const VkAllocationCallbacks* pAllocator, 978 VkSurfaceKHR* pSurface); 979 VkBool32 vkGetPhysicalDeviceMirPresentationSupportKHR( 980 VkPhysicalDevice physicalDevice, 981 uint32_t queueFamilyIndex, 982 MirConnection* connection); 983 #endif 984 #ifdef VK_KHR_android_surface 985 VkResult vkCreateAndroidSurfaceKHR( 986 VkInstance instance, 987 const VkAndroidSurfaceCreateInfoKHR* pCreateInfo, 988 const VkAllocationCallbacks* pAllocator, 989 VkSurfaceKHR* pSurface); 990 #endif 991 #ifdef VK_KHR_win32_surface 992 VkResult vkCreateWin32SurfaceKHR( 993 VkInstance instance, 994 const VkWin32SurfaceCreateInfoKHR* pCreateInfo, 995 const VkAllocationCallbacks* pAllocator, 996 VkSurfaceKHR* pSurface); 997 VkBool32 vkGetPhysicalDeviceWin32PresentationSupportKHR( 998 VkPhysicalDevice physicalDevice, 999 uint32_t queueFamilyIndex); 1000 #endif 1001 #ifdef VK_KHR_sampler_mirror_clamp_to_edge 1002 #endif 1003 #ifdef VK_KHR_multiview 1004 #endif 1005 #ifdef VK_KHR_get_physical_device_properties2 1006 void vkGetPhysicalDeviceFeatures2KHR( 1007 VkPhysicalDevice physicalDevice, 1008 VkPhysicalDeviceFeatures2* pFeatures); 1009 void vkGetPhysicalDeviceProperties2KHR( 1010 VkPhysicalDevice physicalDevice, 1011 VkPhysicalDeviceProperties2* pProperties); 1012 void vkGetPhysicalDeviceFormatProperties2KHR( 1013 VkPhysicalDevice physicalDevice, 1014 VkFormat format, 1015 VkFormatProperties2* pFormatProperties); 1016 VkResult vkGetPhysicalDeviceImageFormatProperties2KHR( 1017 VkPhysicalDevice physicalDevice, 1018 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, 1019 VkImageFormatProperties2* pImageFormatProperties); 1020 void vkGetPhysicalDeviceQueueFamilyProperties2KHR( 1021 VkPhysicalDevice physicalDevice, 1022 uint32_t* pQueueFamilyPropertyCount, 1023 VkQueueFamilyProperties2* pQueueFamilyProperties); 1024 void vkGetPhysicalDeviceMemoryProperties2KHR( 1025 VkPhysicalDevice physicalDevice, 1026 VkPhysicalDeviceMemoryProperties2* pMemoryProperties); 1027 void vkGetPhysicalDeviceSparseImageFormatProperties2KHR( 1028 VkPhysicalDevice physicalDevice, 1029 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, 1030 uint32_t* pPropertyCount, 1031 VkSparseImageFormatProperties2* pProperties); 1032 #endif 1033 #ifdef VK_KHR_device_group 1034 void vkGetDeviceGroupPeerMemoryFeaturesKHR( 1035 VkDevice device, 1036 uint32_t heapIndex, 1037 uint32_t localDeviceIndex, 1038 uint32_t remoteDeviceIndex, 1039 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); 1040 void vkCmdSetDeviceMaskKHR( 1041 VkCommandBuffer commandBuffer, 1042 uint32_t deviceMask); 1043 void vkCmdDispatchBaseKHR( 1044 VkCommandBuffer commandBuffer, 1045 uint32_t baseGroupX, 1046 uint32_t baseGroupY, 1047 uint32_t baseGroupZ, 1048 uint32_t groupCountX, 1049 uint32_t groupCountY, 1050 uint32_t groupCountZ); 1051 #endif 1052 #ifdef VK_KHR_shader_draw_parameters 1053 #endif 1054 #ifdef VK_KHR_maintenance1 1055 void vkTrimCommandPoolKHR( 1056 VkDevice device, 1057 VkCommandPool commandPool, 1058 VkCommandPoolTrimFlags flags); 1059 #endif 1060 #ifdef VK_KHR_device_group_creation 1061 VkResult vkEnumeratePhysicalDeviceGroupsKHR( 1062 VkInstance instance, 1063 uint32_t* pPhysicalDeviceGroupCount, 1064 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); 1065 #endif 1066 #ifdef VK_KHR_external_memory_capabilities 1067 void vkGetPhysicalDeviceExternalBufferPropertiesKHR( 1068 VkPhysicalDevice physicalDevice, 1069 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, 1070 VkExternalBufferProperties* pExternalBufferProperties); 1071 #endif 1072 #ifdef VK_KHR_external_memory 1073 #endif 1074 #ifdef VK_KHR_external_memory_win32 1075 VkResult vkGetMemoryWin32HandleKHR( 1076 VkDevice device, 1077 const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo, 1078 HANDLE* pHandle); 1079 VkResult vkGetMemoryWin32HandlePropertiesKHR( 1080 VkDevice device, 1081 VkExternalMemoryHandleTypeFlagBits handleType, 1082 HANDLE handle, 1083 VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties); 1084 #endif 1085 #ifdef VK_KHR_external_memory_fd 1086 VkResult vkGetMemoryFdKHR( 1087 VkDevice device, 1088 const VkMemoryGetFdInfoKHR* pGetFdInfo, 1089 int* pFd); 1090 VkResult vkGetMemoryFdPropertiesKHR( 1091 VkDevice device, 1092 VkExternalMemoryHandleTypeFlagBits handleType, 1093 int fd, 1094 VkMemoryFdPropertiesKHR* pMemoryFdProperties); 1095 #endif 1096 #ifdef VK_KHR_win32_keyed_mutex 1097 #endif 1098 #ifdef VK_KHR_external_semaphore_capabilities 1099 void vkGetPhysicalDeviceExternalSemaphorePropertiesKHR( 1100 VkPhysicalDevice physicalDevice, 1101 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, 1102 VkExternalSemaphoreProperties* pExternalSemaphoreProperties); 1103 #endif 1104 #ifdef VK_KHR_external_semaphore 1105 #endif 1106 #ifdef VK_KHR_external_semaphore_win32 1107 VkResult vkImportSemaphoreWin32HandleKHR( 1108 VkDevice device, 1109 const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo); 1110 VkResult vkGetSemaphoreWin32HandleKHR( 1111 VkDevice device, 1112 const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo, 1113 HANDLE* pHandle); 1114 #endif 1115 #ifdef VK_KHR_external_semaphore_fd 1116 VkResult vkImportSemaphoreFdKHR( 1117 VkDevice device, 1118 const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo); 1119 VkResult vkGetSemaphoreFdKHR( 1120 VkDevice device, 1121 const VkSemaphoreGetFdInfoKHR* pGetFdInfo, 1122 int* pFd); 1123 #endif 1124 #ifdef VK_KHR_push_descriptor 1125 void vkCmdPushDescriptorSetKHR( 1126 VkCommandBuffer commandBuffer, 1127 VkPipelineBindPoint pipelineBindPoint, 1128 VkPipelineLayout layout, 1129 uint32_t set, 1130 uint32_t descriptorWriteCount, 1131 const VkWriteDescriptorSet* pDescriptorWrites); 1132 void vkCmdPushDescriptorSetWithTemplateKHR( 1133 VkCommandBuffer commandBuffer, 1134 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 1135 VkPipelineLayout layout, 1136 uint32_t set, 1137 const void* pData); 1138 #endif 1139 #ifdef VK_KHR_16bit_storage 1140 #endif 1141 #ifdef VK_KHR_incremental_present 1142 #endif 1143 #ifdef VK_KHR_descriptor_update_template 1144 VkResult vkCreateDescriptorUpdateTemplateKHR( 1145 VkDevice device, 1146 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, 1147 const VkAllocationCallbacks* pAllocator, 1148 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); 1149 void vkDestroyDescriptorUpdateTemplateKHR( 1150 VkDevice device, 1151 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 1152 const VkAllocationCallbacks* pAllocator); 1153 void vkUpdateDescriptorSetWithTemplateKHR( 1154 VkDevice device, 1155 VkDescriptorSet descriptorSet, 1156 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 1157 const void* pData); 1158 #endif 1159 #ifdef VK_KHR_create_renderpass2 1160 VkResult vkCreateRenderPass2KHR( 1161 VkDevice device, 1162 const VkRenderPassCreateInfo2KHR* pCreateInfo, 1163 const VkAllocationCallbacks* pAllocator, 1164 VkRenderPass* pRenderPass); 1165 void vkCmdBeginRenderPass2KHR( 1166 VkCommandBuffer commandBuffer, 1167 const VkRenderPassBeginInfo* pRenderPassBegin, 1168 const VkSubpassBeginInfoKHR* pSubpassBeginInfo); 1169 void vkCmdNextSubpass2KHR( 1170 VkCommandBuffer commandBuffer, 1171 const VkSubpassBeginInfoKHR* pSubpassBeginInfo, 1172 const VkSubpassEndInfoKHR* pSubpassEndInfo); 1173 void vkCmdEndRenderPass2KHR( 1174 VkCommandBuffer commandBuffer, 1175 const VkSubpassEndInfoKHR* pSubpassEndInfo); 1176 #endif 1177 #ifdef VK_KHR_shared_presentable_image 1178 VkResult vkGetSwapchainStatusKHR( 1179 VkDevice device, 1180 VkSwapchainKHR swapchain); 1181 #endif 1182 #ifdef VK_KHR_external_fence_capabilities 1183 void vkGetPhysicalDeviceExternalFencePropertiesKHR( 1184 VkPhysicalDevice physicalDevice, 1185 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, 1186 VkExternalFenceProperties* pExternalFenceProperties); 1187 #endif 1188 #ifdef VK_KHR_external_fence 1189 #endif 1190 #ifdef VK_KHR_external_fence_win32 1191 VkResult vkImportFenceWin32HandleKHR( 1192 VkDevice device, 1193 const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo); 1194 VkResult vkGetFenceWin32HandleKHR( 1195 VkDevice device, 1196 const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo, 1197 HANDLE* pHandle); 1198 #endif 1199 #ifdef VK_KHR_external_fence_fd 1200 VkResult vkImportFenceFdKHR( 1201 VkDevice device, 1202 const VkImportFenceFdInfoKHR* pImportFenceFdInfo); 1203 VkResult vkGetFenceFdKHR( 1204 VkDevice device, 1205 const VkFenceGetFdInfoKHR* pGetFdInfo, 1206 int* pFd); 1207 #endif 1208 #ifdef VK_KHR_maintenance2 1209 #endif 1210 #ifdef VK_KHR_get_surface_capabilities2 1211 VkResult vkGetPhysicalDeviceSurfaceCapabilities2KHR( 1212 VkPhysicalDevice physicalDevice, 1213 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, 1214 VkSurfaceCapabilities2KHR* pSurfaceCapabilities); 1215 VkResult vkGetPhysicalDeviceSurfaceFormats2KHR( 1216 VkPhysicalDevice physicalDevice, 1217 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, 1218 uint32_t* pSurfaceFormatCount, 1219 VkSurfaceFormat2KHR* pSurfaceFormats); 1220 #endif 1221 #ifdef VK_KHR_variable_pointers 1222 #endif 1223 #ifdef VK_KHR_get_display_properties2 1224 VkResult vkGetPhysicalDeviceDisplayProperties2KHR( 1225 VkPhysicalDevice physicalDevice, 1226 uint32_t* pPropertyCount, 1227 VkDisplayProperties2KHR* pProperties); 1228 VkResult vkGetPhysicalDeviceDisplayPlaneProperties2KHR( 1229 VkPhysicalDevice physicalDevice, 1230 uint32_t* pPropertyCount, 1231 VkDisplayPlaneProperties2KHR* pProperties); 1232 VkResult vkGetDisplayModeProperties2KHR( 1233 VkPhysicalDevice physicalDevice, 1234 VkDisplayKHR display, 1235 uint32_t* pPropertyCount, 1236 VkDisplayModeProperties2KHR* pProperties); 1237 VkResult vkGetDisplayPlaneCapabilities2KHR( 1238 VkPhysicalDevice physicalDevice, 1239 const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, 1240 VkDisplayPlaneCapabilities2KHR* pCapabilities); 1241 #endif 1242 #ifdef VK_KHR_dedicated_allocation 1243 #endif 1244 #ifdef VK_KHR_storage_buffer_storage_class 1245 #endif 1246 #ifdef VK_KHR_relaxed_block_layout 1247 #endif 1248 #ifdef VK_KHR_get_memory_requirements2 1249 void vkGetImageMemoryRequirements2KHR( 1250 VkDevice device, 1251 const VkImageMemoryRequirementsInfo2* pInfo, 1252 VkMemoryRequirements2* pMemoryRequirements); 1253 void vkGetBufferMemoryRequirements2KHR( 1254 VkDevice device, 1255 const VkBufferMemoryRequirementsInfo2* pInfo, 1256 VkMemoryRequirements2* pMemoryRequirements); 1257 void vkGetImageSparseMemoryRequirements2KHR( 1258 VkDevice device, 1259 const VkImageSparseMemoryRequirementsInfo2* pInfo, 1260 uint32_t* pSparseMemoryRequirementCount, 1261 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 1262 #endif 1263 #ifdef VK_KHR_image_format_list 1264 #endif 1265 #ifdef VK_KHR_sampler_ycbcr_conversion 1266 VkResult vkCreateSamplerYcbcrConversionKHR( 1267 VkDevice device, 1268 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, 1269 const VkAllocationCallbacks* pAllocator, 1270 VkSamplerYcbcrConversion* pYcbcrConversion); 1271 void vkDestroySamplerYcbcrConversionKHR( 1272 VkDevice device, 1273 VkSamplerYcbcrConversion ycbcrConversion, 1274 const VkAllocationCallbacks* pAllocator); 1275 #endif 1276 #ifdef VK_KHR_bind_memory2 1277 VkResult vkBindBufferMemory2KHR( 1278 VkDevice device, 1279 uint32_t bindInfoCount, 1280 const VkBindBufferMemoryInfo* pBindInfos); 1281 VkResult vkBindImageMemory2KHR( 1282 VkDevice device, 1283 uint32_t bindInfoCount, 1284 const VkBindImageMemoryInfo* pBindInfos); 1285 #endif 1286 #ifdef VK_KHR_maintenance3 1287 void vkGetDescriptorSetLayoutSupportKHR( 1288 VkDevice device, 1289 const VkDescriptorSetLayoutCreateInfo* pCreateInfo, 1290 VkDescriptorSetLayoutSupport* pSupport); 1291 #endif 1292 #ifdef VK_KHR_draw_indirect_count 1293 void vkCmdDrawIndirectCountKHR( 1294 VkCommandBuffer commandBuffer, 1295 VkBuffer buffer, 1296 VkDeviceSize offset, 1297 VkBuffer countBuffer, 1298 VkDeviceSize countBufferOffset, 1299 uint32_t maxDrawCount, 1300 uint32_t stride); 1301 void vkCmdDrawIndexedIndirectCountKHR( 1302 VkCommandBuffer commandBuffer, 1303 VkBuffer buffer, 1304 VkDeviceSize offset, 1305 VkBuffer countBuffer, 1306 VkDeviceSize countBufferOffset, 1307 uint32_t maxDrawCount, 1308 uint32_t stride); 1309 #endif 1310 #ifdef VK_KHR_8bit_storage 1311 #endif 1312 #ifdef VK_KHR_shader_float16_int8 1313 #endif 1314 #ifdef VK_ANDROID_native_buffer 1315 VkResult vkGetSwapchainGrallocUsageANDROID( 1316 VkDevice device, 1317 VkFormat format, 1318 VkImageUsageFlags imageUsage, 1319 int* grallocUsage); 1320 VkResult vkAcquireImageANDROID( 1321 VkDevice device, 1322 VkImage image, 1323 int nativeFenceFd, 1324 VkSemaphore semaphore, 1325 VkFence fence); 1326 VkResult vkQueueSignalReleaseImageANDROID( 1327 VkQueue queue, 1328 uint32_t waitSemaphoreCount, 1329 const VkSemaphore* pWaitSemaphores, 1330 VkImage image, 1331 int* pNativeFenceFd); 1332 #endif 1333 #ifdef VK_EXT_debug_report 1334 VkResult vkCreateDebugReportCallbackEXT( 1335 VkInstance instance, 1336 const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, 1337 const VkAllocationCallbacks* pAllocator, 1338 VkDebugReportCallbackEXT* pCallback); 1339 void vkDestroyDebugReportCallbackEXT( 1340 VkInstance instance, 1341 VkDebugReportCallbackEXT callback, 1342 const VkAllocationCallbacks* pAllocator); 1343 void vkDebugReportMessageEXT( 1344 VkInstance instance, 1345 VkDebugReportFlagsEXT flags, 1346 VkDebugReportObjectTypeEXT objectType, 1347 uint64_t object, 1348 size_t location, 1349 int32_t messageCode, 1350 const char* pLayerPrefix, 1351 const char* pMessage); 1352 #endif 1353 #ifdef VK_NV_glsl_shader 1354 #endif 1355 #ifdef VK_EXT_depth_range_unrestricted 1356 #endif 1357 #ifdef VK_IMG_filter_cubic 1358 #endif 1359 #ifdef VK_AMD_rasterization_order 1360 #endif 1361 #ifdef VK_AMD_shader_trinary_minmax 1362 #endif 1363 #ifdef VK_AMD_shader_explicit_vertex_parameter 1364 #endif 1365 #ifdef VK_EXT_debug_marker 1366 VkResult vkDebugMarkerSetObjectTagEXT( 1367 VkDevice device, 1368 const VkDebugMarkerObjectTagInfoEXT* pTagInfo); 1369 VkResult vkDebugMarkerSetObjectNameEXT( 1370 VkDevice device, 1371 const VkDebugMarkerObjectNameInfoEXT* pNameInfo); 1372 void vkCmdDebugMarkerBeginEXT( 1373 VkCommandBuffer commandBuffer, 1374 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); 1375 void vkCmdDebugMarkerEndEXT( 1376 VkCommandBuffer commandBuffer); 1377 void vkCmdDebugMarkerInsertEXT( 1378 VkCommandBuffer commandBuffer, 1379 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); 1380 #endif 1381 #ifdef VK_AMD_gcn_shader 1382 #endif 1383 #ifdef VK_NV_dedicated_allocation 1384 #endif 1385 #ifdef VK_AMD_draw_indirect_count 1386 void vkCmdDrawIndirectCountAMD( 1387 VkCommandBuffer commandBuffer, 1388 VkBuffer buffer, 1389 VkDeviceSize offset, 1390 VkBuffer countBuffer, 1391 VkDeviceSize countBufferOffset, 1392 uint32_t maxDrawCount, 1393 uint32_t stride); 1394 void vkCmdDrawIndexedIndirectCountAMD( 1395 VkCommandBuffer commandBuffer, 1396 VkBuffer buffer, 1397 VkDeviceSize offset, 1398 VkBuffer countBuffer, 1399 VkDeviceSize countBufferOffset, 1400 uint32_t maxDrawCount, 1401 uint32_t stride); 1402 #endif 1403 #ifdef VK_AMD_negative_viewport_height 1404 #endif 1405 #ifdef VK_AMD_gpu_shader_half_float 1406 #endif 1407 #ifdef VK_AMD_shader_ballot 1408 #endif 1409 #ifdef VK_AMD_texture_gather_bias_lod 1410 #endif 1411 #ifdef VK_AMD_shader_info 1412 VkResult vkGetShaderInfoAMD( 1413 VkDevice device, 1414 VkPipeline pipeline, 1415 VkShaderStageFlagBits shaderStage, 1416 VkShaderInfoTypeAMD infoType, 1417 size_t* pInfoSize, 1418 void* pInfo); 1419 #endif 1420 #ifdef VK_AMD_shader_image_load_store_lod 1421 #endif 1422 #ifdef VK_IMG_format_pvrtc 1423 #endif 1424 #ifdef VK_NV_external_memory_capabilities 1425 VkResult vkGetPhysicalDeviceExternalImageFormatPropertiesNV( 1426 VkPhysicalDevice physicalDevice, 1427 VkFormat format, 1428 VkImageType type, 1429 VkImageTiling tiling, 1430 VkImageUsageFlags usage, 1431 VkImageCreateFlags flags, 1432 VkExternalMemoryHandleTypeFlagsNV externalHandleType, 1433 VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties); 1434 #endif 1435 #ifdef VK_NV_external_memory 1436 #endif 1437 #ifdef VK_NV_external_memory_win32 1438 VkResult vkGetMemoryWin32HandleNV( 1439 VkDevice device, 1440 VkDeviceMemory memory, 1441 VkExternalMemoryHandleTypeFlagsNV handleType, 1442 HANDLE* pHandle); 1443 #endif 1444 #ifdef VK_NV_win32_keyed_mutex 1445 #endif 1446 #ifdef VK_EXT_validation_flags 1447 #endif 1448 #ifdef VK_NN_vi_surface 1449 VkResult vkCreateViSurfaceNN( 1450 VkInstance instance, 1451 const VkViSurfaceCreateInfoNN* pCreateInfo, 1452 const VkAllocationCallbacks* pAllocator, 1453 VkSurfaceKHR* pSurface); 1454 #endif 1455 #ifdef VK_EXT_shader_subgroup_ballot 1456 #endif 1457 #ifdef VK_EXT_shader_subgroup_vote 1458 #endif 1459 #ifdef VK_EXT_conditional_rendering 1460 void vkCmdBeginConditionalRenderingEXT( 1461 VkCommandBuffer commandBuffer, 1462 const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin); 1463 void vkCmdEndConditionalRenderingEXT( 1464 VkCommandBuffer commandBuffer); 1465 #endif 1466 #ifdef VK_NVX_device_generated_commands 1467 void vkCmdProcessCommandsNVX( 1468 VkCommandBuffer commandBuffer, 1469 const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo); 1470 void vkCmdReserveSpaceForCommandsNVX( 1471 VkCommandBuffer commandBuffer, 1472 const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo); 1473 VkResult vkCreateIndirectCommandsLayoutNVX( 1474 VkDevice device, 1475 const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo, 1476 const VkAllocationCallbacks* pAllocator, 1477 VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout); 1478 void vkDestroyIndirectCommandsLayoutNVX( 1479 VkDevice device, 1480 VkIndirectCommandsLayoutNVX indirectCommandsLayout, 1481 const VkAllocationCallbacks* pAllocator); 1482 VkResult vkCreateObjectTableNVX( 1483 VkDevice device, 1484 const VkObjectTableCreateInfoNVX* pCreateInfo, 1485 const VkAllocationCallbacks* pAllocator, 1486 VkObjectTableNVX* pObjectTable); 1487 void vkDestroyObjectTableNVX( 1488 VkDevice device, 1489 VkObjectTableNVX objectTable, 1490 const VkAllocationCallbacks* pAllocator); 1491 VkResult vkRegisterObjectsNVX( 1492 VkDevice device, 1493 VkObjectTableNVX objectTable, 1494 uint32_t objectCount, 1495 const VkObjectTableEntryNVX* const* ppObjectTableEntries, 1496 const uint32_t* pObjectIndices); 1497 VkResult vkUnregisterObjectsNVX( 1498 VkDevice device, 1499 VkObjectTableNVX objectTable, 1500 uint32_t objectCount, 1501 const VkObjectEntryTypeNVX* pObjectEntryTypes, 1502 const uint32_t* pObjectIndices); 1503 void vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX( 1504 VkPhysicalDevice physicalDevice, 1505 VkDeviceGeneratedCommandsFeaturesNVX* pFeatures, 1506 VkDeviceGeneratedCommandsLimitsNVX* pLimits); 1507 #endif 1508 #ifdef VK_NV_clip_space_w_scaling 1509 void vkCmdSetViewportWScalingNV( 1510 VkCommandBuffer commandBuffer, 1511 uint32_t firstViewport, 1512 uint32_t viewportCount, 1513 const VkViewportWScalingNV* pViewportWScalings); 1514 #endif 1515 #ifdef VK_EXT_direct_mode_display 1516 VkResult vkReleaseDisplayEXT( 1517 VkPhysicalDevice physicalDevice, 1518 VkDisplayKHR display); 1519 #endif 1520 #ifdef VK_EXT_acquire_xlib_display 1521 VkResult vkAcquireXlibDisplayEXT( 1522 VkPhysicalDevice physicalDevice, 1523 Display* dpy, 1524 VkDisplayKHR display); 1525 VkResult vkGetRandROutputDisplayEXT( 1526 VkPhysicalDevice physicalDevice, 1527 Display* dpy, 1528 RROutput rrOutput, 1529 VkDisplayKHR* pDisplay); 1530 #endif 1531 #ifdef VK_EXT_display_surface_counter 1532 VkResult vkGetPhysicalDeviceSurfaceCapabilities2EXT( 1533 VkPhysicalDevice physicalDevice, 1534 VkSurfaceKHR surface, 1535 VkSurfaceCapabilities2EXT* pSurfaceCapabilities); 1536 #endif 1537 #ifdef VK_EXT_display_control 1538 VkResult vkDisplayPowerControlEXT( 1539 VkDevice device, 1540 VkDisplayKHR display, 1541 const VkDisplayPowerInfoEXT* pDisplayPowerInfo); 1542 VkResult vkRegisterDeviceEventEXT( 1543 VkDevice device, 1544 const VkDeviceEventInfoEXT* pDeviceEventInfo, 1545 const VkAllocationCallbacks* pAllocator, 1546 VkFence* pFence); 1547 VkResult vkRegisterDisplayEventEXT( 1548 VkDevice device, 1549 VkDisplayKHR display, 1550 const VkDisplayEventInfoEXT* pDisplayEventInfo, 1551 const VkAllocationCallbacks* pAllocator, 1552 VkFence* pFence); 1553 VkResult vkGetSwapchainCounterEXT( 1554 VkDevice device, 1555 VkSwapchainKHR swapchain, 1556 VkSurfaceCounterFlagBitsEXT counter, 1557 uint64_t* pCounterValue); 1558 #endif 1559 #ifdef VK_GOOGLE_display_timing 1560 VkResult vkGetRefreshCycleDurationGOOGLE( 1561 VkDevice device, 1562 VkSwapchainKHR swapchain, 1563 VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties); 1564 VkResult vkGetPastPresentationTimingGOOGLE( 1565 VkDevice device, 1566 VkSwapchainKHR swapchain, 1567 uint32_t* pPresentationTimingCount, 1568 VkPastPresentationTimingGOOGLE* pPresentationTimings); 1569 #endif 1570 #ifdef VK_NV_sample_mask_override_coverage 1571 #endif 1572 #ifdef VK_NV_geometry_shader_passthrough 1573 #endif 1574 #ifdef VK_NV_viewport_array2 1575 #endif 1576 #ifdef VK_NVX_multiview_per_view_attributes 1577 #endif 1578 #ifdef VK_NV_viewport_swizzle 1579 #endif 1580 #ifdef VK_EXT_discard_rectangles 1581 void vkCmdSetDiscardRectangleEXT( 1582 VkCommandBuffer commandBuffer, 1583 uint32_t firstDiscardRectangle, 1584 uint32_t discardRectangleCount, 1585 const VkRect2D* pDiscardRectangles); 1586 #endif 1587 #ifdef VK_EXT_conservative_rasterization 1588 #endif 1589 #ifdef VK_EXT_swapchain_colorspace 1590 #endif 1591 #ifdef VK_EXT_hdr_metadata 1592 void vkSetHdrMetadataEXT( 1593 VkDevice device, 1594 uint32_t swapchainCount, 1595 const VkSwapchainKHR* pSwapchains, 1596 const VkHdrMetadataEXT* pMetadata); 1597 #endif 1598 #ifdef VK_MVK_ios_surface 1599 VkResult vkCreateIOSSurfaceMVK( 1600 VkInstance instance, 1601 const VkIOSSurfaceCreateInfoMVK* pCreateInfo, 1602 const VkAllocationCallbacks* pAllocator, 1603 VkSurfaceKHR* pSurface); 1604 #endif 1605 #ifdef VK_MVK_macos_surface 1606 VkResult vkCreateMacOSSurfaceMVK( 1607 VkInstance instance, 1608 const VkMacOSSurfaceCreateInfoMVK* pCreateInfo, 1609 const VkAllocationCallbacks* pAllocator, 1610 VkSurfaceKHR* pSurface); 1611 #endif 1612 #ifdef VK_EXT_external_memory_dma_buf 1613 #endif 1614 #ifdef VK_EXT_queue_family_foreign 1615 #endif 1616 #ifdef VK_EXT_debug_utils 1617 VkResult vkSetDebugUtilsObjectNameEXT( 1618 VkDevice device, 1619 const VkDebugUtilsObjectNameInfoEXT* pNameInfo); 1620 VkResult vkSetDebugUtilsObjectTagEXT( 1621 VkDevice device, 1622 const VkDebugUtilsObjectTagInfoEXT* pTagInfo); 1623 void vkQueueBeginDebugUtilsLabelEXT( 1624 VkQueue queue, 1625 const VkDebugUtilsLabelEXT* pLabelInfo); 1626 void vkQueueEndDebugUtilsLabelEXT( 1627 VkQueue queue); 1628 void vkQueueInsertDebugUtilsLabelEXT( 1629 VkQueue queue, 1630 const VkDebugUtilsLabelEXT* pLabelInfo); 1631 void vkCmdBeginDebugUtilsLabelEXT( 1632 VkCommandBuffer commandBuffer, 1633 const VkDebugUtilsLabelEXT* pLabelInfo); 1634 void vkCmdEndDebugUtilsLabelEXT( 1635 VkCommandBuffer commandBuffer); 1636 void vkCmdInsertDebugUtilsLabelEXT( 1637 VkCommandBuffer commandBuffer, 1638 const VkDebugUtilsLabelEXT* pLabelInfo); 1639 VkResult vkCreateDebugUtilsMessengerEXT( 1640 VkInstance instance, 1641 const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, 1642 const VkAllocationCallbacks* pAllocator, 1643 VkDebugUtilsMessengerEXT* pMessenger); 1644 void vkDestroyDebugUtilsMessengerEXT( 1645 VkInstance instance, 1646 VkDebugUtilsMessengerEXT messenger, 1647 const VkAllocationCallbacks* pAllocator); 1648 void vkSubmitDebugUtilsMessageEXT( 1649 VkInstance instance, 1650 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, 1651 VkDebugUtilsMessageTypeFlagsEXT messageTypes, 1652 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData); 1653 #endif 1654 #ifdef VK_ANDROID_external_memory_android_hardware_buffer 1655 VkResult vkGetAndroidHardwareBufferPropertiesANDROID( 1656 VkDevice device, 1657 const AHardwareBuffer* buffer, 1658 VkAndroidHardwareBufferPropertiesANDROID* pProperties); 1659 VkResult vkGetMemoryAndroidHardwareBufferANDROID( 1660 VkDevice device, 1661 const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, 1662 AHardwareBuffer** pBuffer); 1663 #endif 1664 #ifdef VK_EXT_sampler_filter_minmax 1665 #endif 1666 #ifdef VK_AMD_gpu_shader_int16 1667 #endif 1668 #ifdef VK_AMD_mixed_attachment_samples 1669 #endif 1670 #ifdef VK_AMD_shader_fragment_mask 1671 #endif 1672 #ifdef VK_EXT_shader_stencil_export 1673 #endif 1674 #ifdef VK_EXT_sample_locations 1675 void vkCmdSetSampleLocationsEXT( 1676 VkCommandBuffer commandBuffer, 1677 const VkSampleLocationsInfoEXT* pSampleLocationsInfo); 1678 void vkGetPhysicalDeviceMultisamplePropertiesEXT( 1679 VkPhysicalDevice physicalDevice, 1680 VkSampleCountFlagBits samples, 1681 VkMultisamplePropertiesEXT* pMultisampleProperties); 1682 #endif 1683 #ifdef VK_EXT_blend_operation_advanced 1684 #endif 1685 #ifdef VK_NV_fragment_coverage_to_color 1686 #endif 1687 #ifdef VK_NV_framebuffer_mixed_samples 1688 #endif 1689 #ifdef VK_NV_fill_rectangle 1690 #endif 1691 #ifdef VK_EXT_post_depth_coverage 1692 #endif 1693 #ifdef VK_EXT_validation_cache 1694 VkResult vkCreateValidationCacheEXT( 1695 VkDevice device, 1696 const VkValidationCacheCreateInfoEXT* pCreateInfo, 1697 const VkAllocationCallbacks* pAllocator, 1698 VkValidationCacheEXT* pValidationCache); 1699 void vkDestroyValidationCacheEXT( 1700 VkDevice device, 1701 VkValidationCacheEXT validationCache, 1702 const VkAllocationCallbacks* pAllocator); 1703 VkResult vkMergeValidationCachesEXT( 1704 VkDevice device, 1705 VkValidationCacheEXT dstCache, 1706 uint32_t srcCacheCount, 1707 const VkValidationCacheEXT* pSrcCaches); 1708 VkResult vkGetValidationCacheDataEXT( 1709 VkDevice device, 1710 VkValidationCacheEXT validationCache, 1711 size_t* pDataSize, 1712 void* pData); 1713 #endif 1714 #ifdef VK_EXT_descriptor_indexing 1715 #endif 1716 #ifdef VK_EXT_shader_viewport_index_layer 1717 #endif 1718 #ifdef VK_EXT_global_priority 1719 #endif 1720 #ifdef VK_EXT_external_memory_host 1721 VkResult vkGetMemoryHostPointerPropertiesEXT( 1722 VkDevice device, 1723 VkExternalMemoryHandleTypeFlagBits handleType, 1724 const void* pHostPointer, 1725 VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties); 1726 #endif 1727 #ifdef VK_AMD_buffer_marker 1728 void vkCmdWriteBufferMarkerAMD( 1729 VkCommandBuffer commandBuffer, 1730 VkPipelineStageFlagBits pipelineStage, 1731 VkBuffer dstBuffer, 1732 VkDeviceSize dstOffset, 1733 uint32_t marker); 1734 #endif 1735 #ifdef VK_AMD_shader_core_properties 1736 #endif 1737 #ifdef VK_EXT_vertex_attribute_divisor 1738 #endif 1739 #ifdef VK_NV_shader_subgroup_partitioned 1740 #endif 1741 #ifdef VK_NV_device_diagnostic_checkpoints 1742 void vkCmdSetCheckpointNV( 1743 VkCommandBuffer commandBuffer, 1744 const void* pCheckpointMarker); 1745 void vkGetQueueCheckpointDataNV( 1746 VkQueue queue, 1747 uint32_t* pCheckpointDataCount, 1748 VkCheckpointDataNV* pCheckpointData); 1749 #endif 1750 #ifdef VK_GOOGLE_address_space 1751 VkResult vkMapMemoryIntoAddressSpaceGOOGLE( 1752 VkDevice device, 1753 VkDeviceMemory memory, 1754 uint64_t* pAddress); 1755 #endif 1756 #ifdef VK_GOOGLE_color_buffer 1757 VkResult vkRegisterImageColorBufferGOOGLE( 1758 VkDevice device, 1759 VkImage image, 1760 uint32_t colorBuffer); 1761 VkResult vkRegisterBufferColorBufferGOOGLE( 1762 VkDevice device, 1763 VkBuffer buffer, 1764 uint32_t colorBuffer); 1765 #endif 1766 #ifdef VK_GOOGLE_sized_descriptor_update_template 1767 void vkUpdateDescriptorSetWithTemplateSizedGOOGLE( 1768 VkDevice device, 1769 VkDescriptorSet descriptorSet, 1770 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 1771 uint32_t imageInfoCount, 1772 uint32_t bufferInfoCount, 1773 uint32_t bufferViewCount, 1774 const uint32_t* pImageInfoEntryIndices, 1775 const uint32_t* pBufferInfoEntryIndices, 1776 const uint32_t* pBufferViewEntryIndices, 1777 const VkDescriptorImageInfo* pImageInfos, 1778 const VkDescriptorBufferInfo* pBufferInfos, 1779 const VkBufferView* pBufferViews); 1780 #endif 1781 #ifdef VK_GOOGLE_async_command_buffers 1782 void vkBeginCommandBufferAsyncGOOGLE( 1783 VkCommandBuffer commandBuffer, 1784 const VkCommandBufferBeginInfo* pBeginInfo); 1785 void vkEndCommandBufferAsyncGOOGLE( 1786 VkCommandBuffer commandBuffer); 1787 void vkResetCommandBufferAsyncGOOGLE( 1788 VkCommandBuffer commandBuffer, 1789 VkCommandBufferResetFlags flags); 1790 void vkCommandBufferHostSyncGOOGLE( 1791 VkCommandBuffer commandBuffer, 1792 uint32_t needHostSync, 1793 uint32_t sequenceNumber); 1794 #endif 1795 #ifdef VK_GOOGLE_create_resources_with_requirements 1796 VkResult vkCreateImageWithRequirementsGOOGLE( 1797 VkDevice device, 1798 const VkImageCreateInfo* pCreateInfo, 1799 const VkAllocationCallbacks* pAllocator, 1800 VkImage* pImage, 1801 VkMemoryRequirements* pMemoryRequirements); 1802 VkResult vkCreateBufferWithRequirementsGOOGLE( 1803 VkDevice device, 1804 const VkBufferCreateInfo* pCreateInfo, 1805 const VkAllocationCallbacks* pAllocator, 1806 VkBuffer* pBuffer, 1807 VkMemoryRequirements* pMemoryRequirements); 1808 #endif 1809 #ifdef VK_GOOGLE_address_space_info 1810 VkResult vkGetMemoryHostAddressInfoGOOGLE( 1811 VkDevice device, 1812 VkDeviceMemory memory, 1813 uint64_t* pAddress, 1814 uint64_t* pSize, 1815 uint64_t* pHostmemId); 1816 #endif 1817 #ifdef VK_GOOGLE_free_memory_sync 1818 VkResult vkFreeMemorySyncGOOGLE( 1819 VkDevice device, 1820 VkDeviceMemory memory, 1821 const VkAllocationCallbacks* pAllocator); 1822 #endif 1823 #ifdef VK_GOOGLE_async_queue_submit 1824 void vkQueueHostSyncGOOGLE( 1825 VkQueue queue, 1826 uint32_t needHostSync, 1827 uint32_t sequenceNumber); 1828 void vkQueueSubmitAsyncGOOGLE( 1829 VkQueue queue, 1830 uint32_t submitCount, 1831 const VkSubmitInfo* pSubmits, 1832 VkFence fence); 1833 void vkQueueWaitIdleAsyncGOOGLE( 1834 VkQueue queue); 1835 void vkQueueBindSparseAsyncGOOGLE( 1836 VkQueue queue, 1837 uint32_t bindInfoCount, 1838 const VkBindSparseInfo* pBindInfo, 1839 VkFence fence); 1840 #endif 1841 1842 private: 1843 class Impl; 1844 std::unique_ptr<Impl> mImpl; 1845 }; 1846 1847 } // namespace goldfish_vk 1848