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