1/* WARNING: This is auto-generated file. Do not modify, since changes will 2 * be lost! Modify the generating script instead. 3 * This file was generated by /scripts/gen_framework.py 4 */ 5 6struct VkBaseOutStructure 7{ 8 VkStructureType sType; 9 struct VkBaseOutStructure* pNext; 10}; 11 12struct VkBaseInStructure 13{ 14 VkStructureType sType; 15 const struct VkBaseInStructure* pNext; 16}; 17 18struct VkOffset2D 19{ 20 int32_t x; 21 int32_t y; 22}; 23 24struct VkOffset3D 25{ 26 int32_t x; 27 int32_t y; 28 int32_t z; 29}; 30 31struct VkExtent2D 32{ 33 uint32_t width; 34 uint32_t height; 35}; 36 37struct VkExtent3D 38{ 39 uint32_t width; 40 uint32_t height; 41 uint32_t depth; 42}; 43 44struct VkViewport 45{ 46 float x; 47 float y; 48 float width; 49 float height; 50 float minDepth; 51 float maxDepth; 52}; 53 54struct VkRect2D 55{ 56 VkOffset2D offset; 57 VkExtent2D extent; 58}; 59 60struct VkClearRect 61{ 62 VkRect2D rect; 63 uint32_t baseArrayLayer; 64 uint32_t layerCount; 65}; 66 67struct VkComponentMapping 68{ 69 VkComponentSwizzle r; 70 VkComponentSwizzle g; 71 VkComponentSwizzle b; 72 VkComponentSwizzle a; 73}; 74 75struct VkExtensionProperties 76{ 77 char extensionName[VK_MAX_EXTENSION_NAME_SIZE]; 78 uint32_t specVersion; 79}; 80 81struct VkLayerProperties 82{ 83 char layerName[VK_MAX_EXTENSION_NAME_SIZE]; 84 uint32_t specVersion; 85 uint32_t implementationVersion; 86 char description[VK_MAX_DESCRIPTION_SIZE]; 87}; 88 89struct VkApplicationInfo 90{ 91 VkStructureType sType; 92 const void* pNext; 93 const char* pApplicationName; 94 uint32_t applicationVersion; 95 const char* pEngineName; 96 uint32_t engineVersion; 97 uint32_t apiVersion; 98}; 99 100struct VkAllocationCallbacks 101{ 102 void* pUserData; 103 PFN_vkAllocationFunction pfnAllocation; 104 PFN_vkReallocationFunction pfnReallocation; 105 PFN_vkFreeFunction pfnFree; 106 PFN_vkInternalAllocationNotification pfnInternalAllocation; 107 PFN_vkInternalFreeNotification pfnInternalFree; 108}; 109 110struct VkDeviceQueueCreateInfo 111{ 112 VkStructureType sType; 113 const void* pNext; 114 VkDeviceQueueCreateFlags flags; 115 uint32_t queueFamilyIndex; 116 uint32_t queueCount; 117 const float* pQueuePriorities; 118}; 119 120struct VkInstanceCreateInfo 121{ 122 VkStructureType sType; 123 const void* pNext; 124 VkInstanceCreateFlags flags; 125 const VkApplicationInfo* pApplicationInfo; 126 uint32_t enabledLayerCount; 127 const char* const* ppEnabledLayerNames; 128 uint32_t enabledExtensionCount; 129 const char* const* ppEnabledExtensionNames; 130}; 131 132struct VkQueueFamilyProperties 133{ 134 VkQueueFlags queueFlags; 135 uint32_t queueCount; 136 uint32_t timestampValidBits; 137 VkExtent3D minImageTransferGranularity; 138}; 139 140struct VkMemoryAllocateInfo 141{ 142 VkStructureType sType; 143 const void* pNext; 144 VkDeviceSize allocationSize; 145 uint32_t memoryTypeIndex; 146}; 147 148struct VkMemoryRequirements 149{ 150 VkDeviceSize size; 151 VkDeviceSize alignment; 152 uint32_t memoryTypeBits; 153}; 154 155struct VkSparseImageFormatProperties 156{ 157 VkImageAspectFlags aspectMask; 158 VkExtent3D imageGranularity; 159 VkSparseImageFormatFlags flags; 160}; 161 162struct VkSparseImageMemoryRequirements 163{ 164 VkSparseImageFormatProperties formatProperties; 165 uint32_t imageMipTailFirstLod; 166 VkDeviceSize imageMipTailSize; 167 VkDeviceSize imageMipTailOffset; 168 VkDeviceSize imageMipTailStride; 169}; 170 171struct VkMemoryType 172{ 173 VkMemoryPropertyFlags propertyFlags; 174 uint32_t heapIndex; 175}; 176 177struct VkMemoryHeap 178{ 179 VkDeviceSize size; 180 VkMemoryHeapFlags flags; 181}; 182 183struct VkPhysicalDeviceMemoryProperties 184{ 185 uint32_t memoryTypeCount; 186 VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES]; 187 uint32_t memoryHeapCount; 188 VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS]; 189}; 190 191struct VkMappedMemoryRange 192{ 193 VkStructureType sType; 194 const void* pNext; 195 VkDeviceMemory memory; 196 VkDeviceSize offset; 197 VkDeviceSize size; 198}; 199 200struct VkFormatProperties 201{ 202 VkFormatFeatureFlags linearTilingFeatures; 203 VkFormatFeatureFlags optimalTilingFeatures; 204 VkFormatFeatureFlags bufferFeatures; 205}; 206 207struct VkImageFormatProperties 208{ 209 VkExtent3D maxExtent; 210 uint32_t maxMipLevels; 211 uint32_t maxArrayLayers; 212 VkSampleCountFlags sampleCounts; 213 VkDeviceSize maxResourceSize; 214}; 215 216struct VkDescriptorBufferInfo 217{ 218 VkBuffer buffer; 219 VkDeviceSize offset; 220 VkDeviceSize range; 221}; 222 223struct VkDescriptorImageInfo 224{ 225 VkSampler sampler; 226 VkImageView imageView; 227 VkImageLayout imageLayout; 228}; 229 230struct VkWriteDescriptorSet 231{ 232 VkStructureType sType; 233 const void* pNext; 234 VkDescriptorSet dstSet; 235 uint32_t dstBinding; 236 uint32_t dstArrayElement; 237 uint32_t descriptorCount; 238 VkDescriptorType descriptorType; 239 const VkDescriptorImageInfo* pImageInfo; 240 const VkDescriptorBufferInfo* pBufferInfo; 241 const VkBufferView* pTexelBufferView; 242}; 243 244struct VkCopyDescriptorSet 245{ 246 VkStructureType sType; 247 const void* pNext; 248 VkDescriptorSet srcSet; 249 uint32_t srcBinding; 250 uint32_t srcArrayElement; 251 VkDescriptorSet dstSet; 252 uint32_t dstBinding; 253 uint32_t dstArrayElement; 254 uint32_t descriptorCount; 255}; 256 257struct VkBufferCreateInfo 258{ 259 VkStructureType sType; 260 const void* pNext; 261 VkBufferCreateFlags flags; 262 VkDeviceSize size; 263 VkBufferUsageFlags usage; 264 VkSharingMode sharingMode; 265 uint32_t queueFamilyIndexCount; 266 const uint32_t* pQueueFamilyIndices; 267}; 268 269struct VkBufferViewCreateInfo 270{ 271 VkStructureType sType; 272 const void* pNext; 273 VkBufferViewCreateFlags flags; 274 VkBuffer buffer; 275 VkFormat format; 276 VkDeviceSize offset; 277 VkDeviceSize range; 278}; 279 280struct VkImageSubresource 281{ 282 VkImageAspectFlags aspectMask; 283 uint32_t mipLevel; 284 uint32_t arrayLayer; 285}; 286 287struct VkImageSubresourceLayers 288{ 289 VkImageAspectFlags aspectMask; 290 uint32_t mipLevel; 291 uint32_t baseArrayLayer; 292 uint32_t layerCount; 293}; 294 295struct VkImageSubresourceRange 296{ 297 VkImageAspectFlags aspectMask; 298 uint32_t baseMipLevel; 299 uint32_t levelCount; 300 uint32_t baseArrayLayer; 301 uint32_t layerCount; 302}; 303 304struct VkMemoryBarrier 305{ 306 VkStructureType sType; 307 const void* pNext; 308 VkAccessFlags srcAccessMask; 309 VkAccessFlags dstAccessMask; 310}; 311 312struct VkBufferMemoryBarrier 313{ 314 VkStructureType sType; 315 const void* pNext; 316 VkAccessFlags srcAccessMask; 317 VkAccessFlags dstAccessMask; 318 uint32_t srcQueueFamilyIndex; 319 uint32_t dstQueueFamilyIndex; 320 VkBuffer buffer; 321 VkDeviceSize offset; 322 VkDeviceSize size; 323}; 324 325struct VkImageMemoryBarrier 326{ 327 VkStructureType sType; 328 const void* pNext; 329 VkAccessFlags srcAccessMask; 330 VkAccessFlags dstAccessMask; 331 VkImageLayout oldLayout; 332 VkImageLayout newLayout; 333 uint32_t srcQueueFamilyIndex; 334 uint32_t dstQueueFamilyIndex; 335 VkImage image; 336 VkImageSubresourceRange subresourceRange; 337}; 338 339struct VkImageCreateInfo 340{ 341 VkStructureType sType; 342 const void* pNext; 343 VkImageCreateFlags flags; 344 VkImageType imageType; 345 VkFormat format; 346 VkExtent3D extent; 347 uint32_t mipLevels; 348 uint32_t arrayLayers; 349 VkSampleCountFlagBits samples; 350 VkImageTiling tiling; 351 VkImageUsageFlags usage; 352 VkSharingMode sharingMode; 353 uint32_t queueFamilyIndexCount; 354 const uint32_t* pQueueFamilyIndices; 355 VkImageLayout initialLayout; 356}; 357 358struct VkSubresourceLayout 359{ 360 VkDeviceSize offset; 361 VkDeviceSize size; 362 VkDeviceSize rowPitch; 363 VkDeviceSize arrayPitch; 364 VkDeviceSize depthPitch; 365}; 366 367struct VkImageViewCreateInfo 368{ 369 VkStructureType sType; 370 const void* pNext; 371 VkImageViewCreateFlags flags; 372 VkImage image; 373 VkImageViewType viewType; 374 VkFormat format; 375 VkComponentMapping components; 376 VkImageSubresourceRange subresourceRange; 377}; 378 379struct VkBufferCopy 380{ 381 VkDeviceSize srcOffset; 382 VkDeviceSize dstOffset; 383 VkDeviceSize size; 384}; 385 386struct VkSparseMemoryBind 387{ 388 VkDeviceSize resourceOffset; 389 VkDeviceSize size; 390 VkDeviceMemory memory; 391 VkDeviceSize memoryOffset; 392 VkSparseMemoryBindFlags flags; 393}; 394 395struct VkSparseImageMemoryBind 396{ 397 VkImageSubresource subresource; 398 VkOffset3D offset; 399 VkExtent3D extent; 400 VkDeviceMemory memory; 401 VkDeviceSize memoryOffset; 402 VkSparseMemoryBindFlags flags; 403}; 404 405struct VkSparseBufferMemoryBindInfo 406{ 407 VkBuffer buffer; 408 uint32_t bindCount; 409 const VkSparseMemoryBind* pBinds; 410}; 411 412struct VkSparseImageOpaqueMemoryBindInfo 413{ 414 VkImage image; 415 uint32_t bindCount; 416 const VkSparseMemoryBind* pBinds; 417}; 418 419struct VkSparseImageMemoryBindInfo 420{ 421 VkImage image; 422 uint32_t bindCount; 423 const VkSparseImageMemoryBind* pBinds; 424}; 425 426struct VkBindSparseInfo 427{ 428 VkStructureType sType; 429 const void* pNext; 430 uint32_t waitSemaphoreCount; 431 const VkSemaphore* pWaitSemaphores; 432 uint32_t bufferBindCount; 433 const VkSparseBufferMemoryBindInfo* pBufferBinds; 434 uint32_t imageOpaqueBindCount; 435 const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds; 436 uint32_t imageBindCount; 437 const VkSparseImageMemoryBindInfo* pImageBinds; 438 uint32_t signalSemaphoreCount; 439 const VkSemaphore* pSignalSemaphores; 440}; 441 442struct VkImageCopy 443{ 444 VkImageSubresourceLayers srcSubresource; 445 VkOffset3D srcOffset; 446 VkImageSubresourceLayers dstSubresource; 447 VkOffset3D dstOffset; 448 VkExtent3D extent; 449}; 450 451struct VkImageBlit 452{ 453 VkImageSubresourceLayers srcSubresource; 454 VkOffset3D srcOffsets[2]; 455 VkImageSubresourceLayers dstSubresource; 456 VkOffset3D dstOffsets[2]; 457}; 458 459struct VkBufferImageCopy 460{ 461 VkDeviceSize bufferOffset; 462 uint32_t bufferRowLength; 463 uint32_t bufferImageHeight; 464 VkImageSubresourceLayers imageSubresource; 465 VkOffset3D imageOffset; 466 VkExtent3D imageExtent; 467}; 468 469struct VkCopyMemoryIndirectCommandNV 470{ 471 VkDeviceAddress srcAddress; 472 VkDeviceAddress dstAddress; 473 VkDeviceSize size; 474}; 475 476struct VkCopyMemoryToImageIndirectCommandNV 477{ 478 VkDeviceAddress srcAddress; 479 uint32_t bufferRowLength; 480 uint32_t bufferImageHeight; 481 VkImageSubresourceLayers imageSubresource; 482 VkOffset3D imageOffset; 483 VkExtent3D imageExtent; 484}; 485 486struct VkImageResolve 487{ 488 VkImageSubresourceLayers srcSubresource; 489 VkOffset3D srcOffset; 490 VkImageSubresourceLayers dstSubresource; 491 VkOffset3D dstOffset; 492 VkExtent3D extent; 493}; 494 495struct VkShaderModuleCreateInfo 496{ 497 VkStructureType sType; 498 const void* pNext; 499 VkShaderModuleCreateFlags flags; 500 size_t codeSize; 501 const uint32_t* pCode; 502}; 503 504struct VkDescriptorSetLayoutBinding 505{ 506 uint32_t binding; 507 VkDescriptorType descriptorType; 508 uint32_t descriptorCount; 509 VkShaderStageFlags stageFlags; 510 const VkSampler* pImmutableSamplers; 511}; 512 513struct VkDescriptorSetLayoutCreateInfo 514{ 515 VkStructureType sType; 516 const void* pNext; 517 VkDescriptorSetLayoutCreateFlags flags; 518 uint32_t bindingCount; 519 const VkDescriptorSetLayoutBinding* pBindings; 520}; 521 522struct VkDescriptorPoolSize 523{ 524 VkDescriptorType type; 525 uint32_t descriptorCount; 526}; 527 528struct VkDescriptorPoolCreateInfo 529{ 530 VkStructureType sType; 531 const void* pNext; 532 VkDescriptorPoolCreateFlags flags; 533 uint32_t maxSets; 534 uint32_t poolSizeCount; 535 const VkDescriptorPoolSize* pPoolSizes; 536}; 537 538struct VkDescriptorSetAllocateInfo 539{ 540 VkStructureType sType; 541 const void* pNext; 542 VkDescriptorPool descriptorPool; 543 uint32_t descriptorSetCount; 544 const VkDescriptorSetLayout* pSetLayouts; 545}; 546 547struct VkSpecializationMapEntry 548{ 549 uint32_t constantID; 550 uint32_t offset; 551 size_t size; 552}; 553 554struct VkSpecializationInfo 555{ 556 uint32_t mapEntryCount; 557 const VkSpecializationMapEntry* pMapEntries; 558 size_t dataSize; 559 const void* pData; 560}; 561 562struct VkPipelineShaderStageCreateInfo 563{ 564 VkStructureType sType; 565 const void* pNext; 566 VkPipelineShaderStageCreateFlags flags; 567 VkShaderStageFlagBits stage; 568 VkShaderModule module; 569 const char* pName; 570 const VkSpecializationInfo* pSpecializationInfo; 571}; 572 573struct VkComputePipelineCreateInfo 574{ 575 VkStructureType sType; 576 const void* pNext; 577 VkPipelineCreateFlags flags; 578 VkPipelineShaderStageCreateInfo stage; 579 VkPipelineLayout layout; 580 VkPipeline basePipelineHandle; 581 int32_t basePipelineIndex; 582}; 583 584struct VkVertexInputBindingDescription 585{ 586 uint32_t binding; 587 uint32_t stride; 588 VkVertexInputRate inputRate; 589}; 590 591struct VkVertexInputAttributeDescription 592{ 593 uint32_t location; 594 uint32_t binding; 595 VkFormat format; 596 uint32_t offset; 597}; 598 599struct VkPipelineVertexInputStateCreateInfo 600{ 601 VkStructureType sType; 602 const void* pNext; 603 VkPipelineVertexInputStateCreateFlags flags; 604 uint32_t vertexBindingDescriptionCount; 605 const VkVertexInputBindingDescription* pVertexBindingDescriptions; 606 uint32_t vertexAttributeDescriptionCount; 607 const VkVertexInputAttributeDescription* pVertexAttributeDescriptions; 608}; 609 610struct VkPipelineInputAssemblyStateCreateInfo 611{ 612 VkStructureType sType; 613 const void* pNext; 614 VkPipelineInputAssemblyStateCreateFlags flags; 615 VkPrimitiveTopology topology; 616 VkBool32 primitiveRestartEnable; 617}; 618 619struct VkPipelineTessellationStateCreateInfo 620{ 621 VkStructureType sType; 622 const void* pNext; 623 VkPipelineTessellationStateCreateFlags flags; 624 uint32_t patchControlPoints; 625}; 626 627struct VkPipelineViewportStateCreateInfo 628{ 629 VkStructureType sType; 630 const void* pNext; 631 VkPipelineViewportStateCreateFlags flags; 632 uint32_t viewportCount; 633 const VkViewport* pViewports; 634 uint32_t scissorCount; 635 const VkRect2D* pScissors; 636}; 637 638struct VkPipelineRasterizationStateCreateInfo 639{ 640 VkStructureType sType; 641 const void* pNext; 642 VkPipelineRasterizationStateCreateFlags flags; 643 VkBool32 depthClampEnable; 644 VkBool32 rasterizerDiscardEnable; 645 VkPolygonMode polygonMode; 646 VkCullModeFlags cullMode; 647 VkFrontFace frontFace; 648 VkBool32 depthBiasEnable; 649 float depthBiasConstantFactor; 650 float depthBiasClamp; 651 float depthBiasSlopeFactor; 652 float lineWidth; 653}; 654 655struct VkPipelineMultisampleStateCreateInfo 656{ 657 VkStructureType sType; 658 const void* pNext; 659 VkPipelineMultisampleStateCreateFlags flags; 660 VkSampleCountFlagBits rasterizationSamples; 661 VkBool32 sampleShadingEnable; 662 float minSampleShading; 663 const VkSampleMask* pSampleMask; 664 VkBool32 alphaToCoverageEnable; 665 VkBool32 alphaToOneEnable; 666}; 667 668struct VkPipelineColorBlendAttachmentState 669{ 670 VkBool32 blendEnable; 671 VkBlendFactor srcColorBlendFactor; 672 VkBlendFactor dstColorBlendFactor; 673 VkBlendOp colorBlendOp; 674 VkBlendFactor srcAlphaBlendFactor; 675 VkBlendFactor dstAlphaBlendFactor; 676 VkBlendOp alphaBlendOp; 677 VkColorComponentFlags colorWriteMask; 678}; 679 680struct VkPipelineColorBlendStateCreateInfo 681{ 682 VkStructureType sType; 683 const void* pNext; 684 VkPipelineColorBlendStateCreateFlags flags; 685 VkBool32 logicOpEnable; 686 VkLogicOp logicOp; 687 uint32_t attachmentCount; 688 const VkPipelineColorBlendAttachmentState* pAttachments; 689 float blendConstants[4]; 690}; 691 692struct VkPipelineDynamicStateCreateInfo 693{ 694 VkStructureType sType; 695 const void* pNext; 696 VkPipelineDynamicStateCreateFlags flags; 697 uint32_t dynamicStateCount; 698 const VkDynamicState* pDynamicStates; 699}; 700 701struct VkStencilOpState 702{ 703 VkStencilOp failOp; 704 VkStencilOp passOp; 705 VkStencilOp depthFailOp; 706 VkCompareOp compareOp; 707 uint32_t compareMask; 708 uint32_t writeMask; 709 uint32_t reference; 710}; 711 712struct VkPipelineDepthStencilStateCreateInfo 713{ 714 VkStructureType sType; 715 const void* pNext; 716 VkPipelineDepthStencilStateCreateFlags flags; 717 VkBool32 depthTestEnable; 718 VkBool32 depthWriteEnable; 719 VkCompareOp depthCompareOp; 720 VkBool32 depthBoundsTestEnable; 721 VkBool32 stencilTestEnable; 722 VkStencilOpState front; 723 VkStencilOpState back; 724 float minDepthBounds; 725 float maxDepthBounds; 726}; 727 728struct VkGraphicsPipelineCreateInfo 729{ 730 VkStructureType sType; 731 const void* pNext; 732 VkPipelineCreateFlags flags; 733 uint32_t stageCount; 734 const VkPipelineShaderStageCreateInfo* pStages; 735 const VkPipelineVertexInputStateCreateInfo* pVertexInputState; 736 const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState; 737 const VkPipelineTessellationStateCreateInfo* pTessellationState; 738 const VkPipelineViewportStateCreateInfo* pViewportState; 739 const VkPipelineRasterizationStateCreateInfo* pRasterizationState; 740 const VkPipelineMultisampleStateCreateInfo* pMultisampleState; 741 const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState; 742 const VkPipelineColorBlendStateCreateInfo* pColorBlendState; 743 const VkPipelineDynamicStateCreateInfo* pDynamicState; 744 VkPipelineLayout layout; 745 VkRenderPass renderPass; 746 uint32_t subpass; 747 VkPipeline basePipelineHandle; 748 int32_t basePipelineIndex; 749}; 750 751struct VkPipelineCacheCreateInfo 752{ 753 VkStructureType sType; 754 const void* pNext; 755 VkPipelineCacheCreateFlags flags; 756 size_t initialDataSize; 757 const void* pInitialData; 758}; 759 760struct VkPipelineCacheHeaderVersionOne 761{ 762 uint32_t headerSize; 763 VkPipelineCacheHeaderVersion headerVersion; 764 uint32_t vendorID; 765 uint32_t deviceID; 766 uint8_t pipelineCacheUUID[VK_UUID_SIZE]; 767}; 768 769struct VkPushConstantRange 770{ 771 VkShaderStageFlags stageFlags; 772 uint32_t offset; 773 uint32_t size; 774}; 775 776struct VkPipelineLayoutCreateInfo 777{ 778 VkStructureType sType; 779 const void* pNext; 780 VkPipelineLayoutCreateFlags flags; 781 uint32_t setLayoutCount; 782 const VkDescriptorSetLayout* pSetLayouts; 783 uint32_t pushConstantRangeCount; 784 const VkPushConstantRange* pPushConstantRanges; 785}; 786 787struct VkSamplerCreateInfo 788{ 789 VkStructureType sType; 790 const void* pNext; 791 VkSamplerCreateFlags flags; 792 VkFilter magFilter; 793 VkFilter minFilter; 794 VkSamplerMipmapMode mipmapMode; 795 VkSamplerAddressMode addressModeU; 796 VkSamplerAddressMode addressModeV; 797 VkSamplerAddressMode addressModeW; 798 float mipLodBias; 799 VkBool32 anisotropyEnable; 800 float maxAnisotropy; 801 VkBool32 compareEnable; 802 VkCompareOp compareOp; 803 float minLod; 804 float maxLod; 805 VkBorderColor borderColor; 806 VkBool32 unnormalizedCoordinates; 807}; 808 809struct VkCommandPoolCreateInfo 810{ 811 VkStructureType sType; 812 const void* pNext; 813 VkCommandPoolCreateFlags flags; 814 uint32_t queueFamilyIndex; 815}; 816 817struct VkCommandBufferAllocateInfo 818{ 819 VkStructureType sType; 820 const void* pNext; 821 VkCommandPool commandPool; 822 VkCommandBufferLevel level; 823 uint32_t commandBufferCount; 824}; 825 826struct VkCommandBufferInheritanceInfo 827{ 828 VkStructureType sType; 829 const void* pNext; 830 VkRenderPass renderPass; 831 uint32_t subpass; 832 VkFramebuffer framebuffer; 833 VkBool32 occlusionQueryEnable; 834 VkQueryControlFlags queryFlags; 835 VkQueryPipelineStatisticFlags pipelineStatistics; 836}; 837 838struct VkCommandBufferBeginInfo 839{ 840 VkStructureType sType; 841 const void* pNext; 842 VkCommandBufferUsageFlags flags; 843 const VkCommandBufferInheritanceInfo* pInheritanceInfo; 844}; 845 846union VkClearColorValue 847{ 848 float float32[4]; 849 int32_t int32[4]; 850 uint32_t uint32[4]; 851}; 852 853struct VkClearDepthStencilValue 854{ 855 float depth; 856 uint32_t stencil; 857}; 858 859union VkClearValue 860{ 861 VkClearColorValue color; 862 VkClearDepthStencilValue depthStencil; 863}; 864 865struct VkRenderPassBeginInfo 866{ 867 VkStructureType sType; 868 const void* pNext; 869 VkRenderPass renderPass; 870 VkFramebuffer framebuffer; 871 VkRect2D renderArea; 872 uint32_t clearValueCount; 873 const VkClearValue* pClearValues; 874}; 875 876struct VkClearAttachment 877{ 878 VkImageAspectFlags aspectMask; 879 uint32_t colorAttachment; 880 VkClearValue clearValue; 881}; 882 883struct VkAttachmentDescription 884{ 885 VkAttachmentDescriptionFlags flags; 886 VkFormat format; 887 VkSampleCountFlagBits samples; 888 VkAttachmentLoadOp loadOp; 889 VkAttachmentStoreOp storeOp; 890 VkAttachmentLoadOp stencilLoadOp; 891 VkAttachmentStoreOp stencilStoreOp; 892 VkImageLayout initialLayout; 893 VkImageLayout finalLayout; 894}; 895 896struct VkAttachmentReference 897{ 898 uint32_t attachment; 899 VkImageLayout layout; 900}; 901 902struct VkSubpassDescription 903{ 904 VkSubpassDescriptionFlags flags; 905 VkPipelineBindPoint pipelineBindPoint; 906 uint32_t inputAttachmentCount; 907 const VkAttachmentReference* pInputAttachments; 908 uint32_t colorAttachmentCount; 909 const VkAttachmentReference* pColorAttachments; 910 const VkAttachmentReference* pResolveAttachments; 911 const VkAttachmentReference* pDepthStencilAttachment; 912 uint32_t preserveAttachmentCount; 913 const uint32_t* pPreserveAttachments; 914}; 915 916struct VkSubpassDependency 917{ 918 uint32_t srcSubpass; 919 uint32_t dstSubpass; 920 VkPipelineStageFlags srcStageMask; 921 VkPipelineStageFlags dstStageMask; 922 VkAccessFlags srcAccessMask; 923 VkAccessFlags dstAccessMask; 924 VkDependencyFlags dependencyFlags; 925}; 926 927struct VkRenderPassCreateInfo 928{ 929 VkStructureType sType; 930 const void* pNext; 931 VkRenderPassCreateFlags flags; 932 uint32_t attachmentCount; 933 const VkAttachmentDescription* pAttachments; 934 uint32_t subpassCount; 935 const VkSubpassDescription* pSubpasses; 936 uint32_t dependencyCount; 937 const VkSubpassDependency* pDependencies; 938}; 939 940struct VkEventCreateInfo 941{ 942 VkStructureType sType; 943 const void* pNext; 944 VkEventCreateFlags flags; 945}; 946 947struct VkFenceCreateInfo 948{ 949 VkStructureType sType; 950 const void* pNext; 951 VkFenceCreateFlags flags; 952}; 953 954struct VkPhysicalDeviceFeatures 955{ 956 VkBool32 robustBufferAccess; 957 VkBool32 fullDrawIndexUint32; 958 VkBool32 imageCubeArray; 959 VkBool32 independentBlend; 960 VkBool32 geometryShader; 961 VkBool32 tessellationShader; 962 VkBool32 sampleRateShading; 963 VkBool32 dualSrcBlend; 964 VkBool32 logicOp; 965 VkBool32 multiDrawIndirect; 966 VkBool32 drawIndirectFirstInstance; 967 VkBool32 depthClamp; 968 VkBool32 depthBiasClamp; 969 VkBool32 fillModeNonSolid; 970 VkBool32 depthBounds; 971 VkBool32 wideLines; 972 VkBool32 largePoints; 973 VkBool32 alphaToOne; 974 VkBool32 multiViewport; 975 VkBool32 samplerAnisotropy; 976 VkBool32 textureCompressionETC2; 977 VkBool32 textureCompressionASTC_LDR; 978 VkBool32 textureCompressionBC; 979 VkBool32 occlusionQueryPrecise; 980 VkBool32 pipelineStatisticsQuery; 981 VkBool32 vertexPipelineStoresAndAtomics; 982 VkBool32 fragmentStoresAndAtomics; 983 VkBool32 shaderTessellationAndGeometryPointSize; 984 VkBool32 shaderImageGatherExtended; 985 VkBool32 shaderStorageImageExtendedFormats; 986 VkBool32 shaderStorageImageMultisample; 987 VkBool32 shaderStorageImageReadWithoutFormat; 988 VkBool32 shaderStorageImageWriteWithoutFormat; 989 VkBool32 shaderUniformBufferArrayDynamicIndexing; 990 VkBool32 shaderSampledImageArrayDynamicIndexing; 991 VkBool32 shaderStorageBufferArrayDynamicIndexing; 992 VkBool32 shaderStorageImageArrayDynamicIndexing; 993 VkBool32 shaderClipDistance; 994 VkBool32 shaderCullDistance; 995 VkBool32 shaderFloat64; 996 VkBool32 shaderInt64; 997 VkBool32 shaderInt16; 998 VkBool32 shaderResourceResidency; 999 VkBool32 shaderResourceMinLod; 1000 VkBool32 sparseBinding; 1001 VkBool32 sparseResidencyBuffer; 1002 VkBool32 sparseResidencyImage2D; 1003 VkBool32 sparseResidencyImage3D; 1004 VkBool32 sparseResidency2Samples; 1005 VkBool32 sparseResidency4Samples; 1006 VkBool32 sparseResidency8Samples; 1007 VkBool32 sparseResidency16Samples; 1008 VkBool32 sparseResidencyAliased; 1009 VkBool32 variableMultisampleRate; 1010 VkBool32 inheritedQueries; 1011}; 1012 1013struct VkDeviceCreateInfo 1014{ 1015 VkStructureType sType; 1016 const void* pNext; 1017 VkDeviceCreateFlags flags; 1018 uint32_t queueCreateInfoCount; 1019 const VkDeviceQueueCreateInfo* pQueueCreateInfos; 1020 uint32_t enabledLayerCount; 1021 const char* const* ppEnabledLayerNames; 1022 uint32_t enabledExtensionCount; 1023 const char* const* ppEnabledExtensionNames; 1024 const VkPhysicalDeviceFeatures* pEnabledFeatures; 1025}; 1026 1027struct VkPhysicalDeviceSparseProperties 1028{ 1029 VkBool32 residencyStandard2DBlockShape; 1030 VkBool32 residencyStandard2DMultisampleBlockShape; 1031 VkBool32 residencyStandard3DBlockShape; 1032 VkBool32 residencyAlignedMipSize; 1033 VkBool32 residencyNonResidentStrict; 1034}; 1035 1036struct VkPhysicalDeviceLimits 1037{ 1038 uint32_t maxImageDimension1D; 1039 uint32_t maxImageDimension2D; 1040 uint32_t maxImageDimension3D; 1041 uint32_t maxImageDimensionCube; 1042 uint32_t maxImageArrayLayers; 1043 uint32_t maxTexelBufferElements; 1044 uint32_t maxUniformBufferRange; 1045 uint32_t maxStorageBufferRange; 1046 uint32_t maxPushConstantsSize; 1047 uint32_t maxMemoryAllocationCount; 1048 uint32_t maxSamplerAllocationCount; 1049 VkDeviceSize bufferImageGranularity; 1050 VkDeviceSize sparseAddressSpaceSize; 1051 uint32_t maxBoundDescriptorSets; 1052 uint32_t maxPerStageDescriptorSamplers; 1053 uint32_t maxPerStageDescriptorUniformBuffers; 1054 uint32_t maxPerStageDescriptorStorageBuffers; 1055 uint32_t maxPerStageDescriptorSampledImages; 1056 uint32_t maxPerStageDescriptorStorageImages; 1057 uint32_t maxPerStageDescriptorInputAttachments; 1058 uint32_t maxPerStageResources; 1059 uint32_t maxDescriptorSetSamplers; 1060 uint32_t maxDescriptorSetUniformBuffers; 1061 uint32_t maxDescriptorSetUniformBuffersDynamic; 1062 uint32_t maxDescriptorSetStorageBuffers; 1063 uint32_t maxDescriptorSetStorageBuffersDynamic; 1064 uint32_t maxDescriptorSetSampledImages; 1065 uint32_t maxDescriptorSetStorageImages; 1066 uint32_t maxDescriptorSetInputAttachments; 1067 uint32_t maxVertexInputAttributes; 1068 uint32_t maxVertexInputBindings; 1069 uint32_t maxVertexInputAttributeOffset; 1070 uint32_t maxVertexInputBindingStride; 1071 uint32_t maxVertexOutputComponents; 1072 uint32_t maxTessellationGenerationLevel; 1073 uint32_t maxTessellationPatchSize; 1074 uint32_t maxTessellationControlPerVertexInputComponents; 1075 uint32_t maxTessellationControlPerVertexOutputComponents; 1076 uint32_t maxTessellationControlPerPatchOutputComponents; 1077 uint32_t maxTessellationControlTotalOutputComponents; 1078 uint32_t maxTessellationEvaluationInputComponents; 1079 uint32_t maxTessellationEvaluationOutputComponents; 1080 uint32_t maxGeometryShaderInvocations; 1081 uint32_t maxGeometryInputComponents; 1082 uint32_t maxGeometryOutputComponents; 1083 uint32_t maxGeometryOutputVertices; 1084 uint32_t maxGeometryTotalOutputComponents; 1085 uint32_t maxFragmentInputComponents; 1086 uint32_t maxFragmentOutputAttachments; 1087 uint32_t maxFragmentDualSrcAttachments; 1088 uint32_t maxFragmentCombinedOutputResources; 1089 uint32_t maxComputeSharedMemorySize; 1090 uint32_t maxComputeWorkGroupCount[3]; 1091 uint32_t maxComputeWorkGroupInvocations; 1092 uint32_t maxComputeWorkGroupSize[3]; 1093 uint32_t subPixelPrecisionBits; 1094 uint32_t subTexelPrecisionBits; 1095 uint32_t mipmapPrecisionBits; 1096 uint32_t maxDrawIndexedIndexValue; 1097 uint32_t maxDrawIndirectCount; 1098 float maxSamplerLodBias; 1099 float maxSamplerAnisotropy; 1100 uint32_t maxViewports; 1101 uint32_t maxViewportDimensions[2]; 1102 float viewportBoundsRange[2]; 1103 uint32_t viewportSubPixelBits; 1104 size_t minMemoryMapAlignment; 1105 VkDeviceSize minTexelBufferOffsetAlignment; 1106 VkDeviceSize minUniformBufferOffsetAlignment; 1107 VkDeviceSize minStorageBufferOffsetAlignment; 1108 int32_t minTexelOffset; 1109 uint32_t maxTexelOffset; 1110 int32_t minTexelGatherOffset; 1111 uint32_t maxTexelGatherOffset; 1112 float minInterpolationOffset; 1113 float maxInterpolationOffset; 1114 uint32_t subPixelInterpolationOffsetBits; 1115 uint32_t maxFramebufferWidth; 1116 uint32_t maxFramebufferHeight; 1117 uint32_t maxFramebufferLayers; 1118 VkSampleCountFlags framebufferColorSampleCounts; 1119 VkSampleCountFlags framebufferDepthSampleCounts; 1120 VkSampleCountFlags framebufferStencilSampleCounts; 1121 VkSampleCountFlags framebufferNoAttachmentsSampleCounts; 1122 uint32_t maxColorAttachments; 1123 VkSampleCountFlags sampledImageColorSampleCounts; 1124 VkSampleCountFlags sampledImageIntegerSampleCounts; 1125 VkSampleCountFlags sampledImageDepthSampleCounts; 1126 VkSampleCountFlags sampledImageStencilSampleCounts; 1127 VkSampleCountFlags storageImageSampleCounts; 1128 uint32_t maxSampleMaskWords; 1129 VkBool32 timestampComputeAndGraphics; 1130 float timestampPeriod; 1131 uint32_t maxClipDistances; 1132 uint32_t maxCullDistances; 1133 uint32_t maxCombinedClipAndCullDistances; 1134 uint32_t discreteQueuePriorities; 1135 float pointSizeRange[2]; 1136 float lineWidthRange[2]; 1137 float pointSizeGranularity; 1138 float lineWidthGranularity; 1139 VkBool32 strictLines; 1140 VkBool32 standardSampleLocations; 1141 VkDeviceSize optimalBufferCopyOffsetAlignment; 1142 VkDeviceSize optimalBufferCopyRowPitchAlignment; 1143 VkDeviceSize nonCoherentAtomSize; 1144}; 1145 1146struct VkPhysicalDeviceProperties 1147{ 1148 uint32_t apiVersion; 1149 uint32_t driverVersion; 1150 uint32_t vendorID; 1151 uint32_t deviceID; 1152 VkPhysicalDeviceType deviceType; 1153 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE]; 1154 uint8_t pipelineCacheUUID[VK_UUID_SIZE]; 1155 VkPhysicalDeviceLimits limits; 1156 VkPhysicalDeviceSparseProperties sparseProperties; 1157}; 1158 1159struct VkSemaphoreCreateInfo 1160{ 1161 VkStructureType sType; 1162 const void* pNext; 1163 VkSemaphoreCreateFlags flags; 1164}; 1165 1166struct VkQueryPoolCreateInfo 1167{ 1168 VkStructureType sType; 1169 const void* pNext; 1170 VkQueryPoolCreateFlags flags; 1171 VkQueryType queryType; 1172 uint32_t queryCount; 1173 VkQueryPipelineStatisticFlags pipelineStatistics; 1174}; 1175 1176struct VkFramebufferCreateInfo 1177{ 1178 VkStructureType sType; 1179 const void* pNext; 1180 VkFramebufferCreateFlags flags; 1181 VkRenderPass renderPass; 1182 uint32_t attachmentCount; 1183 const VkImageView* pAttachments; 1184 uint32_t width; 1185 uint32_t height; 1186 uint32_t layers; 1187}; 1188 1189struct VkDrawIndirectCommand 1190{ 1191 uint32_t vertexCount; 1192 uint32_t instanceCount; 1193 uint32_t firstVertex; 1194 uint32_t firstInstance; 1195}; 1196 1197struct VkDrawIndexedIndirectCommand 1198{ 1199 uint32_t indexCount; 1200 uint32_t instanceCount; 1201 uint32_t firstIndex; 1202 int32_t vertexOffset; 1203 uint32_t firstInstance; 1204}; 1205 1206struct VkDispatchIndirectCommand 1207{ 1208 uint32_t x; 1209 uint32_t y; 1210 uint32_t z; 1211}; 1212 1213struct VkMultiDrawInfoEXT 1214{ 1215 uint32_t firstVertex; 1216 uint32_t vertexCount; 1217}; 1218 1219struct VkMultiDrawIndexedInfoEXT 1220{ 1221 uint32_t firstIndex; 1222 uint32_t indexCount; 1223 int32_t vertexOffset; 1224}; 1225 1226struct VkSubmitInfo 1227{ 1228 VkStructureType sType; 1229 const void* pNext; 1230 uint32_t waitSemaphoreCount; 1231 const VkSemaphore* pWaitSemaphores; 1232 const VkPipelineStageFlags* pWaitDstStageMask; 1233 uint32_t commandBufferCount; 1234 const VkCommandBuffer* pCommandBuffers; 1235 uint32_t signalSemaphoreCount; 1236 const VkSemaphore* pSignalSemaphores; 1237}; 1238 1239struct VkDisplayPropertiesKHR 1240{ 1241 VkDisplayKHR display; 1242 const char* displayName; 1243 VkExtent2D physicalDimensions; 1244 VkExtent2D physicalResolution; 1245 VkSurfaceTransformFlagsKHR supportedTransforms; 1246 VkBool32 planeReorderPossible; 1247 VkBool32 persistentContent; 1248}; 1249 1250struct VkDisplayPlanePropertiesKHR 1251{ 1252 VkDisplayKHR currentDisplay; 1253 uint32_t currentStackIndex; 1254}; 1255 1256struct VkDisplayModeParametersKHR 1257{ 1258 VkExtent2D visibleRegion; 1259 uint32_t refreshRate; 1260}; 1261 1262struct VkDisplayModePropertiesKHR 1263{ 1264 VkDisplayModeKHR displayMode; 1265 VkDisplayModeParametersKHR parameters; 1266}; 1267 1268struct VkDisplayModeCreateInfoKHR 1269{ 1270 VkStructureType sType; 1271 const void* pNext; 1272 VkDisplayModeCreateFlagsKHR flags; 1273 VkDisplayModeParametersKHR parameters; 1274}; 1275 1276struct VkDisplayPlaneCapabilitiesKHR 1277{ 1278 VkDisplayPlaneAlphaFlagsKHR supportedAlpha; 1279 VkOffset2D minSrcPosition; 1280 VkOffset2D maxSrcPosition; 1281 VkExtent2D minSrcExtent; 1282 VkExtent2D maxSrcExtent; 1283 VkOffset2D minDstPosition; 1284 VkOffset2D maxDstPosition; 1285 VkExtent2D minDstExtent; 1286 VkExtent2D maxDstExtent; 1287}; 1288 1289struct VkDisplaySurfaceCreateInfoKHR 1290{ 1291 VkStructureType sType; 1292 const void* pNext; 1293 VkDisplaySurfaceCreateFlagsKHR flags; 1294 VkDisplayModeKHR displayMode; 1295 uint32_t planeIndex; 1296 uint32_t planeStackIndex; 1297 VkSurfaceTransformFlagBitsKHR transform; 1298 float globalAlpha; 1299 VkDisplayPlaneAlphaFlagBitsKHR alphaMode; 1300 VkExtent2D imageExtent; 1301}; 1302 1303struct VkDisplayPresentInfoKHR 1304{ 1305 VkStructureType sType; 1306 const void* pNext; 1307 VkRect2D srcRect; 1308 VkRect2D dstRect; 1309 VkBool32 persistent; 1310}; 1311 1312struct VkSurfaceCapabilitiesKHR 1313{ 1314 uint32_t minImageCount; 1315 uint32_t maxImageCount; 1316 VkExtent2D currentExtent; 1317 VkExtent2D minImageExtent; 1318 VkExtent2D maxImageExtent; 1319 uint32_t maxImageArrayLayers; 1320 VkSurfaceTransformFlagsKHR supportedTransforms; 1321 VkSurfaceTransformFlagBitsKHR currentTransform; 1322 VkCompositeAlphaFlagsKHR supportedCompositeAlpha; 1323 VkImageUsageFlags supportedUsageFlags; 1324}; 1325 1326struct VkAndroidSurfaceCreateInfoKHR 1327{ 1328 VkStructureType sType; 1329 const void* pNext; 1330 VkAndroidSurfaceCreateFlagsKHR flags; 1331 struct pt::AndroidNativeWindowPtr window; 1332}; 1333 1334struct VkViSurfaceCreateInfoNN 1335{ 1336 VkStructureType sType; 1337 const void* pNext; 1338 VkViSurfaceCreateFlagsNN flags; 1339 void* window; 1340}; 1341 1342struct VkWaylandSurfaceCreateInfoKHR 1343{ 1344 VkStructureType sType; 1345 const void* pNext; 1346 VkWaylandSurfaceCreateFlagsKHR flags; 1347 pt::WaylandDisplayPtr display; 1348 pt::WaylandSurfacePtr surface; 1349}; 1350 1351struct VkWin32SurfaceCreateInfoKHR 1352{ 1353 VkStructureType sType; 1354 const void* pNext; 1355 VkWin32SurfaceCreateFlagsKHR flags; 1356 pt::Win32InstanceHandle hinstance; 1357 pt::Win32WindowHandle hwnd; 1358}; 1359 1360struct VkXlibSurfaceCreateInfoKHR 1361{ 1362 VkStructureType sType; 1363 const void* pNext; 1364 VkXlibSurfaceCreateFlagsKHR flags; 1365 pt::XlibDisplayPtr dpy; 1366 pt::XlibWindow window; 1367}; 1368 1369struct VkXcbSurfaceCreateInfoKHR 1370{ 1371 VkStructureType sType; 1372 const void* pNext; 1373 VkXcbSurfaceCreateFlagsKHR flags; 1374 pt::XcbConnectionPtr connection; 1375 pt::XcbWindow window; 1376}; 1377 1378struct VkImagePipeSurfaceCreateInfoFUCHSIA 1379{ 1380 VkStructureType sType; 1381 const void* pNext; 1382 VkImagePipeSurfaceCreateFlagsFUCHSIA flags; 1383 pt::zx_handle_t imagePipeHandle; 1384}; 1385 1386struct VkStreamDescriptorSurfaceCreateInfoGGP 1387{ 1388 VkStructureType sType; 1389 const void* pNext; 1390 VkStreamDescriptorSurfaceCreateFlagsGGP flags; 1391 pt::GgpStreamDescriptor streamDescriptor; 1392}; 1393 1394struct VkScreenSurfaceCreateInfoQNX 1395{ 1396 VkStructureType sType; 1397 const void* pNext; 1398 VkScreenSurfaceCreateFlagsQNX flags; 1399 pt::QNXScreenContextPtr context; 1400 pt::QNXScreenWindowPtr window; 1401}; 1402 1403struct VkOHOSSurfaceCreateInfoOpenHarmony 1404{ 1405 VkStructureType sType; 1406 const void* pNext; 1407 VkOHOSSurfaceCreateFlagsOpenHarmony flags; 1408 struct pt::OhosNativeWindowPtr window; 1409}; 1410 1411struct VkOHOSNativeBufferPropertiesOpenHarmony 1412{ 1413 VkStructureType sType; 1414 const void* pNext; 1415 VkDeviceSize allocationSize; 1416 uint32_t memoryTypeBits; 1417}; 1418 1419struct VkSurfaceFormatKHR 1420{ 1421 VkFormat format; 1422 VkColorSpaceKHR colorSpace; 1423}; 1424 1425struct VkSwapchainCreateInfoKHR 1426{ 1427 VkStructureType sType; 1428 const void* pNext; 1429 VkSwapchainCreateFlagsKHR flags; 1430 VkSurfaceKHR surface; 1431 uint32_t minImageCount; 1432 VkFormat imageFormat; 1433 VkColorSpaceKHR imageColorSpace; 1434 VkExtent2D imageExtent; 1435 uint32_t imageArrayLayers; 1436 VkImageUsageFlags imageUsage; 1437 VkSharingMode imageSharingMode; 1438 uint32_t queueFamilyIndexCount; 1439 const uint32_t* pQueueFamilyIndices; 1440 VkSurfaceTransformFlagBitsKHR preTransform; 1441 VkCompositeAlphaFlagBitsKHR compositeAlpha; 1442 VkPresentModeKHR presentMode; 1443 VkBool32 clipped; 1444 VkSwapchainKHR oldSwapchain; 1445}; 1446 1447struct VkPresentInfoKHR 1448{ 1449 VkStructureType sType; 1450 const void* pNext; 1451 uint32_t waitSemaphoreCount; 1452 const VkSemaphore* pWaitSemaphores; 1453 uint32_t swapchainCount; 1454 const VkSwapchainKHR* pSwapchains; 1455 const uint32_t* pImageIndices; 1456 VkResult* pResults; 1457}; 1458 1459struct VkDebugReportCallbackCreateInfoEXT 1460{ 1461 VkStructureType sType; 1462 const void* pNext; 1463 VkDebugReportFlagsEXT flags; 1464 PFN_vkDebugReportCallbackEXT pfnCallback; 1465 void* pUserData; 1466}; 1467 1468struct VkValidationFlagsEXT 1469{ 1470 VkStructureType sType; 1471 const void* pNext; 1472 uint32_t disabledValidationCheckCount; 1473 const VkValidationCheckEXT* pDisabledValidationChecks; 1474}; 1475 1476struct VkValidationFeaturesEXT 1477{ 1478 VkStructureType sType; 1479 const void* pNext; 1480 uint32_t enabledValidationFeatureCount; 1481 const VkValidationFeatureEnableEXT* pEnabledValidationFeatures; 1482 uint32_t disabledValidationFeatureCount; 1483 const VkValidationFeatureDisableEXT* pDisabledValidationFeatures; 1484}; 1485 1486struct VkPipelineRasterizationStateRasterizationOrderAMD 1487{ 1488 VkStructureType sType; 1489 const void* pNext; 1490 VkRasterizationOrderAMD rasterizationOrder; 1491}; 1492 1493struct VkDebugMarkerObjectNameInfoEXT 1494{ 1495 VkStructureType sType; 1496 const void* pNext; 1497 VkDebugReportObjectTypeEXT objectType; 1498 uint64_t object; 1499 const char* pObjectName; 1500}; 1501 1502struct VkDebugMarkerObjectTagInfoEXT 1503{ 1504 VkStructureType sType; 1505 const void* pNext; 1506 VkDebugReportObjectTypeEXT objectType; 1507 uint64_t object; 1508 uint64_t tagName; 1509 size_t tagSize; 1510 const void* pTag; 1511}; 1512 1513struct VkDebugMarkerMarkerInfoEXT 1514{ 1515 VkStructureType sType; 1516 const void* pNext; 1517 const char* pMarkerName; 1518 float color[4]; 1519}; 1520 1521struct VkDedicatedAllocationImageCreateInfoNV 1522{ 1523 VkStructureType sType; 1524 const void* pNext; 1525 VkBool32 dedicatedAllocation; 1526}; 1527 1528struct VkDedicatedAllocationBufferCreateInfoNV 1529{ 1530 VkStructureType sType; 1531 const void* pNext; 1532 VkBool32 dedicatedAllocation; 1533}; 1534 1535struct VkDedicatedAllocationMemoryAllocateInfoNV 1536{ 1537 VkStructureType sType; 1538 const void* pNext; 1539 VkImage image; 1540 VkBuffer buffer; 1541}; 1542 1543struct VkExternalImageFormatPropertiesNV 1544{ 1545 VkImageFormatProperties imageFormatProperties; 1546 VkExternalMemoryFeatureFlagsNV externalMemoryFeatures; 1547 VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes; 1548 VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes; 1549}; 1550 1551struct VkExternalMemoryImageCreateInfoNV 1552{ 1553 VkStructureType sType; 1554 const void* pNext; 1555 VkExternalMemoryHandleTypeFlagsNV handleTypes; 1556}; 1557 1558struct VkExportMemoryAllocateInfoNV 1559{ 1560 VkStructureType sType; 1561 const void* pNext; 1562 VkExternalMemoryHandleTypeFlagsNV handleTypes; 1563}; 1564 1565struct VkImportMemoryWin32HandleInfoNV 1566{ 1567 VkStructureType sType; 1568 const void* pNext; 1569 VkExternalMemoryHandleTypeFlagsNV handleType; 1570 pt::Win32Handle handle; 1571}; 1572 1573struct VkExportMemoryWin32HandleInfoNV 1574{ 1575 VkStructureType sType; 1576 const void* pNext; 1577 pt::Win32SecurityAttributesPtr pAttributes; 1578 uint32_t dwAccess; 1579}; 1580 1581struct VkWin32KeyedMutexAcquireReleaseInfoNV 1582{ 1583 VkStructureType sType; 1584 const void* pNext; 1585 uint32_t acquireCount; 1586 const VkDeviceMemory* pAcquireSyncs; 1587 const uint64_t* pAcquireKeys; 1588 const uint32_t* pAcquireTimeoutMilliseconds; 1589 uint32_t releaseCount; 1590 const VkDeviceMemory* pReleaseSyncs; 1591 const uint64_t* pReleaseKeys; 1592}; 1593 1594struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV 1595{ 1596 VkStructureType sType; 1597 void* pNext; 1598 VkBool32 deviceGeneratedCommands; 1599}; 1600 1601struct VkDevicePrivateDataCreateInfo 1602{ 1603 VkStructureType sType; 1604 const void* pNext; 1605 uint32_t privateDataSlotRequestCount; 1606}; 1607 1608struct VkPrivateDataSlotCreateInfo 1609{ 1610 VkStructureType sType; 1611 const void* pNext; 1612 VkPrivateDataSlotCreateFlags flags; 1613}; 1614 1615struct VkPhysicalDevicePrivateDataFeatures 1616{ 1617 VkStructureType sType; 1618 void* pNext; 1619 VkBool32 privateData; 1620}; 1621 1622struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV 1623{ 1624 VkStructureType sType; 1625 void* pNext; 1626 uint32_t maxGraphicsShaderGroupCount; 1627 uint32_t maxIndirectSequenceCount; 1628 uint32_t maxIndirectCommandsTokenCount; 1629 uint32_t maxIndirectCommandsStreamCount; 1630 uint32_t maxIndirectCommandsTokenOffset; 1631 uint32_t maxIndirectCommandsStreamStride; 1632 uint32_t minSequencesCountBufferOffsetAlignment; 1633 uint32_t minSequencesIndexBufferOffsetAlignment; 1634 uint32_t minIndirectCommandsBufferOffsetAlignment; 1635}; 1636 1637struct VkPhysicalDeviceMultiDrawPropertiesEXT 1638{ 1639 VkStructureType sType; 1640 void* pNext; 1641 uint32_t maxMultiDrawCount; 1642}; 1643 1644struct VkGraphicsShaderGroupCreateInfoNV 1645{ 1646 VkStructureType sType; 1647 const void* pNext; 1648 uint32_t stageCount; 1649 const VkPipelineShaderStageCreateInfo* pStages; 1650 const VkPipelineVertexInputStateCreateInfo* pVertexInputState; 1651 const VkPipelineTessellationStateCreateInfo* pTessellationState; 1652}; 1653 1654struct VkGraphicsPipelineShaderGroupsCreateInfoNV 1655{ 1656 VkStructureType sType; 1657 const void* pNext; 1658 uint32_t groupCount; 1659 const VkGraphicsShaderGroupCreateInfoNV* pGroups; 1660 uint32_t pipelineCount; 1661 const VkPipeline* pPipelines; 1662}; 1663 1664struct VkBindShaderGroupIndirectCommandNV 1665{ 1666 uint32_t groupIndex; 1667}; 1668 1669struct VkBindIndexBufferIndirectCommandNV 1670{ 1671 VkDeviceAddress bufferAddress; 1672 uint32_t size; 1673 VkIndexType indexType; 1674}; 1675 1676struct VkBindVertexBufferIndirectCommandNV 1677{ 1678 VkDeviceAddress bufferAddress; 1679 uint32_t size; 1680 uint32_t stride; 1681}; 1682 1683struct VkSetStateFlagsIndirectCommandNV 1684{ 1685 uint32_t data; 1686}; 1687 1688struct VkIndirectCommandsStreamNV 1689{ 1690 VkBuffer buffer; 1691 VkDeviceSize offset; 1692}; 1693 1694struct VkIndirectCommandsLayoutTokenNV 1695{ 1696 VkStructureType sType; 1697 const void* pNext; 1698 VkIndirectCommandsTokenTypeNV tokenType; 1699 uint32_t stream; 1700 uint32_t offset; 1701 uint32_t vertexBindingUnit; 1702 VkBool32 vertexDynamicStride; 1703 VkPipelineLayout pushconstantPipelineLayout; 1704 VkShaderStageFlags pushconstantShaderStageFlags; 1705 uint32_t pushconstantOffset; 1706 uint32_t pushconstantSize; 1707 VkIndirectStateFlagsNV indirectStateFlags; 1708 uint32_t indexTypeCount; 1709 const VkIndexType* pIndexTypes; 1710 const uint32_t* pIndexTypeValues; 1711}; 1712 1713struct VkIndirectCommandsLayoutCreateInfoNV 1714{ 1715 VkStructureType sType; 1716 const void* pNext; 1717 VkIndirectCommandsLayoutUsageFlagsNV flags; 1718 VkPipelineBindPoint pipelineBindPoint; 1719 uint32_t tokenCount; 1720 const VkIndirectCommandsLayoutTokenNV* pTokens; 1721 uint32_t streamCount; 1722 const uint32_t* pStreamStrides; 1723}; 1724 1725struct VkGeneratedCommandsInfoNV 1726{ 1727 VkStructureType sType; 1728 const void* pNext; 1729 VkPipelineBindPoint pipelineBindPoint; 1730 VkPipeline pipeline; 1731 VkIndirectCommandsLayoutNV indirectCommandsLayout; 1732 uint32_t streamCount; 1733 const VkIndirectCommandsStreamNV* pStreams; 1734 uint32_t sequencesCount; 1735 VkBuffer preprocessBuffer; 1736 VkDeviceSize preprocessOffset; 1737 VkDeviceSize preprocessSize; 1738 VkBuffer sequencesCountBuffer; 1739 VkDeviceSize sequencesCountOffset; 1740 VkBuffer sequencesIndexBuffer; 1741 VkDeviceSize sequencesIndexOffset; 1742}; 1743 1744struct VkGeneratedCommandsMemoryRequirementsInfoNV 1745{ 1746 VkStructureType sType; 1747 const void* pNext; 1748 VkPipelineBindPoint pipelineBindPoint; 1749 VkPipeline pipeline; 1750 VkIndirectCommandsLayoutNV indirectCommandsLayout; 1751 uint32_t maxSequencesCount; 1752}; 1753 1754struct VkPhysicalDeviceFeatures2 1755{ 1756 VkStructureType sType; 1757 void* pNext; 1758 VkPhysicalDeviceFeatures features; 1759}; 1760 1761struct VkPhysicalDeviceProperties2 1762{ 1763 VkStructureType sType; 1764 void* pNext; 1765 VkPhysicalDeviceProperties properties; 1766}; 1767 1768struct VkFormatProperties2 1769{ 1770 VkStructureType sType; 1771 void* pNext; 1772 VkFormatProperties formatProperties; 1773}; 1774 1775struct VkImageFormatProperties2 1776{ 1777 VkStructureType sType; 1778 void* pNext; 1779 VkImageFormatProperties imageFormatProperties; 1780}; 1781 1782struct VkPhysicalDeviceImageFormatInfo2 1783{ 1784 VkStructureType sType; 1785 const void* pNext; 1786 VkFormat format; 1787 VkImageType type; 1788 VkImageTiling tiling; 1789 VkImageUsageFlags usage; 1790 VkImageCreateFlags flags; 1791}; 1792 1793struct VkQueueFamilyProperties2 1794{ 1795 VkStructureType sType; 1796 void* pNext; 1797 VkQueueFamilyProperties queueFamilyProperties; 1798}; 1799 1800struct VkPhysicalDeviceMemoryProperties2 1801{ 1802 VkStructureType sType; 1803 void* pNext; 1804 VkPhysicalDeviceMemoryProperties memoryProperties; 1805}; 1806 1807struct VkSparseImageFormatProperties2 1808{ 1809 VkStructureType sType; 1810 void* pNext; 1811 VkSparseImageFormatProperties properties; 1812}; 1813 1814struct VkPhysicalDeviceSparseImageFormatInfo2 1815{ 1816 VkStructureType sType; 1817 const void* pNext; 1818 VkFormat format; 1819 VkImageType type; 1820 VkSampleCountFlagBits samples; 1821 VkImageUsageFlags usage; 1822 VkImageTiling tiling; 1823}; 1824 1825struct VkPhysicalDevicePushDescriptorPropertiesKHR 1826{ 1827 VkStructureType sType; 1828 void* pNext; 1829 uint32_t maxPushDescriptors; 1830}; 1831 1832struct VkConformanceVersion 1833{ 1834 uint8_t major; 1835 uint8_t minor; 1836 uint8_t subminor; 1837 uint8_t patch; 1838}; 1839 1840struct VkPhysicalDeviceDriverProperties 1841{ 1842 VkStructureType sType; 1843 void* pNext; 1844 VkDriverId driverID; 1845 char driverName[VK_MAX_DRIVER_NAME_SIZE]; 1846 char driverInfo[VK_MAX_DRIVER_INFO_SIZE]; 1847 VkConformanceVersion conformanceVersion; 1848}; 1849 1850struct VkRectLayerKHR 1851{ 1852 VkOffset2D offset; 1853 VkExtent2D extent; 1854 uint32_t layer; 1855}; 1856 1857struct VkPresentRegionKHR 1858{ 1859 uint32_t rectangleCount; 1860 const VkRectLayerKHR* pRectangles; 1861}; 1862 1863struct VkPhysicalDeviceVariablePointersFeatures 1864{ 1865 VkStructureType sType; 1866 void* pNext; 1867 VkBool32 variablePointersStorageBuffer; 1868 VkBool32 variablePointers; 1869}; 1870 1871struct VkPresentRegionsKHR 1872{ 1873 VkStructureType sType; 1874 const void* pNext; 1875 uint32_t swapchainCount; 1876 const VkPresentRegionKHR* pRegions; 1877}; 1878 1879struct VkExternalMemoryProperties 1880{ 1881 VkExternalMemoryFeatureFlags externalMemoryFeatures; 1882 VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes; 1883 VkExternalMemoryHandleTypeFlags compatibleHandleTypes; 1884}; 1885 1886struct VkPhysicalDeviceExternalImageFormatInfo 1887{ 1888 VkStructureType sType; 1889 const void* pNext; 1890 VkExternalMemoryHandleTypeFlagBits handleType; 1891}; 1892 1893struct VkExternalImageFormatProperties 1894{ 1895 VkStructureType sType; 1896 void* pNext; 1897 VkExternalMemoryProperties externalMemoryProperties; 1898}; 1899 1900struct VkPhysicalDeviceExternalBufferInfo 1901{ 1902 VkStructureType sType; 1903 const void* pNext; 1904 VkBufferCreateFlags flags; 1905 VkBufferUsageFlags usage; 1906 VkExternalMemoryHandleTypeFlagBits handleType; 1907}; 1908 1909struct VkExternalBufferProperties 1910{ 1911 VkStructureType sType; 1912 void* pNext; 1913 VkExternalMemoryProperties externalMemoryProperties; 1914}; 1915 1916struct VkPhysicalDeviceIDProperties 1917{ 1918 VkStructureType sType; 1919 void* pNext; 1920 uint8_t deviceUUID[VK_UUID_SIZE]; 1921 uint8_t driverUUID[VK_UUID_SIZE]; 1922 uint8_t deviceLUID[VK_LUID_SIZE]; 1923 uint32_t deviceNodeMask; 1924 VkBool32 deviceLUIDValid; 1925}; 1926 1927struct VkExternalMemoryImageCreateInfo 1928{ 1929 VkStructureType sType; 1930 const void* pNext; 1931 VkExternalMemoryHandleTypeFlags handleTypes; 1932}; 1933 1934struct VkExternalMemoryBufferCreateInfo 1935{ 1936 VkStructureType sType; 1937 const void* pNext; 1938 VkExternalMemoryHandleTypeFlags handleTypes; 1939}; 1940 1941struct VkExportMemoryAllocateInfo 1942{ 1943 VkStructureType sType; 1944 const void* pNext; 1945 VkExternalMemoryHandleTypeFlags handleTypes; 1946}; 1947 1948struct VkImportMemoryWin32HandleInfoKHR 1949{ 1950 VkStructureType sType; 1951 const void* pNext; 1952 VkExternalMemoryHandleTypeFlagBits handleType; 1953 pt::Win32Handle handle; 1954 pt::Win32LPCWSTR name; 1955}; 1956 1957struct VkExportMemoryWin32HandleInfoKHR 1958{ 1959 VkStructureType sType; 1960 const void* pNext; 1961 pt::Win32SecurityAttributesPtr pAttributes; 1962 uint32_t dwAccess; 1963 pt::Win32LPCWSTR name; 1964}; 1965 1966struct VkImportMemoryZirconHandleInfoFUCHSIA 1967{ 1968 VkStructureType sType; 1969 const void* pNext; 1970 VkExternalMemoryHandleTypeFlagBits handleType; 1971 pt::zx_handle_t handle; 1972}; 1973 1974struct VkMemoryZirconHandlePropertiesFUCHSIA 1975{ 1976 VkStructureType sType; 1977 void* pNext; 1978 uint32_t memoryTypeBits; 1979}; 1980 1981struct VkMemoryGetZirconHandleInfoFUCHSIA 1982{ 1983 VkStructureType sType; 1984 const void* pNext; 1985 VkDeviceMemory memory; 1986 VkExternalMemoryHandleTypeFlagBits handleType; 1987}; 1988 1989struct VkMemoryWin32HandlePropertiesKHR 1990{ 1991 VkStructureType sType; 1992 void* pNext; 1993 uint32_t memoryTypeBits; 1994}; 1995 1996struct VkMemoryGetWin32HandleInfoKHR 1997{ 1998 VkStructureType sType; 1999 const void* pNext; 2000 VkDeviceMemory memory; 2001 VkExternalMemoryHandleTypeFlagBits handleType; 2002}; 2003 2004struct VkImportMemoryFdInfoKHR 2005{ 2006 VkStructureType sType; 2007 const void* pNext; 2008 VkExternalMemoryHandleTypeFlagBits handleType; 2009 int fd; 2010}; 2011 2012struct VkMemoryFdPropertiesKHR 2013{ 2014 VkStructureType sType; 2015 void* pNext; 2016 uint32_t memoryTypeBits; 2017}; 2018 2019struct VkMemoryGetFdInfoKHR 2020{ 2021 VkStructureType sType; 2022 const void* pNext; 2023 VkDeviceMemory memory; 2024 VkExternalMemoryHandleTypeFlagBits handleType; 2025}; 2026 2027struct VkWin32KeyedMutexAcquireReleaseInfoKHR 2028{ 2029 VkStructureType sType; 2030 const void* pNext; 2031 uint32_t acquireCount; 2032 const VkDeviceMemory* pAcquireSyncs; 2033 const uint64_t* pAcquireKeys; 2034 const uint32_t* pAcquireTimeouts; 2035 uint32_t releaseCount; 2036 const VkDeviceMemory* pReleaseSyncs; 2037 const uint64_t* pReleaseKeys; 2038}; 2039 2040struct VkPhysicalDeviceExternalSemaphoreInfo 2041{ 2042 VkStructureType sType; 2043 const void* pNext; 2044 VkExternalSemaphoreHandleTypeFlagBits handleType; 2045}; 2046 2047struct VkExternalSemaphoreProperties 2048{ 2049 VkStructureType sType; 2050 void* pNext; 2051 VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes; 2052 VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes; 2053 VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures; 2054}; 2055 2056struct VkExportSemaphoreCreateInfo 2057{ 2058 VkStructureType sType; 2059 const void* pNext; 2060 VkExternalSemaphoreHandleTypeFlags handleTypes; 2061}; 2062 2063struct VkImportSemaphoreWin32HandleInfoKHR 2064{ 2065 VkStructureType sType; 2066 const void* pNext; 2067 VkSemaphore semaphore; 2068 VkSemaphoreImportFlags flags; 2069 VkExternalSemaphoreHandleTypeFlagBits handleType; 2070 pt::Win32Handle handle; 2071 pt::Win32LPCWSTR name; 2072}; 2073 2074struct VkExportSemaphoreWin32HandleInfoKHR 2075{ 2076 VkStructureType sType; 2077 const void* pNext; 2078 pt::Win32SecurityAttributesPtr pAttributes; 2079 uint32_t dwAccess; 2080 pt::Win32LPCWSTR name; 2081}; 2082 2083struct VkD3D12FenceSubmitInfoKHR 2084{ 2085 VkStructureType sType; 2086 const void* pNext; 2087 uint32_t waitSemaphoreValuesCount; 2088 const uint64_t* pWaitSemaphoreValues; 2089 uint32_t signalSemaphoreValuesCount; 2090 const uint64_t* pSignalSemaphoreValues; 2091}; 2092 2093struct VkSemaphoreGetWin32HandleInfoKHR 2094{ 2095 VkStructureType sType; 2096 const void* pNext; 2097 VkSemaphore semaphore; 2098 VkExternalSemaphoreHandleTypeFlagBits handleType; 2099}; 2100 2101struct VkImportSemaphoreFdInfoKHR 2102{ 2103 VkStructureType sType; 2104 const void* pNext; 2105 VkSemaphore semaphore; 2106 VkSemaphoreImportFlags flags; 2107 VkExternalSemaphoreHandleTypeFlagBits handleType; 2108 int fd; 2109}; 2110 2111struct VkSemaphoreGetFdInfoKHR 2112{ 2113 VkStructureType sType; 2114 const void* pNext; 2115 VkSemaphore semaphore; 2116 VkExternalSemaphoreHandleTypeFlagBits handleType; 2117}; 2118 2119struct VkImportSemaphoreZirconHandleInfoFUCHSIA 2120{ 2121 VkStructureType sType; 2122 const void* pNext; 2123 VkSemaphore semaphore; 2124 VkSemaphoreImportFlags flags; 2125 VkExternalSemaphoreHandleTypeFlagBits handleType; 2126 pt::zx_handle_t zirconHandle; 2127}; 2128 2129struct VkSemaphoreGetZirconHandleInfoFUCHSIA 2130{ 2131 VkStructureType sType; 2132 const void* pNext; 2133 VkSemaphore semaphore; 2134 VkExternalSemaphoreHandleTypeFlagBits handleType; 2135}; 2136 2137struct VkPhysicalDeviceExternalFenceInfo 2138{ 2139 VkStructureType sType; 2140 const void* pNext; 2141 VkExternalFenceHandleTypeFlagBits handleType; 2142}; 2143 2144struct VkExternalFenceProperties 2145{ 2146 VkStructureType sType; 2147 void* pNext; 2148 VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes; 2149 VkExternalFenceHandleTypeFlags compatibleHandleTypes; 2150 VkExternalFenceFeatureFlags externalFenceFeatures; 2151}; 2152 2153struct VkExportFenceCreateInfo 2154{ 2155 VkStructureType sType; 2156 const void* pNext; 2157 VkExternalFenceHandleTypeFlags handleTypes; 2158}; 2159 2160struct VkImportFenceWin32HandleInfoKHR 2161{ 2162 VkStructureType sType; 2163 const void* pNext; 2164 VkFence fence; 2165 VkFenceImportFlags flags; 2166 VkExternalFenceHandleTypeFlagBits handleType; 2167 pt::Win32Handle handle; 2168 pt::Win32LPCWSTR name; 2169}; 2170 2171struct VkExportFenceWin32HandleInfoKHR 2172{ 2173 VkStructureType sType; 2174 const void* pNext; 2175 pt::Win32SecurityAttributesPtr pAttributes; 2176 uint32_t dwAccess; 2177 pt::Win32LPCWSTR name; 2178}; 2179 2180struct VkFenceGetWin32HandleInfoKHR 2181{ 2182 VkStructureType sType; 2183 const void* pNext; 2184 VkFence fence; 2185 VkExternalFenceHandleTypeFlagBits handleType; 2186}; 2187 2188struct VkImportFenceFdInfoKHR 2189{ 2190 VkStructureType sType; 2191 const void* pNext; 2192 VkFence fence; 2193 VkFenceImportFlags flags; 2194 VkExternalFenceHandleTypeFlagBits handleType; 2195 int fd; 2196}; 2197 2198struct VkFenceGetFdInfoKHR 2199{ 2200 VkStructureType sType; 2201 const void* pNext; 2202 VkFence fence; 2203 VkExternalFenceHandleTypeFlagBits handleType; 2204}; 2205 2206struct VkPhysicalDeviceMultiviewFeatures 2207{ 2208 VkStructureType sType; 2209 void* pNext; 2210 VkBool32 multiview; 2211 VkBool32 multiviewGeometryShader; 2212 VkBool32 multiviewTessellationShader; 2213}; 2214 2215struct VkPhysicalDeviceMultiviewProperties 2216{ 2217 VkStructureType sType; 2218 void* pNext; 2219 uint32_t maxMultiviewViewCount; 2220 uint32_t maxMultiviewInstanceIndex; 2221}; 2222 2223struct VkRenderPassMultiviewCreateInfo 2224{ 2225 VkStructureType sType; 2226 const void* pNext; 2227 uint32_t subpassCount; 2228 const uint32_t* pViewMasks; 2229 uint32_t dependencyCount; 2230 const int32_t* pViewOffsets; 2231 uint32_t correlationMaskCount; 2232 const uint32_t* pCorrelationMasks; 2233}; 2234 2235struct VkSurfaceCapabilities2EXT 2236{ 2237 VkStructureType sType; 2238 void* pNext; 2239 uint32_t minImageCount; 2240 uint32_t maxImageCount; 2241 VkExtent2D currentExtent; 2242 VkExtent2D minImageExtent; 2243 VkExtent2D maxImageExtent; 2244 uint32_t maxImageArrayLayers; 2245 VkSurfaceTransformFlagsKHR supportedTransforms; 2246 VkSurfaceTransformFlagBitsKHR currentTransform; 2247 VkCompositeAlphaFlagsKHR supportedCompositeAlpha; 2248 VkImageUsageFlags supportedUsageFlags; 2249 VkSurfaceCounterFlagsEXT supportedSurfaceCounters; 2250}; 2251 2252struct VkDisplayPowerInfoEXT 2253{ 2254 VkStructureType sType; 2255 const void* pNext; 2256 VkDisplayPowerStateEXT powerState; 2257}; 2258 2259struct VkDeviceEventInfoEXT 2260{ 2261 VkStructureType sType; 2262 const void* pNext; 2263 VkDeviceEventTypeEXT deviceEvent; 2264}; 2265 2266struct VkDisplayEventInfoEXT 2267{ 2268 VkStructureType sType; 2269 const void* pNext; 2270 VkDisplayEventTypeEXT displayEvent; 2271}; 2272 2273struct VkSwapchainCounterCreateInfoEXT 2274{ 2275 VkStructureType sType; 2276 const void* pNext; 2277 VkSurfaceCounterFlagsEXT surfaceCounters; 2278}; 2279 2280struct VkPhysicalDeviceGroupProperties 2281{ 2282 VkStructureType sType; 2283 void* pNext; 2284 uint32_t physicalDeviceCount; 2285 VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE]; 2286 VkBool32 subsetAllocation; 2287}; 2288 2289struct VkMemoryAllocateFlagsInfo 2290{ 2291 VkStructureType sType; 2292 const void* pNext; 2293 VkMemoryAllocateFlags flags; 2294 uint32_t deviceMask; 2295}; 2296 2297struct VkBindBufferMemoryInfo 2298{ 2299 VkStructureType sType; 2300 const void* pNext; 2301 VkBuffer buffer; 2302 VkDeviceMemory memory; 2303 VkDeviceSize memoryOffset; 2304}; 2305 2306struct VkBindBufferMemoryDeviceGroupInfo 2307{ 2308 VkStructureType sType; 2309 const void* pNext; 2310 uint32_t deviceIndexCount; 2311 const uint32_t* pDeviceIndices; 2312}; 2313 2314struct VkBindImageMemoryInfo 2315{ 2316 VkStructureType sType; 2317 const void* pNext; 2318 VkImage image; 2319 VkDeviceMemory memory; 2320 VkDeviceSize memoryOffset; 2321}; 2322 2323struct VkBindImageMemoryDeviceGroupInfo 2324{ 2325 VkStructureType sType; 2326 const void* pNext; 2327 uint32_t deviceIndexCount; 2328 const uint32_t* pDeviceIndices; 2329 uint32_t splitInstanceBindRegionCount; 2330 const VkRect2D* pSplitInstanceBindRegions; 2331}; 2332 2333struct VkDeviceGroupRenderPassBeginInfo 2334{ 2335 VkStructureType sType; 2336 const void* pNext; 2337 uint32_t deviceMask; 2338 uint32_t deviceRenderAreaCount; 2339 const VkRect2D* pDeviceRenderAreas; 2340}; 2341 2342struct VkDeviceGroupCommandBufferBeginInfo 2343{ 2344 VkStructureType sType; 2345 const void* pNext; 2346 uint32_t deviceMask; 2347}; 2348 2349struct VkDeviceGroupSubmitInfo 2350{ 2351 VkStructureType sType; 2352 const void* pNext; 2353 uint32_t waitSemaphoreCount; 2354 const uint32_t* pWaitSemaphoreDeviceIndices; 2355 uint32_t commandBufferCount; 2356 const uint32_t* pCommandBufferDeviceMasks; 2357 uint32_t signalSemaphoreCount; 2358 const uint32_t* pSignalSemaphoreDeviceIndices; 2359}; 2360 2361struct VkDeviceGroupBindSparseInfo 2362{ 2363 VkStructureType sType; 2364 const void* pNext; 2365 uint32_t resourceDeviceIndex; 2366 uint32_t memoryDeviceIndex; 2367}; 2368 2369struct VkDeviceGroupPresentCapabilitiesKHR 2370{ 2371 VkStructureType sType; 2372 void* pNext; 2373 uint32_t presentMask[VK_MAX_DEVICE_GROUP_SIZE]; 2374 VkDeviceGroupPresentModeFlagsKHR modes; 2375}; 2376 2377struct VkImageSwapchainCreateInfoKHR 2378{ 2379 VkStructureType sType; 2380 const void* pNext; 2381 VkSwapchainKHR swapchain; 2382}; 2383 2384struct VkBindImageMemorySwapchainInfoKHR 2385{ 2386 VkStructureType sType; 2387 const void* pNext; 2388 VkSwapchainKHR swapchain; 2389 uint32_t imageIndex; 2390}; 2391 2392struct VkAcquireNextImageInfoKHR 2393{ 2394 VkStructureType sType; 2395 const void* pNext; 2396 VkSwapchainKHR swapchain; 2397 uint64_t timeout; 2398 VkSemaphore semaphore; 2399 VkFence fence; 2400 uint32_t deviceMask; 2401}; 2402 2403struct VkDeviceGroupPresentInfoKHR 2404{ 2405 VkStructureType sType; 2406 const void* pNext; 2407 uint32_t swapchainCount; 2408 const uint32_t* pDeviceMasks; 2409 VkDeviceGroupPresentModeFlagBitsKHR mode; 2410}; 2411 2412struct VkDeviceGroupDeviceCreateInfo 2413{ 2414 VkStructureType sType; 2415 const void* pNext; 2416 uint32_t physicalDeviceCount; 2417 const VkPhysicalDevice* pPhysicalDevices; 2418}; 2419 2420struct VkDeviceGroupSwapchainCreateInfoKHR 2421{ 2422 VkStructureType sType; 2423 const void* pNext; 2424 VkDeviceGroupPresentModeFlagsKHR modes; 2425}; 2426 2427struct VkDescriptorUpdateTemplateEntry 2428{ 2429 uint32_t dstBinding; 2430 uint32_t dstArrayElement; 2431 uint32_t descriptorCount; 2432 VkDescriptorType descriptorType; 2433 size_t offset; 2434 size_t stride; 2435}; 2436 2437struct VkDescriptorUpdateTemplateCreateInfo 2438{ 2439 VkStructureType sType; 2440 const void* pNext; 2441 VkDescriptorUpdateTemplateCreateFlags flags; 2442 uint32_t descriptorUpdateEntryCount; 2443 const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries; 2444 VkDescriptorUpdateTemplateType templateType; 2445 VkDescriptorSetLayout descriptorSetLayout; 2446 VkPipelineBindPoint pipelineBindPoint; 2447 VkPipelineLayout pipelineLayout; 2448 uint32_t set; 2449}; 2450 2451struct VkXYColorEXT 2452{ 2453 float x; 2454 float y; 2455}; 2456 2457struct VkPhysicalDevicePresentIdFeaturesKHR 2458{ 2459 VkStructureType sType; 2460 void* pNext; 2461 VkBool32 presentId; 2462}; 2463 2464struct VkPresentIdKHR 2465{ 2466 VkStructureType sType; 2467 const void* pNext; 2468 uint32_t swapchainCount; 2469 const uint64_t* pPresentIds; 2470}; 2471 2472struct VkPhysicalDevicePresentWaitFeaturesKHR 2473{ 2474 VkStructureType sType; 2475 void* pNext; 2476 VkBool32 presentWait; 2477}; 2478 2479struct VkHdrMetadataEXT 2480{ 2481 VkStructureType sType; 2482 const void* pNext; 2483 VkXYColorEXT displayPrimaryRed; 2484 VkXYColorEXT displayPrimaryGreen; 2485 VkXYColorEXT displayPrimaryBlue; 2486 VkXYColorEXT whitePoint; 2487 float maxLuminance; 2488 float minLuminance; 2489 float maxContentLightLevel; 2490 float maxFrameAverageLightLevel; 2491}; 2492 2493struct VkDisplayNativeHdrSurfaceCapabilitiesAMD 2494{ 2495 VkStructureType sType; 2496 void* pNext; 2497 VkBool32 localDimmingSupport; 2498}; 2499 2500struct VkSwapchainDisplayNativeHdrCreateInfoAMD 2501{ 2502 VkStructureType sType; 2503 const void* pNext; 2504 VkBool32 localDimmingEnable; 2505}; 2506 2507struct VkRefreshCycleDurationGOOGLE 2508{ 2509 uint64_t refreshDuration; 2510}; 2511 2512struct VkPastPresentationTimingGOOGLE 2513{ 2514 uint32_t presentID; 2515 uint64_t desiredPresentTime; 2516 uint64_t actualPresentTime; 2517 uint64_t earliestPresentTime; 2518 uint64_t presentMargin; 2519}; 2520 2521struct VkPresentTimeGOOGLE 2522{ 2523 uint32_t presentID; 2524 uint64_t desiredPresentTime; 2525}; 2526 2527struct VkPresentTimesInfoGOOGLE 2528{ 2529 VkStructureType sType; 2530 const void* pNext; 2531 uint32_t swapchainCount; 2532 const VkPresentTimeGOOGLE* pTimes; 2533}; 2534 2535struct VkIOSSurfaceCreateInfoMVK 2536{ 2537 VkStructureType sType; 2538 const void* pNext; 2539 VkIOSSurfaceCreateFlagsMVK flags; 2540 const void* pView; 2541}; 2542 2543struct VkMacOSSurfaceCreateInfoMVK 2544{ 2545 VkStructureType sType; 2546 const void* pNext; 2547 VkMacOSSurfaceCreateFlagsMVK flags; 2548 const void* pView; 2549}; 2550 2551struct VkMetalSurfaceCreateInfoEXT 2552{ 2553 VkStructureType sType; 2554 const void* pNext; 2555 VkMetalSurfaceCreateFlagsEXT flags; 2556 const pt::CAMetalLayer* pLayer; 2557}; 2558 2559struct VkViewportWScalingNV 2560{ 2561 float xcoeff; 2562 float ycoeff; 2563}; 2564 2565struct VkPipelineViewportWScalingStateCreateInfoNV 2566{ 2567 VkStructureType sType; 2568 const void* pNext; 2569 VkBool32 viewportWScalingEnable; 2570 uint32_t viewportCount; 2571 const VkViewportWScalingNV* pViewportWScalings; 2572}; 2573 2574struct VkViewportSwizzleNV 2575{ 2576 VkViewportCoordinateSwizzleNV x; 2577 VkViewportCoordinateSwizzleNV y; 2578 VkViewportCoordinateSwizzleNV z; 2579 VkViewportCoordinateSwizzleNV w; 2580}; 2581 2582struct VkPipelineViewportSwizzleStateCreateInfoNV 2583{ 2584 VkStructureType sType; 2585 const void* pNext; 2586 VkPipelineViewportSwizzleStateCreateFlagsNV flags; 2587 uint32_t viewportCount; 2588 const VkViewportSwizzleNV* pViewportSwizzles; 2589}; 2590 2591struct VkPhysicalDeviceDiscardRectanglePropertiesEXT 2592{ 2593 VkStructureType sType; 2594 void* pNext; 2595 uint32_t maxDiscardRectangles; 2596}; 2597 2598struct VkPipelineDiscardRectangleStateCreateInfoEXT 2599{ 2600 VkStructureType sType; 2601 const void* pNext; 2602 VkPipelineDiscardRectangleStateCreateFlagsEXT flags; 2603 VkDiscardRectangleModeEXT discardRectangleMode; 2604 uint32_t discardRectangleCount; 2605 const VkRect2D* pDiscardRectangles; 2606}; 2607 2608struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX 2609{ 2610 VkStructureType sType; 2611 void* pNext; 2612 VkBool32 perViewPositionAllComponents; 2613}; 2614 2615struct VkInputAttachmentAspectReference 2616{ 2617 uint32_t subpass; 2618 uint32_t inputAttachmentIndex; 2619 VkImageAspectFlags aspectMask; 2620}; 2621 2622struct VkRenderPassInputAttachmentAspectCreateInfo 2623{ 2624 VkStructureType sType; 2625 const void* pNext; 2626 uint32_t aspectReferenceCount; 2627 const VkInputAttachmentAspectReference* pAspectReferences; 2628}; 2629 2630struct VkPhysicalDeviceSurfaceInfo2KHR 2631{ 2632 VkStructureType sType; 2633 const void* pNext; 2634 VkSurfaceKHR surface; 2635}; 2636 2637struct VkSurfaceCapabilities2KHR 2638{ 2639 VkStructureType sType; 2640 void* pNext; 2641 VkSurfaceCapabilitiesKHR surfaceCapabilities; 2642}; 2643 2644struct VkSurfaceFormat2KHR 2645{ 2646 VkStructureType sType; 2647 void* pNext; 2648 VkSurfaceFormatKHR surfaceFormat; 2649}; 2650 2651struct VkDisplayProperties2KHR 2652{ 2653 VkStructureType sType; 2654 void* pNext; 2655 VkDisplayPropertiesKHR displayProperties; 2656}; 2657 2658struct VkDisplayPlaneProperties2KHR 2659{ 2660 VkStructureType sType; 2661 void* pNext; 2662 VkDisplayPlanePropertiesKHR displayPlaneProperties; 2663}; 2664 2665struct VkDisplayModeProperties2KHR 2666{ 2667 VkStructureType sType; 2668 void* pNext; 2669 VkDisplayModePropertiesKHR displayModeProperties; 2670}; 2671 2672struct VkDisplayPlaneInfo2KHR 2673{ 2674 VkStructureType sType; 2675 const void* pNext; 2676 VkDisplayModeKHR mode; 2677 uint32_t planeIndex; 2678}; 2679 2680struct VkDisplayPlaneCapabilities2KHR 2681{ 2682 VkStructureType sType; 2683 void* pNext; 2684 VkDisplayPlaneCapabilitiesKHR capabilities; 2685}; 2686 2687struct VkSharedPresentSurfaceCapabilitiesKHR 2688{ 2689 VkStructureType sType; 2690 void* pNext; 2691 VkImageUsageFlags sharedPresentSupportedUsageFlags; 2692}; 2693 2694struct VkPhysicalDevice16BitStorageFeatures 2695{ 2696 VkStructureType sType; 2697 void* pNext; 2698 VkBool32 storageBuffer16BitAccess; 2699 VkBool32 uniformAndStorageBuffer16BitAccess; 2700 VkBool32 storagePushConstant16; 2701 VkBool32 storageInputOutput16; 2702}; 2703 2704struct VkPhysicalDeviceSubgroupProperties 2705{ 2706 VkStructureType sType; 2707 void* pNext; 2708 uint32_t subgroupSize; 2709 VkShaderStageFlags supportedStages; 2710 VkSubgroupFeatureFlags supportedOperations; 2711 VkBool32 quadOperationsInAllStages; 2712}; 2713 2714struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures 2715{ 2716 VkStructureType sType; 2717 void* pNext; 2718 VkBool32 shaderSubgroupExtendedTypes; 2719}; 2720 2721struct VkBufferMemoryRequirementsInfo2 2722{ 2723 VkStructureType sType; 2724 const void* pNext; 2725 VkBuffer buffer; 2726}; 2727 2728struct VkDeviceBufferMemoryRequirements 2729{ 2730 VkStructureType sType; 2731 const void* pNext; 2732 const VkBufferCreateInfo* pCreateInfo; 2733}; 2734 2735struct VkImageMemoryRequirementsInfo2 2736{ 2737 VkStructureType sType; 2738 const void* pNext; 2739 VkImage image; 2740}; 2741 2742struct VkImageSparseMemoryRequirementsInfo2 2743{ 2744 VkStructureType sType; 2745 const void* pNext; 2746 VkImage image; 2747}; 2748 2749struct VkDeviceImageMemoryRequirements 2750{ 2751 VkStructureType sType; 2752 const void* pNext; 2753 const VkImageCreateInfo* pCreateInfo; 2754 VkImageAspectFlagBits planeAspect; 2755}; 2756 2757struct VkMemoryRequirements2 2758{ 2759 VkStructureType sType; 2760 void* pNext; 2761 VkMemoryRequirements memoryRequirements; 2762}; 2763 2764struct VkSparseImageMemoryRequirements2 2765{ 2766 VkStructureType sType; 2767 void* pNext; 2768 VkSparseImageMemoryRequirements memoryRequirements; 2769}; 2770 2771struct VkPhysicalDevicePointClippingProperties 2772{ 2773 VkStructureType sType; 2774 void* pNext; 2775 VkPointClippingBehavior pointClippingBehavior; 2776}; 2777 2778struct VkMemoryDedicatedRequirements 2779{ 2780 VkStructureType sType; 2781 void* pNext; 2782 VkBool32 prefersDedicatedAllocation; 2783 VkBool32 requiresDedicatedAllocation; 2784}; 2785 2786struct VkMemoryDedicatedAllocateInfo 2787{ 2788 VkStructureType sType; 2789 const void* pNext; 2790 VkImage image; 2791 VkBuffer buffer; 2792}; 2793 2794struct VkImageViewUsageCreateInfo 2795{ 2796 VkStructureType sType; 2797 const void* pNext; 2798 VkImageUsageFlags usage; 2799}; 2800 2801struct VkPipelineTessellationDomainOriginStateCreateInfo 2802{ 2803 VkStructureType sType; 2804 const void* pNext; 2805 VkTessellationDomainOrigin domainOrigin; 2806}; 2807 2808struct VkSamplerYcbcrConversionInfo 2809{ 2810 VkStructureType sType; 2811 const void* pNext; 2812 VkSamplerYcbcrConversion conversion; 2813}; 2814 2815struct VkSamplerYcbcrConversionCreateInfo 2816{ 2817 VkStructureType sType; 2818 const void* pNext; 2819 VkFormat format; 2820 VkSamplerYcbcrModelConversion ycbcrModel; 2821 VkSamplerYcbcrRange ycbcrRange; 2822 VkComponentMapping components; 2823 VkChromaLocation xChromaOffset; 2824 VkChromaLocation yChromaOffset; 2825 VkFilter chromaFilter; 2826 VkBool32 forceExplicitReconstruction; 2827}; 2828 2829struct VkBindImagePlaneMemoryInfo 2830{ 2831 VkStructureType sType; 2832 const void* pNext; 2833 VkImageAspectFlagBits planeAspect; 2834}; 2835 2836struct VkImagePlaneMemoryRequirementsInfo 2837{ 2838 VkStructureType sType; 2839 const void* pNext; 2840 VkImageAspectFlagBits planeAspect; 2841}; 2842 2843struct VkPhysicalDeviceSamplerYcbcrConversionFeatures 2844{ 2845 VkStructureType sType; 2846 void* pNext; 2847 VkBool32 samplerYcbcrConversion; 2848}; 2849 2850struct VkSamplerYcbcrConversionImageFormatProperties 2851{ 2852 VkStructureType sType; 2853 void* pNext; 2854 uint32_t combinedImageSamplerDescriptorCount; 2855}; 2856 2857struct VkTextureLODGatherFormatPropertiesAMD 2858{ 2859 VkStructureType sType; 2860 void* pNext; 2861 VkBool32 supportsTextureGatherLODBiasAMD; 2862}; 2863 2864struct VkConditionalRenderingBeginInfoEXT 2865{ 2866 VkStructureType sType; 2867 const void* pNext; 2868 VkBuffer buffer; 2869 VkDeviceSize offset; 2870 VkConditionalRenderingFlagsEXT flags; 2871}; 2872 2873struct VkProtectedSubmitInfo 2874{ 2875 VkStructureType sType; 2876 const void* pNext; 2877 VkBool32 protectedSubmit; 2878}; 2879 2880struct VkPhysicalDeviceProtectedMemoryFeatures 2881{ 2882 VkStructureType sType; 2883 void* pNext; 2884 VkBool32 protectedMemory; 2885}; 2886 2887struct VkPhysicalDeviceProtectedMemoryProperties 2888{ 2889 VkStructureType sType; 2890 void* pNext; 2891 VkBool32 protectedNoFault; 2892}; 2893 2894struct VkDeviceQueueInfo2 2895{ 2896 VkStructureType sType; 2897 const void* pNext; 2898 VkDeviceQueueCreateFlags flags; 2899 uint32_t queueFamilyIndex; 2900 uint32_t queueIndex; 2901}; 2902 2903struct VkPipelineCoverageToColorStateCreateInfoNV 2904{ 2905 VkStructureType sType; 2906 const void* pNext; 2907 VkPipelineCoverageToColorStateCreateFlagsNV flags; 2908 VkBool32 coverageToColorEnable; 2909 uint32_t coverageToColorLocation; 2910}; 2911 2912struct VkPhysicalDeviceSamplerFilterMinmaxProperties 2913{ 2914 VkStructureType sType; 2915 void* pNext; 2916 VkBool32 filterMinmaxSingleComponentFormats; 2917 VkBool32 filterMinmaxImageComponentMapping; 2918}; 2919 2920struct VkSampleLocationEXT 2921{ 2922 float x; 2923 float y; 2924}; 2925 2926struct VkSampleLocationsInfoEXT 2927{ 2928 VkStructureType sType; 2929 const void* pNext; 2930 VkSampleCountFlagBits sampleLocationsPerPixel; 2931 VkExtent2D sampleLocationGridSize; 2932 uint32_t sampleLocationsCount; 2933 const VkSampleLocationEXT* pSampleLocations; 2934}; 2935 2936struct VkAttachmentSampleLocationsEXT 2937{ 2938 uint32_t attachmentIndex; 2939 VkSampleLocationsInfoEXT sampleLocationsInfo; 2940}; 2941 2942struct VkSubpassSampleLocationsEXT 2943{ 2944 uint32_t subpassIndex; 2945 VkSampleLocationsInfoEXT sampleLocationsInfo; 2946}; 2947 2948struct VkRenderPassSampleLocationsBeginInfoEXT 2949{ 2950 VkStructureType sType; 2951 const void* pNext; 2952 uint32_t attachmentInitialSampleLocationsCount; 2953 const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations; 2954 uint32_t postSubpassSampleLocationsCount; 2955 const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations; 2956}; 2957 2958struct VkPipelineSampleLocationsStateCreateInfoEXT 2959{ 2960 VkStructureType sType; 2961 const void* pNext; 2962 VkBool32 sampleLocationsEnable; 2963 VkSampleLocationsInfoEXT sampleLocationsInfo; 2964}; 2965 2966struct VkPhysicalDeviceSampleLocationsPropertiesEXT 2967{ 2968 VkStructureType sType; 2969 void* pNext; 2970 VkSampleCountFlags sampleLocationSampleCounts; 2971 VkExtent2D maxSampleLocationGridSize; 2972 float sampleLocationCoordinateRange[2]; 2973 uint32_t sampleLocationSubPixelBits; 2974 VkBool32 variableSampleLocations; 2975}; 2976 2977struct VkMultisamplePropertiesEXT 2978{ 2979 VkStructureType sType; 2980 void* pNext; 2981 VkExtent2D maxSampleLocationGridSize; 2982}; 2983 2984struct VkSamplerReductionModeCreateInfo 2985{ 2986 VkStructureType sType; 2987 const void* pNext; 2988 VkSamplerReductionMode reductionMode; 2989}; 2990 2991struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT 2992{ 2993 VkStructureType sType; 2994 void* pNext; 2995 VkBool32 advancedBlendCoherentOperations; 2996}; 2997 2998struct VkPhysicalDeviceMultiDrawFeaturesEXT 2999{ 3000 VkStructureType sType; 3001 void* pNext; 3002 VkBool32 multiDraw; 3003}; 3004 3005struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT 3006{ 3007 VkStructureType sType; 3008 void* pNext; 3009 uint32_t advancedBlendMaxColorAttachments; 3010 VkBool32 advancedBlendIndependentBlend; 3011 VkBool32 advancedBlendNonPremultipliedSrcColor; 3012 VkBool32 advancedBlendNonPremultipliedDstColor; 3013 VkBool32 advancedBlendCorrelatedOverlap; 3014 VkBool32 advancedBlendAllOperations; 3015}; 3016 3017struct VkPipelineColorBlendAdvancedStateCreateInfoEXT 3018{ 3019 VkStructureType sType; 3020 const void* pNext; 3021 VkBool32 srcPremultiplied; 3022 VkBool32 dstPremultiplied; 3023 VkBlendOverlapEXT blendOverlap; 3024}; 3025 3026struct VkPhysicalDeviceInlineUniformBlockFeatures 3027{ 3028 VkStructureType sType; 3029 void* pNext; 3030 VkBool32 inlineUniformBlock; 3031 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind; 3032}; 3033 3034struct VkPhysicalDeviceInlineUniformBlockProperties 3035{ 3036 VkStructureType sType; 3037 void* pNext; 3038 uint32_t maxInlineUniformBlockSize; 3039 uint32_t maxPerStageDescriptorInlineUniformBlocks; 3040 uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks; 3041 uint32_t maxDescriptorSetInlineUniformBlocks; 3042 uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks; 3043}; 3044 3045struct VkWriteDescriptorSetInlineUniformBlock 3046{ 3047 VkStructureType sType; 3048 const void* pNext; 3049 uint32_t dataSize; 3050 const void* pData; 3051}; 3052 3053struct VkDescriptorPoolInlineUniformBlockCreateInfo 3054{ 3055 VkStructureType sType; 3056 const void* pNext; 3057 uint32_t maxInlineUniformBlockBindings; 3058}; 3059 3060struct VkPipelineCoverageModulationStateCreateInfoNV 3061{ 3062 VkStructureType sType; 3063 const void* pNext; 3064 VkPipelineCoverageModulationStateCreateFlagsNV flags; 3065 VkCoverageModulationModeNV coverageModulationMode; 3066 VkBool32 coverageModulationTableEnable; 3067 uint32_t coverageModulationTableCount; 3068 const float* pCoverageModulationTable; 3069}; 3070 3071struct VkImageFormatListCreateInfo 3072{ 3073 VkStructureType sType; 3074 const void* pNext; 3075 uint32_t viewFormatCount; 3076 const VkFormat* pViewFormats; 3077}; 3078 3079struct VkValidationCacheCreateInfoEXT 3080{ 3081 VkStructureType sType; 3082 const void* pNext; 3083 VkValidationCacheCreateFlagsEXT flags; 3084 size_t initialDataSize; 3085 const void* pInitialData; 3086}; 3087 3088struct VkShaderModuleValidationCacheCreateInfoEXT 3089{ 3090 VkStructureType sType; 3091 const void* pNext; 3092 VkValidationCacheEXT validationCache; 3093}; 3094 3095struct VkPhysicalDeviceMaintenance3Properties 3096{ 3097 VkStructureType sType; 3098 void* pNext; 3099 uint32_t maxPerSetDescriptors; 3100 VkDeviceSize maxMemoryAllocationSize; 3101}; 3102 3103struct VkPhysicalDeviceMaintenance4Features 3104{ 3105 VkStructureType sType; 3106 void* pNext; 3107 VkBool32 maintenance4; 3108}; 3109 3110struct VkPhysicalDeviceMaintenance4Properties 3111{ 3112 VkStructureType sType; 3113 void* pNext; 3114 VkDeviceSize maxBufferSize; 3115}; 3116 3117struct VkDescriptorSetLayoutSupport 3118{ 3119 VkStructureType sType; 3120 void* pNext; 3121 VkBool32 supported; 3122}; 3123 3124struct VkPhysicalDeviceShaderDrawParametersFeatures 3125{ 3126 VkStructureType sType; 3127 void* pNext; 3128 VkBool32 shaderDrawParameters; 3129}; 3130 3131struct VkPhysicalDeviceShaderFloat16Int8Features 3132{ 3133 VkStructureType sType; 3134 void* pNext; 3135 VkBool32 shaderFloat16; 3136 VkBool32 shaderInt8; 3137}; 3138 3139struct VkPhysicalDeviceFloatControlsProperties 3140{ 3141 VkStructureType sType; 3142 void* pNext; 3143 VkShaderFloatControlsIndependence denormBehaviorIndependence; 3144 VkShaderFloatControlsIndependence roundingModeIndependence; 3145 VkBool32 shaderSignedZeroInfNanPreserveFloat16; 3146 VkBool32 shaderSignedZeroInfNanPreserveFloat32; 3147 VkBool32 shaderSignedZeroInfNanPreserveFloat64; 3148 VkBool32 shaderDenormPreserveFloat16; 3149 VkBool32 shaderDenormPreserveFloat32; 3150 VkBool32 shaderDenormPreserveFloat64; 3151 VkBool32 shaderDenormFlushToZeroFloat16; 3152 VkBool32 shaderDenormFlushToZeroFloat32; 3153 VkBool32 shaderDenormFlushToZeroFloat64; 3154 VkBool32 shaderRoundingModeRTEFloat16; 3155 VkBool32 shaderRoundingModeRTEFloat32; 3156 VkBool32 shaderRoundingModeRTEFloat64; 3157 VkBool32 shaderRoundingModeRTZFloat16; 3158 VkBool32 shaderRoundingModeRTZFloat32; 3159 VkBool32 shaderRoundingModeRTZFloat64; 3160}; 3161 3162struct VkPhysicalDeviceHostQueryResetFeatures 3163{ 3164 VkStructureType sType; 3165 void* pNext; 3166 VkBool32 hostQueryReset; 3167}; 3168 3169struct VkNativeBufferOpenHarmony 3170{ 3171 VkStructureType sType; 3172 const void* pNext; 3173 const void* handle; 3174}; 3175 3176struct VkSwapchainImageCreateInfoOpenHarmony 3177{ 3178 VkStructureType sType; 3179 const void* pNext; 3180 VkSwapchainImageUsageFlagsOpenHarmony usage; 3181}; 3182 3183struct VkPhysicalDevicePresentationPropertiesOpenHarmony 3184{ 3185 VkStructureType sType; 3186 const void* pNext; 3187 VkBool32 sharedImage; 3188}; 3189 3190struct VkShaderResourceUsageAMD 3191{ 3192 uint32_t numUsedVgprs; 3193 uint32_t numUsedSgprs; 3194 uint32_t ldsSizePerLocalWorkGroup; 3195 size_t ldsUsageSizeInBytes; 3196 size_t scratchMemUsageInBytes; 3197}; 3198 3199struct VkShaderStatisticsInfoAMD 3200{ 3201 VkShaderStageFlags shaderStageMask; 3202 VkShaderResourceUsageAMD resourceUsage; 3203 uint32_t numPhysicalVgprs; 3204 uint32_t numPhysicalSgprs; 3205 uint32_t numAvailableVgprs; 3206 uint32_t numAvailableSgprs; 3207 uint32_t computeWorkGroupSize[3]; 3208}; 3209 3210struct VkDeviceQueueGlobalPriorityCreateInfoKHR 3211{ 3212 VkStructureType sType; 3213 const void* pNext; 3214 VkQueueGlobalPriorityKHR globalPriority; 3215}; 3216 3217struct VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR 3218{ 3219 VkStructureType sType; 3220 void* pNext; 3221 VkBool32 globalPriorityQuery; 3222}; 3223 3224struct VkQueueFamilyGlobalPriorityPropertiesKHR 3225{ 3226 VkStructureType sType; 3227 void* pNext; 3228 uint32_t priorityCount; 3229 VkQueueGlobalPriorityKHR priorities[VK_MAX_GLOBAL_PRIORITY_SIZE_KHR]; 3230}; 3231 3232struct VkDebugUtilsObjectNameInfoEXT 3233{ 3234 VkStructureType sType; 3235 const void* pNext; 3236 VkObjectType objectType; 3237 uint64_t objectHandle; 3238 const char* pObjectName; 3239}; 3240 3241struct VkDebugUtilsObjectTagInfoEXT 3242{ 3243 VkStructureType sType; 3244 const void* pNext; 3245 VkObjectType objectType; 3246 uint64_t objectHandle; 3247 uint64_t tagName; 3248 size_t tagSize; 3249 const void* pTag; 3250}; 3251 3252struct VkDebugUtilsLabelEXT 3253{ 3254 VkStructureType sType; 3255 const void* pNext; 3256 const char* pLabelName; 3257 float color[4]; 3258}; 3259 3260struct VkDebugUtilsMessengerCreateInfoEXT 3261{ 3262 VkStructureType sType; 3263 const void* pNext; 3264 VkDebugUtilsMessengerCreateFlagsEXT flags; 3265 VkDebugUtilsMessageSeverityFlagsEXT messageSeverity; 3266 VkDebugUtilsMessageTypeFlagsEXT messageType; 3267 PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback; 3268 void* pUserData; 3269}; 3270 3271struct VkDebugUtilsMessengerCallbackDataEXT 3272{ 3273 VkStructureType sType; 3274 const void* pNext; 3275 VkDebugUtilsMessengerCallbackDataFlagsEXT flags; 3276 const char* pMessageIdName; 3277 int32_t messageIdNumber; 3278 const char* pMessage; 3279 uint32_t queueLabelCount; 3280 const VkDebugUtilsLabelEXT* pQueueLabels; 3281 uint32_t cmdBufLabelCount; 3282 const VkDebugUtilsLabelEXT* pCmdBufLabels; 3283 uint32_t objectCount; 3284 const VkDebugUtilsObjectNameInfoEXT* pObjects; 3285}; 3286 3287struct VkPhysicalDeviceDeviceMemoryReportFeaturesEXT 3288{ 3289 VkStructureType sType; 3290 void* pNext; 3291 VkBool32 deviceMemoryReport; 3292}; 3293 3294struct VkDeviceDeviceMemoryReportCreateInfoEXT 3295{ 3296 VkStructureType sType; 3297 const void* pNext; 3298 VkDeviceMemoryReportFlagsEXT flags; 3299 PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback; 3300 void* pUserData; 3301}; 3302 3303struct VkDeviceMemoryReportCallbackDataEXT 3304{ 3305 VkStructureType sType; 3306 void* pNext; 3307 VkDeviceMemoryReportFlagsEXT flags; 3308 VkDeviceMemoryReportEventTypeEXT type; 3309 uint64_t memoryObjectId; 3310 VkDeviceSize size; 3311 VkObjectType objectType; 3312 uint64_t objectHandle; 3313 uint32_t heapIndex; 3314}; 3315 3316struct VkImportMemoryHostPointerInfoEXT 3317{ 3318 VkStructureType sType; 3319 const void* pNext; 3320 VkExternalMemoryHandleTypeFlagBits handleType; 3321 void* pHostPointer; 3322}; 3323 3324struct VkMemoryHostPointerPropertiesEXT 3325{ 3326 VkStructureType sType; 3327 void* pNext; 3328 uint32_t memoryTypeBits; 3329}; 3330 3331struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT 3332{ 3333 VkStructureType sType; 3334 void* pNext; 3335 VkDeviceSize minImportedHostPointerAlignment; 3336}; 3337 3338struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT 3339{ 3340 VkStructureType sType; 3341 void* pNext; 3342 float primitiveOverestimationSize; 3343 float maxExtraPrimitiveOverestimationSize; 3344 float extraPrimitiveOverestimationSizeGranularity; 3345 VkBool32 primitiveUnderestimation; 3346 VkBool32 conservativePointAndLineRasterization; 3347 VkBool32 degenerateTrianglesRasterized; 3348 VkBool32 degenerateLinesRasterized; 3349 VkBool32 fullyCoveredFragmentShaderInputVariable; 3350 VkBool32 conservativeRasterizationPostDepthCoverage; 3351}; 3352 3353struct VkCalibratedTimestampInfoEXT 3354{ 3355 VkStructureType sType; 3356 const void* pNext; 3357 VkTimeDomainEXT timeDomain; 3358}; 3359 3360struct VkPhysicalDeviceShaderCorePropertiesAMD 3361{ 3362 VkStructureType sType; 3363 void* pNext; 3364 uint32_t shaderEngineCount; 3365 uint32_t shaderArraysPerEngineCount; 3366 uint32_t computeUnitsPerShaderArray; 3367 uint32_t simdPerComputeUnit; 3368 uint32_t wavefrontsPerSimd; 3369 uint32_t wavefrontSize; 3370 uint32_t sgprsPerSimd; 3371 uint32_t minSgprAllocation; 3372 uint32_t maxSgprAllocation; 3373 uint32_t sgprAllocationGranularity; 3374 uint32_t vgprsPerSimd; 3375 uint32_t minVgprAllocation; 3376 uint32_t maxVgprAllocation; 3377 uint32_t vgprAllocationGranularity; 3378}; 3379 3380struct VkPhysicalDeviceShaderCoreProperties2AMD 3381{ 3382 VkStructureType sType; 3383 void* pNext; 3384 VkShaderCorePropertiesFlagsAMD shaderCoreFeatures; 3385 uint32_t activeComputeUnitCount; 3386}; 3387 3388struct VkPipelineRasterizationConservativeStateCreateInfoEXT 3389{ 3390 VkStructureType sType; 3391 const void* pNext; 3392 VkPipelineRasterizationConservativeStateCreateFlagsEXT flags; 3393 VkConservativeRasterizationModeEXT conservativeRasterizationMode; 3394 float extraPrimitiveOverestimationSize; 3395}; 3396 3397struct VkPhysicalDeviceDescriptorIndexingFeatures 3398{ 3399 VkStructureType sType; 3400 void* pNext; 3401 VkBool32 shaderInputAttachmentArrayDynamicIndexing; 3402 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing; 3403 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing; 3404 VkBool32 shaderUniformBufferArrayNonUniformIndexing; 3405 VkBool32 shaderSampledImageArrayNonUniformIndexing; 3406 VkBool32 shaderStorageBufferArrayNonUniformIndexing; 3407 VkBool32 shaderStorageImageArrayNonUniformIndexing; 3408 VkBool32 shaderInputAttachmentArrayNonUniformIndexing; 3409 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing; 3410 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing; 3411 VkBool32 descriptorBindingUniformBufferUpdateAfterBind; 3412 VkBool32 descriptorBindingSampledImageUpdateAfterBind; 3413 VkBool32 descriptorBindingStorageImageUpdateAfterBind; 3414 VkBool32 descriptorBindingStorageBufferUpdateAfterBind; 3415 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind; 3416 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind; 3417 VkBool32 descriptorBindingUpdateUnusedWhilePending; 3418 VkBool32 descriptorBindingPartiallyBound; 3419 VkBool32 descriptorBindingVariableDescriptorCount; 3420 VkBool32 runtimeDescriptorArray; 3421}; 3422 3423struct VkPhysicalDeviceDescriptorIndexingProperties 3424{ 3425 VkStructureType sType; 3426 void* pNext; 3427 uint32_t maxUpdateAfterBindDescriptorsInAllPools; 3428 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative; 3429 VkBool32 shaderSampledImageArrayNonUniformIndexingNative; 3430 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative; 3431 VkBool32 shaderStorageImageArrayNonUniformIndexingNative; 3432 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative; 3433 VkBool32 robustBufferAccessUpdateAfterBind; 3434 VkBool32 quadDivergentImplicitLod; 3435 uint32_t maxPerStageDescriptorUpdateAfterBindSamplers; 3436 uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers; 3437 uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers; 3438 uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages; 3439 uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages; 3440 uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments; 3441 uint32_t maxPerStageUpdateAfterBindResources; 3442 uint32_t maxDescriptorSetUpdateAfterBindSamplers; 3443 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers; 3444 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic; 3445 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers; 3446 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic; 3447 uint32_t maxDescriptorSetUpdateAfterBindSampledImages; 3448 uint32_t maxDescriptorSetUpdateAfterBindStorageImages; 3449 uint32_t maxDescriptorSetUpdateAfterBindInputAttachments; 3450}; 3451 3452struct VkDescriptorSetLayoutBindingFlagsCreateInfo 3453{ 3454 VkStructureType sType; 3455 const void* pNext; 3456 uint32_t bindingCount; 3457 const VkDescriptorBindingFlags* pBindingFlags; 3458}; 3459 3460struct VkDescriptorSetVariableDescriptorCountAllocateInfo 3461{ 3462 VkStructureType sType; 3463 const void* pNext; 3464 uint32_t descriptorSetCount; 3465 const uint32_t* pDescriptorCounts; 3466}; 3467 3468struct VkDescriptorSetVariableDescriptorCountLayoutSupport 3469{ 3470 VkStructureType sType; 3471 void* pNext; 3472 uint32_t maxVariableDescriptorCount; 3473}; 3474 3475struct VkAttachmentDescription2 3476{ 3477 VkStructureType sType; 3478 const void* pNext; 3479 VkAttachmentDescriptionFlags flags; 3480 VkFormat format; 3481 VkSampleCountFlagBits samples; 3482 VkAttachmentLoadOp loadOp; 3483 VkAttachmentStoreOp storeOp; 3484 VkAttachmentLoadOp stencilLoadOp; 3485 VkAttachmentStoreOp stencilStoreOp; 3486 VkImageLayout initialLayout; 3487 VkImageLayout finalLayout; 3488}; 3489 3490struct VkAttachmentReference2 3491{ 3492 VkStructureType sType; 3493 const void* pNext; 3494 uint32_t attachment; 3495 VkImageLayout layout; 3496 VkImageAspectFlags aspectMask; 3497}; 3498 3499struct VkSubpassDescription2 3500{ 3501 VkStructureType sType; 3502 const void* pNext; 3503 VkSubpassDescriptionFlags flags; 3504 VkPipelineBindPoint pipelineBindPoint; 3505 uint32_t viewMask; 3506 uint32_t inputAttachmentCount; 3507 const VkAttachmentReference2* pInputAttachments; 3508 uint32_t colorAttachmentCount; 3509 const VkAttachmentReference2* pColorAttachments; 3510 const VkAttachmentReference2* pResolveAttachments; 3511 const VkAttachmentReference2* pDepthStencilAttachment; 3512 uint32_t preserveAttachmentCount; 3513 const uint32_t* pPreserveAttachments; 3514}; 3515 3516struct VkSubpassDependency2 3517{ 3518 VkStructureType sType; 3519 const void* pNext; 3520 uint32_t srcSubpass; 3521 uint32_t dstSubpass; 3522 VkPipelineStageFlags srcStageMask; 3523 VkPipelineStageFlags dstStageMask; 3524 VkAccessFlags srcAccessMask; 3525 VkAccessFlags dstAccessMask; 3526 VkDependencyFlags dependencyFlags; 3527 int32_t viewOffset; 3528}; 3529 3530struct VkRenderPassCreateInfo2 3531{ 3532 VkStructureType sType; 3533 const void* pNext; 3534 VkRenderPassCreateFlags flags; 3535 uint32_t attachmentCount; 3536 const VkAttachmentDescription2* pAttachments; 3537 uint32_t subpassCount; 3538 const VkSubpassDescription2* pSubpasses; 3539 uint32_t dependencyCount; 3540 const VkSubpassDependency2* pDependencies; 3541 uint32_t correlatedViewMaskCount; 3542 const uint32_t* pCorrelatedViewMasks; 3543}; 3544 3545struct VkSubpassBeginInfo 3546{ 3547 VkStructureType sType; 3548 const void* pNext; 3549 VkSubpassContents contents; 3550}; 3551 3552struct VkSubpassEndInfo 3553{ 3554 VkStructureType sType; 3555 const void* pNext; 3556}; 3557 3558struct VkPhysicalDeviceTimelineSemaphoreFeatures 3559{ 3560 VkStructureType sType; 3561 void* pNext; 3562 VkBool32 timelineSemaphore; 3563}; 3564 3565struct VkPhysicalDeviceTimelineSemaphoreProperties 3566{ 3567 VkStructureType sType; 3568 void* pNext; 3569 uint64_t maxTimelineSemaphoreValueDifference; 3570}; 3571 3572struct VkSemaphoreTypeCreateInfo 3573{ 3574 VkStructureType sType; 3575 const void* pNext; 3576 VkSemaphoreType semaphoreType; 3577 uint64_t initialValue; 3578}; 3579 3580struct VkTimelineSemaphoreSubmitInfo 3581{ 3582 VkStructureType sType; 3583 const void* pNext; 3584 uint32_t waitSemaphoreValueCount; 3585 const uint64_t* pWaitSemaphoreValues; 3586 uint32_t signalSemaphoreValueCount; 3587 const uint64_t* pSignalSemaphoreValues; 3588}; 3589 3590struct VkSemaphoreWaitInfo 3591{ 3592 VkStructureType sType; 3593 const void* pNext; 3594 VkSemaphoreWaitFlags flags; 3595 uint32_t semaphoreCount; 3596 const VkSemaphore* pSemaphores; 3597 const uint64_t* pValues; 3598}; 3599 3600struct VkSemaphoreSignalInfo 3601{ 3602 VkStructureType sType; 3603 const void* pNext; 3604 VkSemaphore semaphore; 3605 uint64_t value; 3606}; 3607 3608struct VkVertexInputBindingDivisorDescriptionEXT 3609{ 3610 uint32_t binding; 3611 uint32_t divisor; 3612}; 3613 3614struct VkPipelineVertexInputDivisorStateCreateInfoEXT 3615{ 3616 VkStructureType sType; 3617 const void* pNext; 3618 uint32_t vertexBindingDivisorCount; 3619 const VkVertexInputBindingDivisorDescriptionEXT* pVertexBindingDivisors; 3620}; 3621 3622struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT 3623{ 3624 VkStructureType sType; 3625 void* pNext; 3626 uint32_t maxVertexAttribDivisor; 3627}; 3628 3629struct VkPhysicalDevicePCIBusInfoPropertiesEXT 3630{ 3631 VkStructureType sType; 3632 void* pNext; 3633 uint32_t pciDomain; 3634 uint32_t pciBus; 3635 uint32_t pciDevice; 3636 uint32_t pciFunction; 3637}; 3638 3639struct VkImportAndroidHardwareBufferInfoANDROID 3640{ 3641 VkStructureType sType; 3642 const void* pNext; 3643 struct pt::AndroidHardwareBufferPtr buffer; 3644}; 3645 3646struct VkImportOHOSNativeBufferInfoOpenHarmony 3647{ 3648 VkStructureType sType; 3649 const void* pNext; 3650 struct OH_NativeBuffer* buffer; 3651}; 3652 3653struct VkAndroidHardwareBufferUsageANDROID 3654{ 3655 VkStructureType sType; 3656 void* pNext; 3657 uint64_t androidHardwareBufferUsage; 3658}; 3659 3660struct VkOHOSNativeBufferUsageOpenHarmony 3661{ 3662 VkStructureType sType; 3663 void* pNext; 3664 uint64_t OHOSNativeBufferUsage; 3665}; 3666 3667struct VkAndroidHardwareBufferPropertiesANDROID 3668{ 3669 VkStructureType sType; 3670 void* pNext; 3671 VkDeviceSize allocationSize; 3672 uint32_t memoryTypeBits; 3673}; 3674 3675struct VkMemoryGetAndroidHardwareBufferInfoANDROID 3676{ 3677 VkStructureType sType; 3678 const void* pNext; 3679 VkDeviceMemory memory; 3680}; 3681 3682struct VkMemoryGetOHOSNativeBufferInfoOpenHarmony 3683{ 3684 VkStructureType sType; 3685 const void* pNext; 3686 VkDeviceMemory memory; 3687}; 3688 3689struct VkAndroidHardwareBufferFormatPropertiesANDROID 3690{ 3691 VkStructureType sType; 3692 void* pNext; 3693 VkFormat format; 3694 uint64_t externalFormat; 3695 VkFormatFeatureFlags formatFeatures; 3696 VkComponentMapping samplerYcbcrConversionComponents; 3697 VkSamplerYcbcrModelConversion suggestedYcbcrModel; 3698 VkSamplerYcbcrRange suggestedYcbcrRange; 3699 VkChromaLocation suggestedXChromaOffset; 3700 VkChromaLocation suggestedYChromaOffset; 3701}; 3702 3703struct VkOHOSNativeBufferFormatPropertiesOpenHarmony 3704{ 3705 VkStructureType sType; 3706 void* pNext; 3707 VkFormat format; 3708 uint64_t externalFormat; 3709 VkFormatFeatureFlags formatFeatures; 3710 VkComponentMapping samplerYcbcrConversionComponents; 3711 VkSamplerYcbcrModelConversion suggestedYcbcrModel; 3712 VkSamplerYcbcrRange suggestedYcbcrRange; 3713 VkChromaLocation suggestedXChromaOffset; 3714 VkChromaLocation suggestedYChromaOffset; 3715}; 3716 3717struct VkCommandBufferInheritanceConditionalRenderingInfoEXT 3718{ 3719 VkStructureType sType; 3720 const void* pNext; 3721 VkBool32 conditionalRenderingEnable; 3722}; 3723 3724struct VkExternalFormatANDROID 3725{ 3726 VkStructureType sType; 3727 void* pNext; 3728 uint64_t externalFormat; 3729}; 3730 3731struct VkExternalFormatOpenHarmony 3732{ 3733 VkStructureType sType; 3734 void* pNext; 3735 uint64_t externalFormat; 3736}; 3737 3738struct VkPhysicalDevice8BitStorageFeatures 3739{ 3740 VkStructureType sType; 3741 void* pNext; 3742 VkBool32 storageBuffer8BitAccess; 3743 VkBool32 uniformAndStorageBuffer8BitAccess; 3744 VkBool32 storagePushConstant8; 3745}; 3746 3747struct VkPhysicalDeviceConditionalRenderingFeaturesEXT 3748{ 3749 VkStructureType sType; 3750 void* pNext; 3751 VkBool32 conditionalRendering; 3752 VkBool32 inheritedConditionalRendering; 3753}; 3754 3755struct VkPhysicalDeviceVulkanMemoryModelFeatures 3756{ 3757 VkStructureType sType; 3758 void* pNext; 3759 VkBool32 vulkanMemoryModel; 3760 VkBool32 vulkanMemoryModelDeviceScope; 3761 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains; 3762}; 3763 3764struct VkPhysicalDeviceShaderAtomicInt64Features 3765{ 3766 VkStructureType sType; 3767 void* pNext; 3768 VkBool32 shaderBufferInt64Atomics; 3769 VkBool32 shaderSharedInt64Atomics; 3770}; 3771 3772struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT 3773{ 3774 VkStructureType sType; 3775 void* pNext; 3776 VkBool32 shaderBufferFloat32Atomics; 3777 VkBool32 shaderBufferFloat32AtomicAdd; 3778 VkBool32 shaderBufferFloat64Atomics; 3779 VkBool32 shaderBufferFloat64AtomicAdd; 3780 VkBool32 shaderSharedFloat32Atomics; 3781 VkBool32 shaderSharedFloat32AtomicAdd; 3782 VkBool32 shaderSharedFloat64Atomics; 3783 VkBool32 shaderSharedFloat64AtomicAdd; 3784 VkBool32 shaderImageFloat32Atomics; 3785 VkBool32 shaderImageFloat32AtomicAdd; 3786 VkBool32 sparseImageFloat32Atomics; 3787 VkBool32 sparseImageFloat32AtomicAdd; 3788}; 3789 3790struct VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT 3791{ 3792 VkStructureType sType; 3793 void* pNext; 3794 VkBool32 shaderBufferFloat16Atomics; 3795 VkBool32 shaderBufferFloat16AtomicAdd; 3796 VkBool32 shaderBufferFloat16AtomicMinMax; 3797 VkBool32 shaderBufferFloat32AtomicMinMax; 3798 VkBool32 shaderBufferFloat64AtomicMinMax; 3799 VkBool32 shaderSharedFloat16Atomics; 3800 VkBool32 shaderSharedFloat16AtomicAdd; 3801 VkBool32 shaderSharedFloat16AtomicMinMax; 3802 VkBool32 shaderSharedFloat32AtomicMinMax; 3803 VkBool32 shaderSharedFloat64AtomicMinMax; 3804 VkBool32 shaderImageFloat32AtomicMinMax; 3805 VkBool32 sparseImageFloat32AtomicMinMax; 3806}; 3807 3808struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT 3809{ 3810 VkStructureType sType; 3811 void* pNext; 3812 VkBool32 vertexAttributeInstanceRateDivisor; 3813 VkBool32 vertexAttributeInstanceRateZeroDivisor; 3814}; 3815 3816struct VkQueueFamilyCheckpointPropertiesNV 3817{ 3818 VkStructureType sType; 3819 void* pNext; 3820 VkPipelineStageFlags checkpointExecutionStageMask; 3821}; 3822 3823struct VkCheckpointDataNV 3824{ 3825 VkStructureType sType; 3826 void* pNext; 3827 VkPipelineStageFlagBits stage; 3828 void* pCheckpointMarker; 3829}; 3830 3831struct VkPhysicalDeviceDepthStencilResolveProperties 3832{ 3833 VkStructureType sType; 3834 void* pNext; 3835 VkResolveModeFlags supportedDepthResolveModes; 3836 VkResolveModeFlags supportedStencilResolveModes; 3837 VkBool32 independentResolveNone; 3838 VkBool32 independentResolve; 3839}; 3840 3841struct VkSubpassDescriptionDepthStencilResolve 3842{ 3843 VkStructureType sType; 3844 const void* pNext; 3845 VkResolveModeFlagBits depthResolveMode; 3846 VkResolveModeFlagBits stencilResolveMode; 3847 const VkAttachmentReference2* pDepthStencilResolveAttachment; 3848}; 3849 3850struct VkImageViewASTCDecodeModeEXT 3851{ 3852 VkStructureType sType; 3853 const void* pNext; 3854 VkFormat decodeMode; 3855}; 3856 3857struct VkPhysicalDeviceASTCDecodeFeaturesEXT 3858{ 3859 VkStructureType sType; 3860 void* pNext; 3861 VkBool32 decodeModeSharedExponent; 3862}; 3863 3864struct VkPhysicalDeviceTransformFeedbackFeaturesEXT 3865{ 3866 VkStructureType sType; 3867 void* pNext; 3868 VkBool32 transformFeedback; 3869 VkBool32 geometryStreams; 3870}; 3871 3872struct VkPhysicalDeviceTransformFeedbackPropertiesEXT 3873{ 3874 VkStructureType sType; 3875 void* pNext; 3876 uint32_t maxTransformFeedbackStreams; 3877 uint32_t maxTransformFeedbackBuffers; 3878 VkDeviceSize maxTransformFeedbackBufferSize; 3879 uint32_t maxTransformFeedbackStreamDataSize; 3880 uint32_t maxTransformFeedbackBufferDataSize; 3881 uint32_t maxTransformFeedbackBufferDataStride; 3882 VkBool32 transformFeedbackQueries; 3883 VkBool32 transformFeedbackStreamsLinesTriangles; 3884 VkBool32 transformFeedbackRasterizationStreamSelect; 3885 VkBool32 transformFeedbackDraw; 3886}; 3887 3888struct VkPipelineRasterizationStateStreamCreateInfoEXT 3889{ 3890 VkStructureType sType; 3891 const void* pNext; 3892 VkPipelineRasterizationStateStreamCreateFlagsEXT flags; 3893 uint32_t rasterizationStream; 3894}; 3895 3896struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV 3897{ 3898 VkStructureType sType; 3899 void* pNext; 3900 VkBool32 representativeFragmentTest; 3901}; 3902 3903struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV 3904{ 3905 VkStructureType sType; 3906 const void* pNext; 3907 VkBool32 representativeFragmentTestEnable; 3908}; 3909 3910struct VkPhysicalDeviceExclusiveScissorFeaturesNV 3911{ 3912 VkStructureType sType; 3913 void* pNext; 3914 VkBool32 exclusiveScissor; 3915}; 3916 3917struct VkPipelineViewportExclusiveScissorStateCreateInfoNV 3918{ 3919 VkStructureType sType; 3920 const void* pNext; 3921 uint32_t exclusiveScissorCount; 3922 const VkRect2D* pExclusiveScissors; 3923}; 3924 3925struct VkPhysicalDeviceCornerSampledImageFeaturesNV 3926{ 3927 VkStructureType sType; 3928 void* pNext; 3929 VkBool32 cornerSampledImage; 3930}; 3931 3932struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV 3933{ 3934 VkStructureType sType; 3935 void* pNext; 3936 VkBool32 computeDerivativeGroupQuads; 3937 VkBool32 computeDerivativeGroupLinear; 3938}; 3939 3940struct VkPhysicalDeviceShaderImageFootprintFeaturesNV 3941{ 3942 VkStructureType sType; 3943 void* pNext; 3944 VkBool32 imageFootprint; 3945}; 3946 3947struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV 3948{ 3949 VkStructureType sType; 3950 void* pNext; 3951 VkBool32 dedicatedAllocationImageAliasing; 3952}; 3953 3954struct VkPhysicalDeviceCopyMemoryIndirectFeaturesNV 3955{ 3956 VkStructureType sType; 3957 void* pNext; 3958 VkBool32 indirectCopy; 3959}; 3960 3961struct VkPhysicalDeviceCopyMemoryIndirectPropertiesNV 3962{ 3963 VkStructureType sType; 3964 void* pNext; 3965 VkQueueFlags supportedQueues; 3966}; 3967 3968struct VkPhysicalDeviceMemoryDecompressionFeaturesNV 3969{ 3970 VkStructureType sType; 3971 void* pNext; 3972 VkBool32 memoryDecompression; 3973}; 3974 3975struct VkPhysicalDeviceMemoryDecompressionPropertiesNV 3976{ 3977 VkStructureType sType; 3978 void* pNext; 3979 VkMemoryDecompressionMethodFlagsNV decompressionMethods; 3980 uint64_t maxDecompressionIndirectCount; 3981}; 3982 3983struct VkShadingRatePaletteNV 3984{ 3985 uint32_t shadingRatePaletteEntryCount; 3986 const VkShadingRatePaletteEntryNV* pShadingRatePaletteEntries; 3987}; 3988 3989struct VkPipelineViewportShadingRateImageStateCreateInfoNV 3990{ 3991 VkStructureType sType; 3992 const void* pNext; 3993 VkBool32 shadingRateImageEnable; 3994 uint32_t viewportCount; 3995 const VkShadingRatePaletteNV* pShadingRatePalettes; 3996}; 3997 3998struct VkPhysicalDeviceShadingRateImageFeaturesNV 3999{ 4000 VkStructureType sType; 4001 void* pNext; 4002 VkBool32 shadingRateImage; 4003 VkBool32 shadingRateCoarseSampleOrder; 4004}; 4005 4006struct VkPhysicalDeviceShadingRateImagePropertiesNV 4007{ 4008 VkStructureType sType; 4009 void* pNext; 4010 VkExtent2D shadingRateTexelSize; 4011 uint32_t shadingRatePaletteSize; 4012 uint32_t shadingRateMaxCoarseSamples; 4013}; 4014 4015struct VkPhysicalDeviceInvocationMaskFeaturesHUAWEI 4016{ 4017 VkStructureType sType; 4018 void* pNext; 4019 VkBool32 invocationMask; 4020}; 4021 4022struct VkCoarseSampleLocationNV 4023{ 4024 uint32_t pixelX; 4025 uint32_t pixelY; 4026 uint32_t sample; 4027}; 4028 4029struct VkCoarseSampleOrderCustomNV 4030{ 4031 VkShadingRatePaletteEntryNV shadingRate; 4032 uint32_t sampleCount; 4033 uint32_t sampleLocationCount; 4034 const VkCoarseSampleLocationNV* pSampleLocations; 4035}; 4036 4037struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV 4038{ 4039 VkStructureType sType; 4040 const void* pNext; 4041 VkCoarseSampleOrderTypeNV sampleOrderType; 4042 uint32_t customSampleOrderCount; 4043 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders; 4044}; 4045 4046struct VkPhysicalDeviceMeshShaderFeaturesNV 4047{ 4048 VkStructureType sType; 4049 void* pNext; 4050 VkBool32 taskShader; 4051 VkBool32 meshShader; 4052}; 4053 4054struct VkPhysicalDeviceMeshShaderPropertiesNV 4055{ 4056 VkStructureType sType; 4057 void* pNext; 4058 uint32_t maxDrawMeshTasksCount; 4059 uint32_t maxTaskWorkGroupInvocations; 4060 uint32_t maxTaskWorkGroupSize[3]; 4061 uint32_t maxTaskTotalMemorySize; 4062 uint32_t maxTaskOutputCount; 4063 uint32_t maxMeshWorkGroupInvocations; 4064 uint32_t maxMeshWorkGroupSize[3]; 4065 uint32_t maxMeshTotalMemorySize; 4066 uint32_t maxMeshOutputVertices; 4067 uint32_t maxMeshOutputPrimitives; 4068 uint32_t maxMeshMultiviewViewCount; 4069 uint32_t meshOutputPerVertexGranularity; 4070 uint32_t meshOutputPerPrimitiveGranularity; 4071}; 4072 4073struct VkDrawMeshTasksIndirectCommandNV 4074{ 4075 uint32_t taskCount; 4076 uint32_t firstTask; 4077}; 4078 4079struct VkPhysicalDeviceMeshShaderFeaturesEXT 4080{ 4081 VkStructureType sType; 4082 void* pNext; 4083 VkBool32 taskShader; 4084 VkBool32 meshShader; 4085 VkBool32 multiviewMeshShader; 4086 VkBool32 primitiveFragmentShadingRateMeshShader; 4087 VkBool32 meshShaderQueries; 4088}; 4089 4090struct VkPhysicalDeviceMeshShaderPropertiesEXT 4091{ 4092 VkStructureType sType; 4093 void* pNext; 4094 uint32_t maxTaskWorkGroupTotalCount; 4095 uint32_t maxTaskWorkGroupCount[3]; 4096 uint32_t maxTaskWorkGroupInvocations; 4097 uint32_t maxTaskWorkGroupSize[3]; 4098 uint32_t maxTaskPayloadSize; 4099 uint32_t maxTaskSharedMemorySize; 4100 uint32_t maxTaskPayloadAndSharedMemorySize; 4101 uint32_t maxMeshWorkGroupTotalCount; 4102 uint32_t maxMeshWorkGroupCount[3]; 4103 uint32_t maxMeshWorkGroupInvocations; 4104 uint32_t maxMeshWorkGroupSize[3]; 4105 uint32_t maxMeshSharedMemorySize; 4106 uint32_t maxMeshPayloadAndSharedMemorySize; 4107 uint32_t maxMeshOutputMemorySize; 4108 uint32_t maxMeshPayloadAndOutputMemorySize; 4109 uint32_t maxMeshOutputComponents; 4110 uint32_t maxMeshOutputVertices; 4111 uint32_t maxMeshOutputPrimitives; 4112 uint32_t maxMeshOutputLayers; 4113 uint32_t maxMeshMultiviewViewCount; 4114 uint32_t meshOutputPerVertexGranularity; 4115 uint32_t meshOutputPerPrimitiveGranularity; 4116 uint32_t maxPreferredTaskWorkGroupInvocations; 4117 uint32_t maxPreferredMeshWorkGroupInvocations; 4118 VkBool32 prefersLocalInvocationVertexOutput; 4119 VkBool32 prefersLocalInvocationPrimitiveOutput; 4120 VkBool32 prefersCompactVertexOutput; 4121 VkBool32 prefersCompactPrimitiveOutput; 4122}; 4123 4124struct VkDrawMeshTasksIndirectCommandEXT 4125{ 4126 uint32_t groupCountX; 4127 uint32_t groupCountY; 4128 uint32_t groupCountZ; 4129}; 4130 4131struct VkRayTracingShaderGroupCreateInfoNV 4132{ 4133 VkStructureType sType; 4134 const void* pNext; 4135 VkRayTracingShaderGroupTypeKHR type; 4136 uint32_t generalShader; 4137 uint32_t closestHitShader; 4138 uint32_t anyHitShader; 4139 uint32_t intersectionShader; 4140}; 4141 4142struct VkRayTracingShaderGroupCreateInfoKHR 4143{ 4144 VkStructureType sType; 4145 const void* pNext; 4146 VkRayTracingShaderGroupTypeKHR type; 4147 uint32_t generalShader; 4148 uint32_t closestHitShader; 4149 uint32_t anyHitShader; 4150 uint32_t intersectionShader; 4151 const void* pShaderGroupCaptureReplayHandle; 4152}; 4153 4154struct VkRayTracingPipelineCreateInfoNV 4155{ 4156 VkStructureType sType; 4157 const void* pNext; 4158 VkPipelineCreateFlags flags; 4159 uint32_t stageCount; 4160 const VkPipelineShaderStageCreateInfo* pStages; 4161 uint32_t groupCount; 4162 const VkRayTracingShaderGroupCreateInfoNV* pGroups; 4163 uint32_t maxRecursionDepth; 4164 VkPipelineLayout layout; 4165 VkPipeline basePipelineHandle; 4166 int32_t basePipelineIndex; 4167}; 4168 4169struct VkGeometryTrianglesNV 4170{ 4171 VkStructureType sType; 4172 const void* pNext; 4173 VkBuffer vertexData; 4174 VkDeviceSize vertexOffset; 4175 uint32_t vertexCount; 4176 VkDeviceSize vertexStride; 4177 VkFormat vertexFormat; 4178 VkBuffer indexData; 4179 VkDeviceSize indexOffset; 4180 uint32_t indexCount; 4181 VkIndexType indexType; 4182 VkBuffer transformData; 4183 VkDeviceSize transformOffset; 4184}; 4185 4186struct VkGeometryAABBNV 4187{ 4188 VkStructureType sType; 4189 const void* pNext; 4190 VkBuffer aabbData; 4191 uint32_t numAABBs; 4192 uint32_t stride; 4193 VkDeviceSize offset; 4194}; 4195 4196struct VkGeometryDataNV 4197{ 4198 VkGeometryTrianglesNV triangles; 4199 VkGeometryAABBNV aabbs; 4200}; 4201 4202struct VkGeometryNV 4203{ 4204 VkStructureType sType; 4205 const void* pNext; 4206 VkGeometryTypeKHR geometryType; 4207 VkGeometryDataNV geometry; 4208 VkGeometryFlagsKHR flags; 4209}; 4210 4211struct VkAccelerationStructureInfoNV 4212{ 4213 VkStructureType sType; 4214 const void* pNext; 4215 VkAccelerationStructureTypeNV type; 4216 VkBuildAccelerationStructureFlagsNV flags; 4217 uint32_t instanceCount; 4218 uint32_t geometryCount; 4219 const VkGeometryNV* pGeometries; 4220}; 4221 4222struct VkAccelerationStructureCreateInfoNV 4223{ 4224 VkStructureType sType; 4225 const void* pNext; 4226 VkDeviceSize compactedSize; 4227 VkAccelerationStructureInfoNV info; 4228}; 4229 4230struct VkBindAccelerationStructureMemoryInfoNV 4231{ 4232 VkStructureType sType; 4233 const void* pNext; 4234 VkAccelerationStructureNV accelerationStructure; 4235 VkDeviceMemory memory; 4236 VkDeviceSize memoryOffset; 4237 uint32_t deviceIndexCount; 4238 const uint32_t* pDeviceIndices; 4239}; 4240 4241struct VkWriteDescriptorSetAccelerationStructureKHR 4242{ 4243 VkStructureType sType; 4244 const void* pNext; 4245 uint32_t accelerationStructureCount; 4246 const VkAccelerationStructureKHR* pAccelerationStructures; 4247}; 4248 4249struct VkWriteDescriptorSetAccelerationStructureNV 4250{ 4251 VkStructureType sType; 4252 const void* pNext; 4253 uint32_t accelerationStructureCount; 4254 const VkAccelerationStructureNV* pAccelerationStructures; 4255}; 4256 4257struct VkAccelerationStructureMemoryRequirementsInfoNV 4258{ 4259 VkStructureType sType; 4260 const void* pNext; 4261 VkAccelerationStructureMemoryRequirementsTypeNV type; 4262 VkAccelerationStructureNV accelerationStructure; 4263}; 4264 4265struct VkPhysicalDeviceAccelerationStructureFeaturesKHR 4266{ 4267 VkStructureType sType; 4268 void* pNext; 4269 VkBool32 accelerationStructure; 4270 VkBool32 accelerationStructureCaptureReplay; 4271 VkBool32 accelerationStructureIndirectBuild; 4272 VkBool32 accelerationStructureHostCommands; 4273 VkBool32 descriptorBindingAccelerationStructureUpdateAfterBind; 4274}; 4275 4276struct VkPhysicalDeviceRayTracingPipelineFeaturesKHR 4277{ 4278 VkStructureType sType; 4279 void* pNext; 4280 VkBool32 rayTracingPipeline; 4281 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplay; 4282 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplayMixed; 4283 VkBool32 rayTracingPipelineTraceRaysIndirect; 4284 VkBool32 rayTraversalPrimitiveCulling; 4285}; 4286 4287struct VkPhysicalDeviceRayQueryFeaturesKHR 4288{ 4289 VkStructureType sType; 4290 void* pNext; 4291 VkBool32 rayQuery; 4292}; 4293 4294struct VkPhysicalDeviceAccelerationStructurePropertiesKHR 4295{ 4296 VkStructureType sType; 4297 void* pNext; 4298 uint64_t maxGeometryCount; 4299 uint64_t maxInstanceCount; 4300 uint64_t maxPrimitiveCount; 4301 uint32_t maxPerStageDescriptorAccelerationStructures; 4302 uint32_t maxPerStageDescriptorUpdateAfterBindAccelerationStructures; 4303 uint32_t maxDescriptorSetAccelerationStructures; 4304 uint32_t maxDescriptorSetUpdateAfterBindAccelerationStructures; 4305 uint32_t minAccelerationStructureScratchOffsetAlignment; 4306}; 4307 4308struct VkPhysicalDeviceRayTracingPipelinePropertiesKHR 4309{ 4310 VkStructureType sType; 4311 void* pNext; 4312 uint32_t shaderGroupHandleSize; 4313 uint32_t maxRayRecursionDepth; 4314 uint32_t maxShaderGroupStride; 4315 uint32_t shaderGroupBaseAlignment; 4316 uint32_t shaderGroupHandleCaptureReplaySize; 4317 uint32_t maxRayDispatchInvocationCount; 4318 uint32_t shaderGroupHandleAlignment; 4319 uint32_t maxRayHitAttributeSize; 4320}; 4321 4322struct VkPhysicalDeviceRayTracingPropertiesNV 4323{ 4324 VkStructureType sType; 4325 void* pNext; 4326 uint32_t shaderGroupHandleSize; 4327 uint32_t maxRecursionDepth; 4328 uint32_t maxShaderGroupStride; 4329 uint32_t shaderGroupBaseAlignment; 4330 uint64_t maxGeometryCount; 4331 uint64_t maxInstanceCount; 4332 uint64_t maxTriangleCount; 4333 uint32_t maxDescriptorSetAccelerationStructures; 4334}; 4335 4336struct VkStridedDeviceAddressRegionKHR 4337{ 4338 VkDeviceAddress deviceAddress; 4339 VkDeviceSize stride; 4340 VkDeviceSize size; 4341}; 4342 4343struct VkTraceRaysIndirectCommandKHR 4344{ 4345 uint32_t width; 4346 uint32_t height; 4347 uint32_t depth; 4348}; 4349 4350struct VkTraceRaysIndirectCommand2KHR 4351{ 4352 VkDeviceAddress raygenShaderRecordAddress; 4353 VkDeviceSize raygenShaderRecordSize; 4354 VkDeviceAddress missShaderBindingTableAddress; 4355 VkDeviceSize missShaderBindingTableSize; 4356 VkDeviceSize missShaderBindingTableStride; 4357 VkDeviceAddress hitShaderBindingTableAddress; 4358 VkDeviceSize hitShaderBindingTableSize; 4359 VkDeviceSize hitShaderBindingTableStride; 4360 VkDeviceAddress callableShaderBindingTableAddress; 4361 VkDeviceSize callableShaderBindingTableSize; 4362 VkDeviceSize callableShaderBindingTableStride; 4363 uint32_t width; 4364 uint32_t height; 4365 uint32_t depth; 4366}; 4367 4368struct VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR 4369{ 4370 VkStructureType sType; 4371 void* pNext; 4372 VkBool32 rayTracingMaintenance1; 4373 VkBool32 rayTracingPipelineTraceRaysIndirect2; 4374}; 4375 4376struct VkDrmFormatModifierPropertiesEXT 4377{ 4378 uint64_t drmFormatModifier; 4379 uint32_t drmFormatModifierPlaneCount; 4380 VkFormatFeatureFlags drmFormatModifierTilingFeatures; 4381}; 4382 4383struct VkDrmFormatModifierPropertiesListEXT 4384{ 4385 VkStructureType sType; 4386 void* pNext; 4387 uint32_t drmFormatModifierCount; 4388 VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties; 4389}; 4390 4391struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT 4392{ 4393 VkStructureType sType; 4394 const void* pNext; 4395 uint64_t drmFormatModifier; 4396 VkSharingMode sharingMode; 4397 uint32_t queueFamilyIndexCount; 4398 const uint32_t* pQueueFamilyIndices; 4399}; 4400 4401struct VkImageDrmFormatModifierListCreateInfoEXT 4402{ 4403 VkStructureType sType; 4404 const void* pNext; 4405 uint32_t drmFormatModifierCount; 4406 const uint64_t* pDrmFormatModifiers; 4407}; 4408 4409struct VkImageDrmFormatModifierExplicitCreateInfoEXT 4410{ 4411 VkStructureType sType; 4412 const void* pNext; 4413 uint64_t drmFormatModifier; 4414 uint32_t drmFormatModifierPlaneCount; 4415 const VkSubresourceLayout* pPlaneLayouts; 4416}; 4417 4418struct VkImageDrmFormatModifierPropertiesEXT 4419{ 4420 VkStructureType sType; 4421 void* pNext; 4422 uint64_t drmFormatModifier; 4423}; 4424 4425struct VkImageStencilUsageCreateInfo 4426{ 4427 VkStructureType sType; 4428 const void* pNext; 4429 VkImageUsageFlags stencilUsage; 4430}; 4431 4432struct VkDeviceMemoryOverallocationCreateInfoAMD 4433{ 4434 VkStructureType sType; 4435 const void* pNext; 4436 VkMemoryOverallocationBehaviorAMD overallocationBehavior; 4437}; 4438 4439struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT 4440{ 4441 VkStructureType sType; 4442 void* pNext; 4443 VkBool32 fragmentDensityMap; 4444 VkBool32 fragmentDensityMapDynamic; 4445 VkBool32 fragmentDensityMapNonSubsampledImages; 4446}; 4447 4448struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT 4449{ 4450 VkStructureType sType; 4451 void* pNext; 4452 VkBool32 fragmentDensityMapDeferred; 4453}; 4454 4455struct VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM 4456{ 4457 VkStructureType sType; 4458 void* pNext; 4459 VkBool32 fragmentDensityMapOffset; 4460}; 4461 4462struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT 4463{ 4464 VkStructureType sType; 4465 void* pNext; 4466 VkExtent2D minFragmentDensityTexelSize; 4467 VkExtent2D maxFragmentDensityTexelSize; 4468 VkBool32 fragmentDensityInvocations; 4469}; 4470 4471struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT 4472{ 4473 VkStructureType sType; 4474 void* pNext; 4475 VkBool32 subsampledLoads; 4476 VkBool32 subsampledCoarseReconstructionEarlyAccess; 4477 uint32_t maxSubsampledArrayLayers; 4478 uint32_t maxDescriptorSetSubsampledSamplers; 4479}; 4480 4481struct VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM 4482{ 4483 VkStructureType sType; 4484 void* pNext; 4485 VkExtent2D fragmentDensityOffsetGranularity; 4486}; 4487 4488struct VkRenderPassFragmentDensityMapCreateInfoEXT 4489{ 4490 VkStructureType sType; 4491 const void* pNext; 4492 VkAttachmentReference fragmentDensityMapAttachment; 4493}; 4494 4495struct VkSubpassFragmentDensityMapOffsetEndInfoQCOM 4496{ 4497 VkStructureType sType; 4498 const void* pNext; 4499 uint32_t fragmentDensityOffsetCount; 4500 const VkOffset2D* pFragmentDensityOffsets; 4501}; 4502 4503struct VkPhysicalDeviceScalarBlockLayoutFeatures 4504{ 4505 VkStructureType sType; 4506 void* pNext; 4507 VkBool32 scalarBlockLayout; 4508}; 4509 4510struct VkSurfaceProtectedCapabilitiesKHR 4511{ 4512 VkStructureType sType; 4513 const void* pNext; 4514 VkBool32 supportsProtected; 4515}; 4516 4517struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures 4518{ 4519 VkStructureType sType; 4520 void* pNext; 4521 VkBool32 uniformBufferStandardLayout; 4522}; 4523 4524struct VkPhysicalDeviceDepthClipEnableFeaturesEXT 4525{ 4526 VkStructureType sType; 4527 void* pNext; 4528 VkBool32 depthClipEnable; 4529}; 4530 4531struct VkPipelineRasterizationDepthClipStateCreateInfoEXT 4532{ 4533 VkStructureType sType; 4534 const void* pNext; 4535 VkPipelineRasterizationDepthClipStateCreateFlagsEXT flags; 4536 VkBool32 depthClipEnable; 4537}; 4538 4539struct VkPhysicalDeviceMemoryBudgetPropertiesEXT 4540{ 4541 VkStructureType sType; 4542 void* pNext; 4543 VkDeviceSize heapBudget[VK_MAX_MEMORY_HEAPS]; 4544 VkDeviceSize heapUsage[VK_MAX_MEMORY_HEAPS]; 4545}; 4546 4547struct VkPhysicalDeviceMemoryPriorityFeaturesEXT 4548{ 4549 VkStructureType sType; 4550 void* pNext; 4551 VkBool32 memoryPriority; 4552}; 4553 4554struct VkMemoryPriorityAllocateInfoEXT 4555{ 4556 VkStructureType sType; 4557 const void* pNext; 4558 float priority; 4559}; 4560 4561struct VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT 4562{ 4563 VkStructureType sType; 4564 void* pNext; 4565 VkBool32 pageableDeviceLocalMemory; 4566}; 4567 4568struct VkPhysicalDeviceBufferDeviceAddressFeatures 4569{ 4570 VkStructureType sType; 4571 void* pNext; 4572 VkBool32 bufferDeviceAddress; 4573 VkBool32 bufferDeviceAddressCaptureReplay; 4574 VkBool32 bufferDeviceAddressMultiDevice; 4575}; 4576 4577struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT 4578{ 4579 VkStructureType sType; 4580 void* pNext; 4581 VkBool32 bufferDeviceAddress; 4582 VkBool32 bufferDeviceAddressCaptureReplay; 4583 VkBool32 bufferDeviceAddressMultiDevice; 4584}; 4585 4586struct VkBufferDeviceAddressInfo 4587{ 4588 VkStructureType sType; 4589 const void* pNext; 4590 VkBuffer buffer; 4591}; 4592 4593struct VkBufferOpaqueCaptureAddressCreateInfo 4594{ 4595 VkStructureType sType; 4596 const void* pNext; 4597 uint64_t opaqueCaptureAddress; 4598}; 4599 4600struct VkBufferDeviceAddressCreateInfoEXT 4601{ 4602 VkStructureType sType; 4603 const void* pNext; 4604 VkDeviceAddress deviceAddress; 4605}; 4606 4607struct VkPhysicalDeviceImageViewImageFormatInfoEXT 4608{ 4609 VkStructureType sType; 4610 void* pNext; 4611 VkImageViewType imageViewType; 4612}; 4613 4614struct VkFilterCubicImageViewImageFormatPropertiesEXT 4615{ 4616 VkStructureType sType; 4617 void* pNext; 4618 VkBool32 filterCubic; 4619 VkBool32 filterCubicMinmax; 4620}; 4621 4622struct VkPhysicalDeviceImagelessFramebufferFeatures 4623{ 4624 VkStructureType sType; 4625 void* pNext; 4626 VkBool32 imagelessFramebuffer; 4627}; 4628 4629struct VkFramebufferAttachmentImageInfo 4630{ 4631 VkStructureType sType; 4632 const void* pNext; 4633 VkImageCreateFlags flags; 4634 VkImageUsageFlags usage; 4635 uint32_t width; 4636 uint32_t height; 4637 uint32_t layerCount; 4638 uint32_t viewFormatCount; 4639 const VkFormat* pViewFormats; 4640}; 4641 4642struct VkFramebufferAttachmentsCreateInfo 4643{ 4644 VkStructureType sType; 4645 const void* pNext; 4646 uint32_t attachmentImageInfoCount; 4647 const VkFramebufferAttachmentImageInfo* pAttachmentImageInfos; 4648}; 4649 4650struct VkRenderPassAttachmentBeginInfo 4651{ 4652 VkStructureType sType; 4653 const void* pNext; 4654 uint32_t attachmentCount; 4655 const VkImageView* pAttachments; 4656}; 4657 4658struct VkPhysicalDeviceTextureCompressionASTCHDRFeatures 4659{ 4660 VkStructureType sType; 4661 void* pNext; 4662 VkBool32 textureCompressionASTC_HDR; 4663}; 4664 4665struct VkPhysicalDeviceCooperativeMatrixFeaturesNV 4666{ 4667 VkStructureType sType; 4668 void* pNext; 4669 VkBool32 cooperativeMatrix; 4670 VkBool32 cooperativeMatrixRobustBufferAccess; 4671}; 4672 4673struct VkPhysicalDeviceCooperativeMatrixPropertiesNV 4674{ 4675 VkStructureType sType; 4676 void* pNext; 4677 VkShaderStageFlags cooperativeMatrixSupportedStages; 4678}; 4679 4680struct VkCooperativeMatrixPropertiesNV 4681{ 4682 VkStructureType sType; 4683 void* pNext; 4684 uint32_t MSize; 4685 uint32_t NSize; 4686 uint32_t KSize; 4687 VkComponentTypeNV AType; 4688 VkComponentTypeNV BType; 4689 VkComponentTypeNV CType; 4690 VkComponentTypeNV DType; 4691 VkScopeNV scope; 4692}; 4693 4694struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT 4695{ 4696 VkStructureType sType; 4697 void* pNext; 4698 VkBool32 ycbcrImageArrays; 4699}; 4700 4701struct VkImageViewHandleInfoNVX 4702{ 4703 VkStructureType sType; 4704 const void* pNext; 4705 VkImageView imageView; 4706 VkDescriptorType descriptorType; 4707 VkSampler sampler; 4708}; 4709 4710struct VkImageViewAddressPropertiesNVX 4711{ 4712 VkStructureType sType; 4713 void* pNext; 4714 VkDeviceAddress deviceAddress; 4715 VkDeviceSize size; 4716}; 4717 4718struct VkPresentFrameTokenGGP 4719{ 4720 VkStructureType sType; 4721 const void* pNext; 4722 pt::GgpFrameToken frameToken; 4723}; 4724 4725struct VkPipelineCreationFeedback 4726{ 4727 VkPipelineCreationFeedbackFlags flags; 4728 uint64_t duration; 4729}; 4730 4731struct VkPipelineCreationFeedbackCreateInfo 4732{ 4733 VkStructureType sType; 4734 const void* pNext; 4735 VkPipelineCreationFeedback* pPipelineCreationFeedback; 4736 uint32_t pipelineStageCreationFeedbackCount; 4737 VkPipelineCreationFeedback* pPipelineStageCreationFeedbacks; 4738}; 4739 4740struct VkSurfaceFullScreenExclusiveInfoEXT 4741{ 4742 VkStructureType sType; 4743 void* pNext; 4744 VkFullScreenExclusiveEXT fullScreenExclusive; 4745}; 4746 4747struct VkSurfaceFullScreenExclusiveWin32InfoEXT 4748{ 4749 VkStructureType sType; 4750 const void* pNext; 4751 pt::Win32MonitorHandle hmonitor; 4752}; 4753 4754struct VkSurfaceCapabilitiesFullScreenExclusiveEXT 4755{ 4756 VkStructureType sType; 4757 void* pNext; 4758 VkBool32 fullScreenExclusiveSupported; 4759}; 4760 4761struct VkPhysicalDevicePresentBarrierFeaturesNV 4762{ 4763 VkStructureType sType; 4764 void* pNext; 4765 VkBool32 presentBarrier; 4766}; 4767 4768struct VkSurfaceCapabilitiesPresentBarrierNV 4769{ 4770 VkStructureType sType; 4771 void* pNext; 4772 VkBool32 presentBarrierSupported; 4773}; 4774 4775struct VkSwapchainPresentBarrierCreateInfoNV 4776{ 4777 VkStructureType sType; 4778 void* pNext; 4779 VkBool32 presentBarrierEnable; 4780}; 4781 4782struct VkPhysicalDevicePerformanceQueryFeaturesKHR 4783{ 4784 VkStructureType sType; 4785 void* pNext; 4786 VkBool32 performanceCounterQueryPools; 4787 VkBool32 performanceCounterMultipleQueryPools; 4788}; 4789 4790struct VkPhysicalDevicePerformanceQueryPropertiesKHR 4791{ 4792 VkStructureType sType; 4793 void* pNext; 4794 VkBool32 allowCommandBufferQueryCopies; 4795}; 4796 4797struct VkPerformanceCounterKHR 4798{ 4799 VkStructureType sType; 4800 void* pNext; 4801 VkPerformanceCounterUnitKHR unit; 4802 VkPerformanceCounterScopeKHR scope; 4803 VkPerformanceCounterStorageKHR storage; 4804 uint8_t uuid[VK_UUID_SIZE]; 4805}; 4806 4807struct VkPerformanceCounterDescriptionKHR 4808{ 4809 VkStructureType sType; 4810 void* pNext; 4811 VkPerformanceCounterDescriptionFlagsKHR flags; 4812 char name[VK_MAX_DESCRIPTION_SIZE]; 4813 char category[VK_MAX_DESCRIPTION_SIZE]; 4814 char description[VK_MAX_DESCRIPTION_SIZE]; 4815}; 4816 4817struct VkQueryPoolPerformanceCreateInfoKHR 4818{ 4819 VkStructureType sType; 4820 const void* pNext; 4821 uint32_t queueFamilyIndex; 4822 uint32_t counterIndexCount; 4823 const uint32_t* pCounterIndices; 4824}; 4825 4826union VkPerformanceCounterResultKHR 4827{ 4828 int32_t int32; 4829 int64_t int64; 4830 uint32_t uint32; 4831 uint64_t uint64; 4832 float float32; 4833 double float64; 4834}; 4835 4836struct VkAcquireProfilingLockInfoKHR 4837{ 4838 VkStructureType sType; 4839 const void* pNext; 4840 VkAcquireProfilingLockFlagsKHR flags; 4841 uint64_t timeout; 4842}; 4843 4844struct VkPerformanceQuerySubmitInfoKHR 4845{ 4846 VkStructureType sType; 4847 const void* pNext; 4848 uint32_t counterPassIndex; 4849}; 4850 4851struct VkHeadlessSurfaceCreateInfoEXT 4852{ 4853 VkStructureType sType; 4854 const void* pNext; 4855 VkHeadlessSurfaceCreateFlagsEXT flags; 4856}; 4857 4858struct VkPhysicalDeviceCoverageReductionModeFeaturesNV 4859{ 4860 VkStructureType sType; 4861 void* pNext; 4862 VkBool32 coverageReductionMode; 4863}; 4864 4865struct VkPipelineCoverageReductionStateCreateInfoNV 4866{ 4867 VkStructureType sType; 4868 const void* pNext; 4869 VkPipelineCoverageReductionStateCreateFlagsNV flags; 4870 VkCoverageReductionModeNV coverageReductionMode; 4871}; 4872 4873struct VkFramebufferMixedSamplesCombinationNV 4874{ 4875 VkStructureType sType; 4876 void* pNext; 4877 VkCoverageReductionModeNV coverageReductionMode; 4878 VkSampleCountFlagBits rasterizationSamples; 4879 VkSampleCountFlags depthStencilSamples; 4880 VkSampleCountFlags colorSamples; 4881}; 4882 4883struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL 4884{ 4885 VkStructureType sType; 4886 void* pNext; 4887 VkBool32 shaderIntegerFunctions2; 4888}; 4889 4890union VkPerformanceValueDataINTEL 4891{ 4892 uint32_t value32; 4893 uint64_t value64; 4894 float valueFloat; 4895 VkBool32 valueBool; 4896 const char* valueString; 4897}; 4898 4899struct VkPerformanceValueINTEL 4900{ 4901 VkPerformanceValueTypeINTEL type; 4902 VkPerformanceValueDataINTEL data; 4903}; 4904 4905struct VkInitializePerformanceApiInfoINTEL 4906{ 4907 VkStructureType sType; 4908 const void* pNext; 4909 void* pUserData; 4910}; 4911 4912struct VkQueryPoolPerformanceQueryCreateInfoINTEL 4913{ 4914 VkStructureType sType; 4915 const void* pNext; 4916 VkQueryPoolSamplingModeINTEL performanceCountersSampling; 4917}; 4918 4919struct VkPerformanceMarkerInfoINTEL 4920{ 4921 VkStructureType sType; 4922 const void* pNext; 4923 uint64_t marker; 4924}; 4925 4926struct VkPerformanceStreamMarkerInfoINTEL 4927{ 4928 VkStructureType sType; 4929 const void* pNext; 4930 uint32_t marker; 4931}; 4932 4933struct VkPerformanceOverrideInfoINTEL 4934{ 4935 VkStructureType sType; 4936 const void* pNext; 4937 VkPerformanceOverrideTypeINTEL type; 4938 VkBool32 enable; 4939 uint64_t parameter; 4940}; 4941 4942struct VkPerformanceConfigurationAcquireInfoINTEL 4943{ 4944 VkStructureType sType; 4945 const void* pNext; 4946 VkPerformanceConfigurationTypeINTEL type; 4947}; 4948 4949struct VkPhysicalDeviceShaderClockFeaturesKHR 4950{ 4951 VkStructureType sType; 4952 void* pNext; 4953 VkBool32 shaderSubgroupClock; 4954 VkBool32 shaderDeviceClock; 4955}; 4956 4957struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT 4958{ 4959 VkStructureType sType; 4960 void* pNext; 4961 VkBool32 indexTypeUint8; 4962}; 4963 4964struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV 4965{ 4966 VkStructureType sType; 4967 void* pNext; 4968 uint32_t shaderSMCount; 4969 uint32_t shaderWarpsPerSM; 4970}; 4971 4972struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV 4973{ 4974 VkStructureType sType; 4975 void* pNext; 4976 VkBool32 shaderSMBuiltins; 4977}; 4978 4979struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT 4980{ 4981 VkStructureType sType; 4982 void* pNext; 4983 VkBool32 fragmentShaderSampleInterlock; 4984 VkBool32 fragmentShaderPixelInterlock; 4985 VkBool32 fragmentShaderShadingRateInterlock; 4986}; 4987 4988struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures 4989{ 4990 VkStructureType sType; 4991 void* pNext; 4992 VkBool32 separateDepthStencilLayouts; 4993}; 4994 4995struct VkAttachmentReferenceStencilLayout 4996{ 4997 VkStructureType sType; 4998 void* pNext; 4999 VkImageLayout stencilLayout; 5000}; 5001 5002struct VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT 5003{ 5004 VkStructureType sType; 5005 void* pNext; 5006 VkBool32 primitiveTopologyListRestart; 5007 VkBool32 primitiveTopologyPatchListRestart; 5008}; 5009 5010struct VkAttachmentDescriptionStencilLayout 5011{ 5012 VkStructureType sType; 5013 void* pNext; 5014 VkImageLayout stencilInitialLayout; 5015 VkImageLayout stencilFinalLayout; 5016}; 5017 5018struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR 5019{ 5020 VkStructureType sType; 5021 void* pNext; 5022 VkBool32 pipelineExecutableInfo; 5023}; 5024 5025struct VkPipelineInfoKHR 5026{ 5027 VkStructureType sType; 5028 const void* pNext; 5029 VkPipeline pipeline; 5030}; 5031 5032struct VkPipelineExecutablePropertiesKHR 5033{ 5034 VkStructureType sType; 5035 void* pNext; 5036 VkShaderStageFlags stages; 5037 char name[VK_MAX_DESCRIPTION_SIZE]; 5038 char description[VK_MAX_DESCRIPTION_SIZE]; 5039 uint32_t subgroupSize; 5040}; 5041 5042struct VkPipelineExecutableInfoKHR 5043{ 5044 VkStructureType sType; 5045 const void* pNext; 5046 VkPipeline pipeline; 5047 uint32_t executableIndex; 5048}; 5049 5050union VkPipelineExecutableStatisticValueKHR 5051{ 5052 VkBool32 b32; 5053 int64_t i64; 5054 uint64_t u64; 5055 double f64; 5056}; 5057 5058struct VkPipelineExecutableStatisticKHR 5059{ 5060 VkStructureType sType; 5061 void* pNext; 5062 char name[VK_MAX_DESCRIPTION_SIZE]; 5063 char description[VK_MAX_DESCRIPTION_SIZE]; 5064 VkPipelineExecutableStatisticFormatKHR format; 5065 VkPipelineExecutableStatisticValueKHR value; 5066}; 5067 5068struct VkPipelineExecutableInternalRepresentationKHR 5069{ 5070 VkStructureType sType; 5071 void* pNext; 5072 char name[VK_MAX_DESCRIPTION_SIZE]; 5073 char description[VK_MAX_DESCRIPTION_SIZE]; 5074 VkBool32 isText; 5075 size_t dataSize; 5076 void* pData; 5077}; 5078 5079struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures 5080{ 5081 VkStructureType sType; 5082 void* pNext; 5083 VkBool32 shaderDemoteToHelperInvocation; 5084}; 5085 5086struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT 5087{ 5088 VkStructureType sType; 5089 void* pNext; 5090 VkBool32 texelBufferAlignment; 5091}; 5092 5093struct VkPhysicalDeviceTexelBufferAlignmentProperties 5094{ 5095 VkStructureType sType; 5096 void* pNext; 5097 VkDeviceSize storageTexelBufferOffsetAlignmentBytes; 5098 VkBool32 storageTexelBufferOffsetSingleTexelAlignment; 5099 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes; 5100 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment; 5101}; 5102 5103struct VkPhysicalDeviceSubgroupSizeControlFeatures 5104{ 5105 VkStructureType sType; 5106 void* pNext; 5107 VkBool32 subgroupSizeControl; 5108 VkBool32 computeFullSubgroups; 5109}; 5110 5111struct VkPhysicalDeviceSubgroupSizeControlProperties 5112{ 5113 VkStructureType sType; 5114 void* pNext; 5115 uint32_t minSubgroupSize; 5116 uint32_t maxSubgroupSize; 5117 uint32_t maxComputeWorkgroupSubgroups; 5118 VkShaderStageFlags requiredSubgroupSizeStages; 5119}; 5120 5121struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfo 5122{ 5123 VkStructureType sType; 5124 void* pNext; 5125 uint32_t requiredSubgroupSize; 5126}; 5127 5128struct VkSubpassShadingPipelineCreateInfoHUAWEI 5129{ 5130 VkStructureType sType; 5131 void* pNext; 5132 VkRenderPass renderPass; 5133 uint32_t subpass; 5134}; 5135 5136struct VkPhysicalDeviceSubpassShadingPropertiesHUAWEI 5137{ 5138 VkStructureType sType; 5139 void* pNext; 5140 uint32_t maxSubpassShadingWorkgroupSizeAspectRatio; 5141}; 5142 5143struct VkMemoryOpaqueCaptureAddressAllocateInfo 5144{ 5145 VkStructureType sType; 5146 const void* pNext; 5147 uint64_t opaqueCaptureAddress; 5148}; 5149 5150struct VkDeviceMemoryOpaqueCaptureAddressInfo 5151{ 5152 VkStructureType sType; 5153 const void* pNext; 5154 VkDeviceMemory memory; 5155}; 5156 5157struct VkPhysicalDeviceLineRasterizationFeaturesEXT 5158{ 5159 VkStructureType sType; 5160 void* pNext; 5161 VkBool32 rectangularLines; 5162 VkBool32 bresenhamLines; 5163 VkBool32 smoothLines; 5164 VkBool32 stippledRectangularLines; 5165 VkBool32 stippledBresenhamLines; 5166 VkBool32 stippledSmoothLines; 5167}; 5168 5169struct VkPhysicalDeviceLineRasterizationPropertiesEXT 5170{ 5171 VkStructureType sType; 5172 void* pNext; 5173 uint32_t lineSubPixelPrecisionBits; 5174}; 5175 5176struct VkPipelineRasterizationLineStateCreateInfoEXT 5177{ 5178 VkStructureType sType; 5179 const void* pNext; 5180 VkLineRasterizationModeEXT lineRasterizationMode; 5181 VkBool32 stippledLineEnable; 5182 uint32_t lineStippleFactor; 5183 uint16_t lineStipplePattern; 5184}; 5185 5186struct VkPhysicalDevicePipelineCreationCacheControlFeatures 5187{ 5188 VkStructureType sType; 5189 void* pNext; 5190 VkBool32 pipelineCreationCacheControl; 5191}; 5192 5193struct VkPhysicalDeviceVulkan11Features 5194{ 5195 VkStructureType sType; 5196 void* pNext; 5197 VkBool32 storageBuffer16BitAccess; 5198 VkBool32 uniformAndStorageBuffer16BitAccess; 5199 VkBool32 storagePushConstant16; 5200 VkBool32 storageInputOutput16; 5201 VkBool32 multiview; 5202 VkBool32 multiviewGeometryShader; 5203 VkBool32 multiviewTessellationShader; 5204 VkBool32 variablePointersStorageBuffer; 5205 VkBool32 variablePointers; 5206 VkBool32 protectedMemory; 5207 VkBool32 samplerYcbcrConversion; 5208 VkBool32 shaderDrawParameters; 5209}; 5210 5211struct VkPhysicalDeviceVulkan11Properties 5212{ 5213 VkStructureType sType; 5214 void* pNext; 5215 uint8_t deviceUUID[VK_UUID_SIZE]; 5216 uint8_t driverUUID[VK_UUID_SIZE]; 5217 uint8_t deviceLUID[VK_LUID_SIZE]; 5218 uint32_t deviceNodeMask; 5219 VkBool32 deviceLUIDValid; 5220 uint32_t subgroupSize; 5221 VkShaderStageFlags subgroupSupportedStages; 5222 VkSubgroupFeatureFlags subgroupSupportedOperations; 5223 VkBool32 subgroupQuadOperationsInAllStages; 5224 VkPointClippingBehavior pointClippingBehavior; 5225 uint32_t maxMultiviewViewCount; 5226 uint32_t maxMultiviewInstanceIndex; 5227 VkBool32 protectedNoFault; 5228 uint32_t maxPerSetDescriptors; 5229 VkDeviceSize maxMemoryAllocationSize; 5230}; 5231 5232struct VkPhysicalDeviceVulkan12Features 5233{ 5234 VkStructureType sType; 5235 void* pNext; 5236 VkBool32 samplerMirrorClampToEdge; 5237 VkBool32 drawIndirectCount; 5238 VkBool32 storageBuffer8BitAccess; 5239 VkBool32 uniformAndStorageBuffer8BitAccess; 5240 VkBool32 storagePushConstant8; 5241 VkBool32 shaderBufferInt64Atomics; 5242 VkBool32 shaderSharedInt64Atomics; 5243 VkBool32 shaderFloat16; 5244 VkBool32 shaderInt8; 5245 VkBool32 descriptorIndexing; 5246 VkBool32 shaderInputAttachmentArrayDynamicIndexing; 5247 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing; 5248 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing; 5249 VkBool32 shaderUniformBufferArrayNonUniformIndexing; 5250 VkBool32 shaderSampledImageArrayNonUniformIndexing; 5251 VkBool32 shaderStorageBufferArrayNonUniformIndexing; 5252 VkBool32 shaderStorageImageArrayNonUniformIndexing; 5253 VkBool32 shaderInputAttachmentArrayNonUniformIndexing; 5254 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing; 5255 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing; 5256 VkBool32 descriptorBindingUniformBufferUpdateAfterBind; 5257 VkBool32 descriptorBindingSampledImageUpdateAfterBind; 5258 VkBool32 descriptorBindingStorageImageUpdateAfterBind; 5259 VkBool32 descriptorBindingStorageBufferUpdateAfterBind; 5260 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind; 5261 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind; 5262 VkBool32 descriptorBindingUpdateUnusedWhilePending; 5263 VkBool32 descriptorBindingPartiallyBound; 5264 VkBool32 descriptorBindingVariableDescriptorCount; 5265 VkBool32 runtimeDescriptorArray; 5266 VkBool32 samplerFilterMinmax; 5267 VkBool32 scalarBlockLayout; 5268 VkBool32 imagelessFramebuffer; 5269 VkBool32 uniformBufferStandardLayout; 5270 VkBool32 shaderSubgroupExtendedTypes; 5271 VkBool32 separateDepthStencilLayouts; 5272 VkBool32 hostQueryReset; 5273 VkBool32 timelineSemaphore; 5274 VkBool32 bufferDeviceAddress; 5275 VkBool32 bufferDeviceAddressCaptureReplay; 5276 VkBool32 bufferDeviceAddressMultiDevice; 5277 VkBool32 vulkanMemoryModel; 5278 VkBool32 vulkanMemoryModelDeviceScope; 5279 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains; 5280 VkBool32 shaderOutputViewportIndex; 5281 VkBool32 shaderOutputLayer; 5282 VkBool32 subgroupBroadcastDynamicId; 5283}; 5284 5285struct VkPhysicalDeviceVulkan12Properties 5286{ 5287 VkStructureType sType; 5288 void* pNext; 5289 VkDriverId driverID; 5290 char driverName[VK_MAX_DRIVER_NAME_SIZE]; 5291 char driverInfo[VK_MAX_DRIVER_INFO_SIZE]; 5292 VkConformanceVersion conformanceVersion; 5293 VkShaderFloatControlsIndependence denormBehaviorIndependence; 5294 VkShaderFloatControlsIndependence roundingModeIndependence; 5295 VkBool32 shaderSignedZeroInfNanPreserveFloat16; 5296 VkBool32 shaderSignedZeroInfNanPreserveFloat32; 5297 VkBool32 shaderSignedZeroInfNanPreserveFloat64; 5298 VkBool32 shaderDenormPreserveFloat16; 5299 VkBool32 shaderDenormPreserveFloat32; 5300 VkBool32 shaderDenormPreserveFloat64; 5301 VkBool32 shaderDenormFlushToZeroFloat16; 5302 VkBool32 shaderDenormFlushToZeroFloat32; 5303 VkBool32 shaderDenormFlushToZeroFloat64; 5304 VkBool32 shaderRoundingModeRTEFloat16; 5305 VkBool32 shaderRoundingModeRTEFloat32; 5306 VkBool32 shaderRoundingModeRTEFloat64; 5307 VkBool32 shaderRoundingModeRTZFloat16; 5308 VkBool32 shaderRoundingModeRTZFloat32; 5309 VkBool32 shaderRoundingModeRTZFloat64; 5310 uint32_t maxUpdateAfterBindDescriptorsInAllPools; 5311 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative; 5312 VkBool32 shaderSampledImageArrayNonUniformIndexingNative; 5313 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative; 5314 VkBool32 shaderStorageImageArrayNonUniformIndexingNative; 5315 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative; 5316 VkBool32 robustBufferAccessUpdateAfterBind; 5317 VkBool32 quadDivergentImplicitLod; 5318 uint32_t maxPerStageDescriptorUpdateAfterBindSamplers; 5319 uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers; 5320 uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers; 5321 uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages; 5322 uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages; 5323 uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments; 5324 uint32_t maxPerStageUpdateAfterBindResources; 5325 uint32_t maxDescriptorSetUpdateAfterBindSamplers; 5326 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers; 5327 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic; 5328 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers; 5329 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic; 5330 uint32_t maxDescriptorSetUpdateAfterBindSampledImages; 5331 uint32_t maxDescriptorSetUpdateAfterBindStorageImages; 5332 uint32_t maxDescriptorSetUpdateAfterBindInputAttachments; 5333 VkResolveModeFlags supportedDepthResolveModes; 5334 VkResolveModeFlags supportedStencilResolveModes; 5335 VkBool32 independentResolveNone; 5336 VkBool32 independentResolve; 5337 VkBool32 filterMinmaxSingleComponentFormats; 5338 VkBool32 filterMinmaxImageComponentMapping; 5339 uint64_t maxTimelineSemaphoreValueDifference; 5340 VkSampleCountFlags framebufferIntegerColorSampleCounts; 5341}; 5342 5343struct VkPhysicalDeviceVulkan13Features 5344{ 5345 VkStructureType sType; 5346 void* pNext; 5347 VkBool32 robustImageAccess; 5348 VkBool32 inlineUniformBlock; 5349 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind; 5350 VkBool32 pipelineCreationCacheControl; 5351 VkBool32 privateData; 5352 VkBool32 shaderDemoteToHelperInvocation; 5353 VkBool32 shaderTerminateInvocation; 5354 VkBool32 subgroupSizeControl; 5355 VkBool32 computeFullSubgroups; 5356 VkBool32 synchronization2; 5357 VkBool32 textureCompressionASTC_HDR; 5358 VkBool32 shaderZeroInitializeWorkgroupMemory; 5359 VkBool32 dynamicRendering; 5360 VkBool32 shaderIntegerDotProduct; 5361 VkBool32 maintenance4; 5362}; 5363 5364struct VkPhysicalDeviceVulkan13Properties 5365{ 5366 VkStructureType sType; 5367 void* pNext; 5368 uint32_t minSubgroupSize; 5369 uint32_t maxSubgroupSize; 5370 uint32_t maxComputeWorkgroupSubgroups; 5371 VkShaderStageFlags requiredSubgroupSizeStages; 5372 uint32_t maxInlineUniformBlockSize; 5373 uint32_t maxPerStageDescriptorInlineUniformBlocks; 5374 uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks; 5375 uint32_t maxDescriptorSetInlineUniformBlocks; 5376 uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks; 5377 uint32_t maxInlineUniformTotalSize; 5378 VkBool32 integerDotProduct8BitUnsignedAccelerated; 5379 VkBool32 integerDotProduct8BitSignedAccelerated; 5380 VkBool32 integerDotProduct8BitMixedSignednessAccelerated; 5381 VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated; 5382 VkBool32 integerDotProduct4x8BitPackedSignedAccelerated; 5383 VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated; 5384 VkBool32 integerDotProduct16BitUnsignedAccelerated; 5385 VkBool32 integerDotProduct16BitSignedAccelerated; 5386 VkBool32 integerDotProduct16BitMixedSignednessAccelerated; 5387 VkBool32 integerDotProduct32BitUnsignedAccelerated; 5388 VkBool32 integerDotProduct32BitSignedAccelerated; 5389 VkBool32 integerDotProduct32BitMixedSignednessAccelerated; 5390 VkBool32 integerDotProduct64BitUnsignedAccelerated; 5391 VkBool32 integerDotProduct64BitSignedAccelerated; 5392 VkBool32 integerDotProduct64BitMixedSignednessAccelerated; 5393 VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated; 5394 VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated; 5395 VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated; 5396 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated; 5397 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated; 5398 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated; 5399 VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated; 5400 VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated; 5401 VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated; 5402 VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated; 5403 VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated; 5404 VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated; 5405 VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated; 5406 VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated; 5407 VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated; 5408 VkDeviceSize storageTexelBufferOffsetAlignmentBytes; 5409 VkBool32 storageTexelBufferOffsetSingleTexelAlignment; 5410 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes; 5411 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment; 5412 VkDeviceSize maxBufferSize; 5413}; 5414 5415struct VkPipelineCompilerControlCreateInfoAMD 5416{ 5417 VkStructureType sType; 5418 const void* pNext; 5419 VkPipelineCompilerControlFlagsAMD compilerControlFlags; 5420}; 5421 5422struct VkPhysicalDeviceCoherentMemoryFeaturesAMD 5423{ 5424 VkStructureType sType; 5425 void* pNext; 5426 VkBool32 deviceCoherentMemory; 5427}; 5428 5429struct VkPhysicalDeviceToolProperties 5430{ 5431 VkStructureType sType; 5432 void* pNext; 5433 char name[VK_MAX_EXTENSION_NAME_SIZE]; 5434 char version[VK_MAX_EXTENSION_NAME_SIZE]; 5435 VkToolPurposeFlags purposes; 5436 char description[VK_MAX_DESCRIPTION_SIZE]; 5437 char layer[VK_MAX_EXTENSION_NAME_SIZE]; 5438}; 5439 5440struct VkSamplerCustomBorderColorCreateInfoEXT 5441{ 5442 VkStructureType sType; 5443 const void* pNext; 5444 VkClearColorValue customBorderColor; 5445 VkFormat format; 5446}; 5447 5448struct VkPhysicalDeviceCustomBorderColorPropertiesEXT 5449{ 5450 VkStructureType sType; 5451 void* pNext; 5452 uint32_t maxCustomBorderColorSamplers; 5453}; 5454 5455struct VkPhysicalDeviceCustomBorderColorFeaturesEXT 5456{ 5457 VkStructureType sType; 5458 void* pNext; 5459 VkBool32 customBorderColors; 5460 VkBool32 customBorderColorWithoutFormat; 5461}; 5462 5463struct VkSamplerBorderColorComponentMappingCreateInfoEXT 5464{ 5465 VkStructureType sType; 5466 const void* pNext; 5467 VkComponentMapping components; 5468 VkBool32 srgb; 5469}; 5470 5471struct VkPhysicalDeviceBorderColorSwizzleFeaturesEXT 5472{ 5473 VkStructureType sType; 5474 void* pNext; 5475 VkBool32 borderColorSwizzle; 5476 VkBool32 borderColorSwizzleFromImage; 5477}; 5478 5479union VkDeviceOrHostAddressKHR 5480{ 5481 VkDeviceAddress deviceAddress; 5482 void* hostAddress; 5483}; 5484 5485union VkDeviceOrHostAddressConstKHR 5486{ 5487 VkDeviceAddress deviceAddress; 5488 const void* hostAddress; 5489}; 5490 5491struct VkAccelerationStructureGeometryTrianglesDataKHR 5492{ 5493 VkStructureType sType; 5494 const void* pNext; 5495 VkFormat vertexFormat; 5496 VkDeviceOrHostAddressConstKHR vertexData; 5497 VkDeviceSize vertexStride; 5498 uint32_t maxVertex; 5499 VkIndexType indexType; 5500 VkDeviceOrHostAddressConstKHR indexData; 5501 VkDeviceOrHostAddressConstKHR transformData; 5502}; 5503 5504struct VkAccelerationStructureGeometryAabbsDataKHR 5505{ 5506 VkStructureType sType; 5507 const void* pNext; 5508 VkDeviceOrHostAddressConstKHR data; 5509 VkDeviceSize stride; 5510}; 5511 5512struct VkAccelerationStructureGeometryInstancesDataKHR 5513{ 5514 VkStructureType sType; 5515 const void* pNext; 5516 VkBool32 arrayOfPointers; 5517 VkDeviceOrHostAddressConstKHR data; 5518}; 5519 5520union VkAccelerationStructureGeometryDataKHR 5521{ 5522 VkAccelerationStructureGeometryTrianglesDataKHR triangles; 5523 VkAccelerationStructureGeometryAabbsDataKHR aabbs; 5524 VkAccelerationStructureGeometryInstancesDataKHR instances; 5525}; 5526 5527struct VkAccelerationStructureGeometryKHR 5528{ 5529 VkStructureType sType; 5530 const void* pNext; 5531 VkGeometryTypeKHR geometryType; 5532 VkAccelerationStructureGeometryDataKHR geometry; 5533 VkGeometryFlagsKHR flags; 5534}; 5535 5536struct VkAccelerationStructureBuildGeometryInfoKHR 5537{ 5538 VkStructureType sType; 5539 const void* pNext; 5540 VkAccelerationStructureTypeKHR type; 5541 VkBuildAccelerationStructureFlagsKHR flags; 5542 VkBuildAccelerationStructureModeKHR mode; 5543 VkAccelerationStructureKHR srcAccelerationStructure; 5544 VkAccelerationStructureKHR dstAccelerationStructure; 5545 uint32_t geometryCount; 5546 const VkAccelerationStructureGeometryKHR* pGeometries; 5547 const VkAccelerationStructureGeometryKHR* const* ppGeometries; 5548 VkDeviceOrHostAddressKHR scratchData; 5549}; 5550 5551struct VkAccelerationStructureBuildRangeInfoKHR 5552{ 5553 uint32_t primitiveCount; 5554 uint32_t primitiveOffset; 5555 uint32_t firstVertex; 5556 uint32_t transformOffset; 5557}; 5558 5559struct VkAccelerationStructureCreateInfoKHR 5560{ 5561 VkStructureType sType; 5562 const void* pNext; 5563 VkAccelerationStructureCreateFlagsKHR createFlags; 5564 VkBuffer buffer; 5565 VkDeviceSize offset; 5566 VkDeviceSize size; 5567 VkAccelerationStructureTypeKHR type; 5568 VkDeviceAddress deviceAddress; 5569}; 5570 5571struct VkAabbPositionsKHR 5572{ 5573 float minX; 5574 float minY; 5575 float minZ; 5576 float maxX; 5577 float maxY; 5578 float maxZ; 5579}; 5580 5581struct VkTransformMatrixKHR 5582{ 5583 float matrix[3][4]; 5584}; 5585 5586struct VkAccelerationStructureInstanceKHR 5587{ 5588 VkTransformMatrixKHR transform; 5589 uint32_t instanceCustomIndex:24; 5590 uint32_t mask:8; 5591 uint32_t instanceShaderBindingTableRecordOffset:24; 5592 VkGeometryInstanceFlagsKHR flags:8; 5593 uint64_t accelerationStructureReference; 5594}; 5595 5596struct VkAccelerationStructureDeviceAddressInfoKHR 5597{ 5598 VkStructureType sType; 5599 const void* pNext; 5600 VkAccelerationStructureKHR accelerationStructure; 5601}; 5602 5603struct VkAccelerationStructureVersionInfoKHR 5604{ 5605 VkStructureType sType; 5606 const void* pNext; 5607 const uint8_t* pVersionData; 5608}; 5609 5610struct VkCopyAccelerationStructureInfoKHR 5611{ 5612 VkStructureType sType; 5613 const void* pNext; 5614 VkAccelerationStructureKHR src; 5615 VkAccelerationStructureKHR dst; 5616 VkCopyAccelerationStructureModeKHR mode; 5617}; 5618 5619struct VkCopyAccelerationStructureToMemoryInfoKHR 5620{ 5621 VkStructureType sType; 5622 const void* pNext; 5623 VkAccelerationStructureKHR src; 5624 VkDeviceOrHostAddressKHR dst; 5625 VkCopyAccelerationStructureModeKHR mode; 5626}; 5627 5628struct VkCopyMemoryToAccelerationStructureInfoKHR 5629{ 5630 VkStructureType sType; 5631 const void* pNext; 5632 VkDeviceOrHostAddressConstKHR src; 5633 VkAccelerationStructureKHR dst; 5634 VkCopyAccelerationStructureModeKHR mode; 5635}; 5636 5637struct VkRayTracingPipelineInterfaceCreateInfoKHR 5638{ 5639 VkStructureType sType; 5640 const void* pNext; 5641 uint32_t maxPipelineRayPayloadSize; 5642 uint32_t maxPipelineRayHitAttributeSize; 5643}; 5644 5645struct VkPipelineLibraryCreateInfoKHR 5646{ 5647 VkStructureType sType; 5648 const void* pNext; 5649 uint32_t libraryCount; 5650 const VkPipeline* pLibraries; 5651}; 5652 5653struct VkRayTracingPipelineCreateInfoKHR 5654{ 5655 VkStructureType sType; 5656 const void* pNext; 5657 VkPipelineCreateFlags flags; 5658 uint32_t stageCount; 5659 const VkPipelineShaderStageCreateInfo* pStages; 5660 uint32_t groupCount; 5661 const VkRayTracingShaderGroupCreateInfoKHR* pGroups; 5662 uint32_t maxPipelineRayRecursionDepth; 5663 const VkPipelineLibraryCreateInfoKHR* pLibraryInfo; 5664 const VkRayTracingPipelineInterfaceCreateInfoKHR* pLibraryInterface; 5665 const VkPipelineDynamicStateCreateInfo* pDynamicState; 5666 VkPipelineLayout layout; 5667 VkPipeline basePipelineHandle; 5668 int32_t basePipelineIndex; 5669}; 5670 5671struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT 5672{ 5673 VkStructureType sType; 5674 void* pNext; 5675 VkBool32 extendedDynamicState; 5676}; 5677 5678struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT 5679{ 5680 VkStructureType sType; 5681 void* pNext; 5682 VkBool32 extendedDynamicState2; 5683 VkBool32 extendedDynamicState2LogicOp; 5684 VkBool32 extendedDynamicState2PatchControlPoints; 5685}; 5686 5687struct VkPhysicalDeviceExtendedDynamicState3FeaturesEXT 5688{ 5689 VkStructureType sType; 5690 void* pNext; 5691 VkBool32 extendedDynamicState3TessellationDomainOrigin; 5692 VkBool32 extendedDynamicState3DepthClampEnable; 5693 VkBool32 extendedDynamicState3PolygonMode; 5694 VkBool32 extendedDynamicState3RasterizationSamples; 5695 VkBool32 extendedDynamicState3SampleMask; 5696 VkBool32 extendedDynamicState3AlphaToCoverageEnable; 5697 VkBool32 extendedDynamicState3AlphaToOneEnable; 5698 VkBool32 extendedDynamicState3LogicOpEnable; 5699 VkBool32 extendedDynamicState3ColorBlendEnable; 5700 VkBool32 extendedDynamicState3ColorBlendEquation; 5701 VkBool32 extendedDynamicState3ColorWriteMask; 5702 VkBool32 extendedDynamicState3RasterizationStream; 5703 VkBool32 extendedDynamicState3ConservativeRasterizationMode; 5704 VkBool32 extendedDynamicState3ExtraPrimitiveOverestimationSize; 5705 VkBool32 extendedDynamicState3DepthClipEnable; 5706 VkBool32 extendedDynamicState3SampleLocationsEnable; 5707 VkBool32 extendedDynamicState3ColorBlendAdvanced; 5708 VkBool32 extendedDynamicState3ProvokingVertexMode; 5709 VkBool32 extendedDynamicState3LineRasterizationMode; 5710 VkBool32 extendedDynamicState3LineStippleEnable; 5711 VkBool32 extendedDynamicState3DepthClipNegativeOneToOne; 5712 VkBool32 extendedDynamicState3ViewportWScalingEnable; 5713 VkBool32 extendedDynamicState3ViewportSwizzle; 5714 VkBool32 extendedDynamicState3CoverageToColorEnable; 5715 VkBool32 extendedDynamicState3CoverageToColorLocation; 5716 VkBool32 extendedDynamicState3CoverageModulationMode; 5717 VkBool32 extendedDynamicState3CoverageModulationTableEnable; 5718 VkBool32 extendedDynamicState3CoverageModulationTable; 5719 VkBool32 extendedDynamicState3CoverageReductionMode; 5720 VkBool32 extendedDynamicState3RepresentativeFragmentTestEnable; 5721 VkBool32 extendedDynamicState3ShadingRateImageEnable; 5722}; 5723 5724struct VkPhysicalDeviceExtendedDynamicState3PropertiesEXT 5725{ 5726 VkStructureType sType; 5727 void* pNext; 5728 VkBool32 dynamicPrimitiveTopologyUnrestricted; 5729}; 5730 5731struct VkColorBlendEquationEXT 5732{ 5733 VkBlendFactor srcColorBlendFactor; 5734 VkBlendFactor dstColorBlendFactor; 5735 VkBlendOp colorBlendOp; 5736 VkBlendFactor srcAlphaBlendFactor; 5737 VkBlendFactor dstAlphaBlendFactor; 5738 VkBlendOp alphaBlendOp; 5739}; 5740 5741struct VkColorBlendAdvancedEXT 5742{ 5743 VkBlendOp advancedBlendOp; 5744 VkBool32 srcPremultiplied; 5745 VkBool32 dstPremultiplied; 5746 VkBlendOverlapEXT blendOverlap; 5747 VkBool32 clampResults; 5748}; 5749 5750struct VkRenderPassTransformBeginInfoQCOM 5751{ 5752 VkStructureType sType; 5753 void* pNext; 5754 VkSurfaceTransformFlagBitsKHR transform; 5755}; 5756 5757struct VkCopyCommandTransformInfoQCOM 5758{ 5759 VkStructureType sType; 5760 const void* pNext; 5761 VkSurfaceTransformFlagBitsKHR transform; 5762}; 5763 5764struct VkCommandBufferInheritanceRenderPassTransformInfoQCOM 5765{ 5766 VkStructureType sType; 5767 void* pNext; 5768 VkSurfaceTransformFlagBitsKHR transform; 5769 VkRect2D renderArea; 5770}; 5771 5772struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV 5773{ 5774 VkStructureType sType; 5775 void* pNext; 5776 VkBool32 diagnosticsConfig; 5777}; 5778 5779struct VkDeviceDiagnosticsConfigCreateInfoNV 5780{ 5781 VkStructureType sType; 5782 const void* pNext; 5783 VkDeviceDiagnosticsConfigFlagsNV flags; 5784}; 5785 5786struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures 5787{ 5788 VkStructureType sType; 5789 void* pNext; 5790 VkBool32 shaderZeroInitializeWorkgroupMemory; 5791}; 5792 5793struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR 5794{ 5795 VkStructureType sType; 5796 void* pNext; 5797 VkBool32 shaderSubgroupUniformControlFlow; 5798}; 5799 5800struct VkPhysicalDeviceRobustness2FeaturesEXT 5801{ 5802 VkStructureType sType; 5803 void* pNext; 5804 VkBool32 robustBufferAccess2; 5805 VkBool32 robustImageAccess2; 5806 VkBool32 nullDescriptor; 5807}; 5808 5809struct VkPhysicalDeviceRobustness2PropertiesEXT 5810{ 5811 VkStructureType sType; 5812 void* pNext; 5813 VkDeviceSize robustStorageBufferAccessSizeAlignment; 5814 VkDeviceSize robustUniformBufferAccessSizeAlignment; 5815}; 5816 5817struct VkPhysicalDeviceImageRobustnessFeatures 5818{ 5819 VkStructureType sType; 5820 void* pNext; 5821 VkBool32 robustImageAccess; 5822}; 5823 5824struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR 5825{ 5826 VkStructureType sType; 5827 void* pNext; 5828 VkBool32 workgroupMemoryExplicitLayout; 5829 VkBool32 workgroupMemoryExplicitLayoutScalarBlockLayout; 5830 VkBool32 workgroupMemoryExplicitLayout8BitAccess; 5831 VkBool32 workgroupMemoryExplicitLayout16BitAccess; 5832}; 5833 5834struct VkPhysicalDevicePortabilitySubsetFeaturesKHR 5835{ 5836 VkStructureType sType; 5837 void* pNext; 5838 VkBool32 constantAlphaColorBlendFactors; 5839 VkBool32 events; 5840 VkBool32 imageViewFormatReinterpretation; 5841 VkBool32 imageViewFormatSwizzle; 5842 VkBool32 imageView2DOn3DImage; 5843 VkBool32 multisampleArrayImage; 5844 VkBool32 mutableComparisonSamplers; 5845 VkBool32 pointPolygons; 5846 VkBool32 samplerMipLodBias; 5847 VkBool32 separateStencilMaskRef; 5848 VkBool32 shaderSampleRateInterpolationFunctions; 5849 VkBool32 tessellationIsolines; 5850 VkBool32 tessellationPointMode; 5851 VkBool32 triangleFans; 5852 VkBool32 vertexAttributeAccessBeyondStride; 5853}; 5854 5855struct VkPhysicalDevicePortabilitySubsetPropertiesKHR 5856{ 5857 VkStructureType sType; 5858 void* pNext; 5859 uint32_t minVertexInputBindingStrideAlignment; 5860}; 5861 5862struct VkPhysicalDevice4444FormatsFeaturesEXT 5863{ 5864 VkStructureType sType; 5865 void* pNext; 5866 VkBool32 formatA4R4G4B4; 5867 VkBool32 formatA4B4G4R4; 5868}; 5869 5870struct VkPhysicalDeviceSubpassShadingFeaturesHUAWEI 5871{ 5872 VkStructureType sType; 5873 void* pNext; 5874 VkBool32 subpassShading; 5875}; 5876 5877struct VkBufferCopy2 5878{ 5879 VkStructureType sType; 5880 const void* pNext; 5881 VkDeviceSize srcOffset; 5882 VkDeviceSize dstOffset; 5883 VkDeviceSize size; 5884}; 5885 5886struct VkImageCopy2 5887{ 5888 VkStructureType sType; 5889 const void* pNext; 5890 VkImageSubresourceLayers srcSubresource; 5891 VkOffset3D srcOffset; 5892 VkImageSubresourceLayers dstSubresource; 5893 VkOffset3D dstOffset; 5894 VkExtent3D extent; 5895}; 5896 5897struct VkImageBlit2 5898{ 5899 VkStructureType sType; 5900 const void* pNext; 5901 VkImageSubresourceLayers srcSubresource; 5902 VkOffset3D srcOffsets[2]; 5903 VkImageSubresourceLayers dstSubresource; 5904 VkOffset3D dstOffsets[2]; 5905}; 5906 5907struct VkBufferImageCopy2 5908{ 5909 VkStructureType sType; 5910 const void* pNext; 5911 VkDeviceSize bufferOffset; 5912 uint32_t bufferRowLength; 5913 uint32_t bufferImageHeight; 5914 VkImageSubresourceLayers imageSubresource; 5915 VkOffset3D imageOffset; 5916 VkExtent3D imageExtent; 5917}; 5918 5919struct VkImageResolve2 5920{ 5921 VkStructureType sType; 5922 const void* pNext; 5923 VkImageSubresourceLayers srcSubresource; 5924 VkOffset3D srcOffset; 5925 VkImageSubresourceLayers dstSubresource; 5926 VkOffset3D dstOffset; 5927 VkExtent3D extent; 5928}; 5929 5930struct VkCopyBufferInfo2 5931{ 5932 VkStructureType sType; 5933 const void* pNext; 5934 VkBuffer srcBuffer; 5935 VkBuffer dstBuffer; 5936 uint32_t regionCount; 5937 const VkBufferCopy2* pRegions; 5938}; 5939 5940struct VkCopyImageInfo2 5941{ 5942 VkStructureType sType; 5943 const void* pNext; 5944 VkImage srcImage; 5945 VkImageLayout srcImageLayout; 5946 VkImage dstImage; 5947 VkImageLayout dstImageLayout; 5948 uint32_t regionCount; 5949 const VkImageCopy2* pRegions; 5950}; 5951 5952struct VkBlitImageInfo2 5953{ 5954 VkStructureType sType; 5955 const void* pNext; 5956 VkImage srcImage; 5957 VkImageLayout srcImageLayout; 5958 VkImage dstImage; 5959 VkImageLayout dstImageLayout; 5960 uint32_t regionCount; 5961 const VkImageBlit2* pRegions; 5962 VkFilter filter; 5963}; 5964 5965struct VkCopyBufferToImageInfo2 5966{ 5967 VkStructureType sType; 5968 const void* pNext; 5969 VkBuffer srcBuffer; 5970 VkImage dstImage; 5971 VkImageLayout dstImageLayout; 5972 uint32_t regionCount; 5973 const VkBufferImageCopy2* pRegions; 5974}; 5975 5976struct VkCopyImageToBufferInfo2 5977{ 5978 VkStructureType sType; 5979 const void* pNext; 5980 VkImage srcImage; 5981 VkImageLayout srcImageLayout; 5982 VkBuffer dstBuffer; 5983 uint32_t regionCount; 5984 const VkBufferImageCopy2* pRegions; 5985}; 5986 5987struct VkResolveImageInfo2 5988{ 5989 VkStructureType sType; 5990 const void* pNext; 5991 VkImage srcImage; 5992 VkImageLayout srcImageLayout; 5993 VkImage dstImage; 5994 VkImageLayout dstImageLayout; 5995 uint32_t regionCount; 5996 const VkImageResolve2* pRegions; 5997}; 5998 5999struct VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT 6000{ 6001 VkStructureType sType; 6002 void* pNext; 6003 VkBool32 shaderImageInt64Atomics; 6004 VkBool32 sparseImageInt64Atomics; 6005}; 6006 6007struct VkFragmentShadingRateAttachmentInfoKHR 6008{ 6009 VkStructureType sType; 6010 const void* pNext; 6011 const VkAttachmentReference2* pFragmentShadingRateAttachment; 6012 VkExtent2D shadingRateAttachmentTexelSize; 6013}; 6014 6015struct VkPipelineFragmentShadingRateStateCreateInfoKHR 6016{ 6017 VkStructureType sType; 6018 const void* pNext; 6019 VkExtent2D fragmentSize; 6020 VkFragmentShadingRateCombinerOpKHR combinerOps[2]; 6021}; 6022 6023struct VkPhysicalDeviceFragmentShadingRateFeaturesKHR 6024{ 6025 VkStructureType sType; 6026 void* pNext; 6027 VkBool32 pipelineFragmentShadingRate; 6028 VkBool32 primitiveFragmentShadingRate; 6029 VkBool32 attachmentFragmentShadingRate; 6030}; 6031 6032struct VkPhysicalDeviceFragmentShadingRatePropertiesKHR 6033{ 6034 VkStructureType sType; 6035 void* pNext; 6036 VkExtent2D minFragmentShadingRateAttachmentTexelSize; 6037 VkExtent2D maxFragmentShadingRateAttachmentTexelSize; 6038 uint32_t maxFragmentShadingRateAttachmentTexelSizeAspectRatio; 6039 VkBool32 primitiveFragmentShadingRateWithMultipleViewports; 6040 VkBool32 layeredShadingRateAttachments; 6041 VkBool32 fragmentShadingRateNonTrivialCombinerOps; 6042 VkExtent2D maxFragmentSize; 6043 uint32_t maxFragmentSizeAspectRatio; 6044 uint32_t maxFragmentShadingRateCoverageSamples; 6045 VkSampleCountFlagBits maxFragmentShadingRateRasterizationSamples; 6046 VkBool32 fragmentShadingRateWithShaderDepthStencilWrites; 6047 VkBool32 fragmentShadingRateWithSampleMask; 6048 VkBool32 fragmentShadingRateWithShaderSampleMask; 6049 VkBool32 fragmentShadingRateWithConservativeRasterization; 6050 VkBool32 fragmentShadingRateWithFragmentShaderInterlock; 6051 VkBool32 fragmentShadingRateWithCustomSampleLocations; 6052 VkBool32 fragmentShadingRateStrictMultiplyCombiner; 6053}; 6054 6055struct VkPhysicalDeviceFragmentShadingRateKHR 6056{ 6057 VkStructureType sType; 6058 void* pNext; 6059 VkSampleCountFlags sampleCounts; 6060 VkExtent2D fragmentSize; 6061}; 6062 6063struct VkPhysicalDeviceShaderTerminateInvocationFeatures 6064{ 6065 VkStructureType sType; 6066 void* pNext; 6067 VkBool32 shaderTerminateInvocation; 6068}; 6069 6070struct VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV 6071{ 6072 VkStructureType sType; 6073 void* pNext; 6074 VkBool32 fragmentShadingRateEnums; 6075 VkBool32 supersampleFragmentShadingRates; 6076 VkBool32 noInvocationFragmentShadingRates; 6077}; 6078 6079struct VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV 6080{ 6081 VkStructureType sType; 6082 void* pNext; 6083 VkSampleCountFlagBits maxFragmentShadingRateInvocationCount; 6084}; 6085 6086struct VkPipelineFragmentShadingRateEnumStateCreateInfoNV 6087{ 6088 VkStructureType sType; 6089 const void* pNext; 6090 VkFragmentShadingRateTypeNV shadingRateType; 6091 VkFragmentShadingRateNV shadingRate; 6092 VkFragmentShadingRateCombinerOpKHR combinerOps[2]; 6093}; 6094 6095struct VkAccelerationStructureBuildSizesInfoKHR 6096{ 6097 VkStructureType sType; 6098 const void* pNext; 6099 VkDeviceSize accelerationStructureSize; 6100 VkDeviceSize updateScratchSize; 6101 VkDeviceSize buildScratchSize; 6102}; 6103 6104struct VkPhysicalDeviceImage2DViewOf3DFeaturesEXT 6105{ 6106 VkStructureType sType; 6107 void* pNext; 6108 VkBool32 image2DViewOf3D; 6109 VkBool32 sampler2DViewOf3D; 6110}; 6111 6112struct VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT 6113{ 6114 VkStructureType sType; 6115 void* pNext; 6116 VkBool32 mutableDescriptorType; 6117}; 6118 6119struct VkMutableDescriptorTypeListEXT 6120{ 6121 uint32_t descriptorTypeCount; 6122 const VkDescriptorType* pDescriptorTypes; 6123}; 6124 6125struct VkMutableDescriptorTypeCreateInfoEXT 6126{ 6127 VkStructureType sType; 6128 const void* pNext; 6129 uint32_t mutableDescriptorTypeListCount; 6130 const VkMutableDescriptorTypeListEXT* pMutableDescriptorTypeLists; 6131}; 6132 6133struct VkPhysicalDeviceDepthClipControlFeaturesEXT 6134{ 6135 VkStructureType sType; 6136 void* pNext; 6137 VkBool32 depthClipControl; 6138}; 6139 6140struct VkPipelineViewportDepthClipControlCreateInfoEXT 6141{ 6142 VkStructureType sType; 6143 const void* pNext; 6144 VkBool32 negativeOneToOne; 6145}; 6146 6147struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT 6148{ 6149 VkStructureType sType; 6150 void* pNext; 6151 VkBool32 vertexInputDynamicState; 6152}; 6153 6154struct VkPhysicalDeviceExternalMemoryRDMAFeaturesNV 6155{ 6156 VkStructureType sType; 6157 void* pNext; 6158 VkBool32 externalMemoryRDMA; 6159}; 6160 6161struct VkVertexInputBindingDescription2EXT 6162{ 6163 VkStructureType sType; 6164 void* pNext; 6165 uint32_t binding; 6166 uint32_t stride; 6167 VkVertexInputRate inputRate; 6168 uint32_t divisor; 6169}; 6170 6171struct VkVertexInputAttributeDescription2EXT 6172{ 6173 VkStructureType sType; 6174 void* pNext; 6175 uint32_t location; 6176 uint32_t binding; 6177 VkFormat format; 6178 uint32_t offset; 6179}; 6180 6181struct VkPhysicalDeviceColorWriteEnableFeaturesEXT 6182{ 6183 VkStructureType sType; 6184 void* pNext; 6185 VkBool32 colorWriteEnable; 6186}; 6187 6188struct VkPipelineColorWriteCreateInfoEXT 6189{ 6190 VkStructureType sType; 6191 const void* pNext; 6192 uint32_t attachmentCount; 6193 const VkBool32* pColorWriteEnables; 6194}; 6195 6196struct VkMemoryBarrier2 6197{ 6198 VkStructureType sType; 6199 const void* pNext; 6200 VkPipelineStageFlags2 srcStageMask; 6201 VkAccessFlags2 srcAccessMask; 6202 VkPipelineStageFlags2 dstStageMask; 6203 VkAccessFlags2 dstAccessMask; 6204}; 6205 6206struct VkImageMemoryBarrier2 6207{ 6208 VkStructureType sType; 6209 const void* pNext; 6210 VkPipelineStageFlags2 srcStageMask; 6211 VkAccessFlags2 srcAccessMask; 6212 VkPipelineStageFlags2 dstStageMask; 6213 VkAccessFlags2 dstAccessMask; 6214 VkImageLayout oldLayout; 6215 VkImageLayout newLayout; 6216 uint32_t srcQueueFamilyIndex; 6217 uint32_t dstQueueFamilyIndex; 6218 VkImage image; 6219 VkImageSubresourceRange subresourceRange; 6220}; 6221 6222struct VkBufferMemoryBarrier2 6223{ 6224 VkStructureType sType; 6225 const void* pNext; 6226 VkPipelineStageFlags2 srcStageMask; 6227 VkAccessFlags2 srcAccessMask; 6228 VkPipelineStageFlags2 dstStageMask; 6229 VkAccessFlags2 dstAccessMask; 6230 uint32_t srcQueueFamilyIndex; 6231 uint32_t dstQueueFamilyIndex; 6232 VkBuffer buffer; 6233 VkDeviceSize offset; 6234 VkDeviceSize size; 6235}; 6236 6237struct VkDependencyInfo 6238{ 6239 VkStructureType sType; 6240 const void* pNext; 6241 VkDependencyFlags dependencyFlags; 6242 uint32_t memoryBarrierCount; 6243 const VkMemoryBarrier2* pMemoryBarriers; 6244 uint32_t bufferMemoryBarrierCount; 6245 const VkBufferMemoryBarrier2* pBufferMemoryBarriers; 6246 uint32_t imageMemoryBarrierCount; 6247 const VkImageMemoryBarrier2* pImageMemoryBarriers; 6248}; 6249 6250struct VkSemaphoreSubmitInfo 6251{ 6252 VkStructureType sType; 6253 const void* pNext; 6254 VkSemaphore semaphore; 6255 uint64_t value; 6256 VkPipelineStageFlags2 stageMask; 6257 uint32_t deviceIndex; 6258}; 6259 6260struct VkCommandBufferSubmitInfo 6261{ 6262 VkStructureType sType; 6263 const void* pNext; 6264 VkCommandBuffer commandBuffer; 6265 uint32_t deviceMask; 6266}; 6267 6268struct VkSubmitInfo2 6269{ 6270 VkStructureType sType; 6271 const void* pNext; 6272 VkSubmitFlags flags; 6273 uint32_t waitSemaphoreInfoCount; 6274 const VkSemaphoreSubmitInfo* pWaitSemaphoreInfos; 6275 uint32_t commandBufferInfoCount; 6276 const VkCommandBufferSubmitInfo* pCommandBufferInfos; 6277 uint32_t signalSemaphoreInfoCount; 6278 const VkSemaphoreSubmitInfo* pSignalSemaphoreInfos; 6279}; 6280 6281struct VkQueueFamilyCheckpointProperties2NV 6282{ 6283 VkStructureType sType; 6284 void* pNext; 6285 VkPipelineStageFlags2 checkpointExecutionStageMask; 6286}; 6287 6288struct VkCheckpointData2NV 6289{ 6290 VkStructureType sType; 6291 void* pNext; 6292 VkPipelineStageFlags2 stage; 6293 void* pCheckpointMarker; 6294}; 6295 6296struct VkPhysicalDeviceSynchronization2Features 6297{ 6298 VkStructureType sType; 6299 void* pNext; 6300 VkBool32 synchronization2; 6301}; 6302 6303struct VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT 6304{ 6305 VkStructureType sType; 6306 void* pNext; 6307 VkBool32 primitivesGeneratedQuery; 6308 VkBool32 primitivesGeneratedQueryWithRasterizerDiscard; 6309 VkBool32 primitivesGeneratedQueryWithNonZeroStreams; 6310}; 6311 6312struct VkPhysicalDeviceLegacyDitheringFeaturesEXT 6313{ 6314 VkStructureType sType; 6315 void* pNext; 6316 VkBool32 legacyDithering; 6317}; 6318 6319struct VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT 6320{ 6321 VkStructureType sType; 6322 void* pNext; 6323 VkBool32 multisampledRenderToSingleSampled; 6324}; 6325 6326struct VkSubpassResolvePerformanceQueryEXT 6327{ 6328 VkStructureType sType; 6329 void* pNext; 6330 VkBool32 optimal; 6331}; 6332 6333struct VkMultisampledRenderToSingleSampledInfoEXT 6334{ 6335 VkStructureType sType; 6336 const void* pNext; 6337 VkBool32 multisampledRenderToSingleSampledEnable; 6338 VkSampleCountFlagBits rasterizationSamples; 6339}; 6340 6341struct VkPhysicalDevicePipelineProtectedAccessFeaturesEXT 6342{ 6343 VkStructureType sType; 6344 void* pNext; 6345 VkBool32 pipelineProtectedAccess; 6346}; 6347 6348struct VkQueueFamilyVideoPropertiesKHR 6349{ 6350 VkStructureType sType; 6351 void* pNext; 6352 VkVideoCodecOperationFlagsKHR videoCodecOperations; 6353}; 6354 6355struct VkQueueFamilyQueryResultStatusPropertiesKHR 6356{ 6357 VkStructureType sType; 6358 void* pNext; 6359 VkBool32 queryResultStatusSupport; 6360}; 6361 6362struct VkPhysicalDeviceVideoFormatInfoKHR 6363{ 6364 VkStructureType sType; 6365 const void* pNext; 6366 VkImageUsageFlags imageUsage; 6367}; 6368 6369struct VkVideoFormatPropertiesKHR 6370{ 6371 VkStructureType sType; 6372 void* pNext; 6373 VkFormat format; 6374 VkComponentMapping componentMapping; 6375 VkImageCreateFlags imageCreateFlags; 6376 VkImageType imageType; 6377 VkImageTiling imageTiling; 6378 VkImageUsageFlags imageUsageFlags; 6379}; 6380 6381struct VkVideoProfileInfoKHR 6382{ 6383 VkStructureType sType; 6384 const void* pNext; 6385 VkVideoCodecOperationFlagBitsKHR videoCodecOperation; 6386 VkVideoChromaSubsamplingFlagsKHR chromaSubsampling; 6387 VkVideoComponentBitDepthFlagsKHR lumaBitDepth; 6388 VkVideoComponentBitDepthFlagsKHR chromaBitDepth; 6389}; 6390 6391struct VkVideoProfileListInfoKHR 6392{ 6393 VkStructureType sType; 6394 const void* pNext; 6395 uint32_t profileCount; 6396 const VkVideoProfileInfoKHR* pProfiles; 6397}; 6398 6399struct VkVideoCapabilitiesKHR 6400{ 6401 VkStructureType sType; 6402 void* pNext; 6403 VkVideoCapabilityFlagsKHR flags; 6404 VkDeviceSize minBitstreamBufferOffsetAlignment; 6405 VkDeviceSize minBitstreamBufferSizeAlignment; 6406 VkExtent2D pictureAccessGranularity; 6407 VkExtent2D minCodedExtent; 6408 VkExtent2D maxCodedExtent; 6409 uint32_t maxDpbSlots; 6410 uint32_t maxActiveReferencePictures; 6411 VkExtensionProperties stdHeaderVersion; 6412}; 6413 6414struct VkVideoSessionMemoryRequirementsKHR 6415{ 6416 VkStructureType sType; 6417 void* pNext; 6418 uint32_t memoryBindIndex; 6419 VkMemoryRequirements memoryRequirements; 6420}; 6421 6422struct VkBindVideoSessionMemoryInfoKHR 6423{ 6424 VkStructureType sType; 6425 const void* pNext; 6426 uint32_t memoryBindIndex; 6427 VkDeviceMemory memory; 6428 VkDeviceSize memoryOffset; 6429 VkDeviceSize memorySize; 6430}; 6431 6432struct VkVideoPictureResourceInfoKHR 6433{ 6434 VkStructureType sType; 6435 const void* pNext; 6436 VkOffset2D codedOffset; 6437 VkExtent2D codedExtent; 6438 uint32_t baseArrayLayer; 6439 VkImageView imageViewBinding; 6440}; 6441 6442struct VkVideoReferenceSlotInfoKHR 6443{ 6444 VkStructureType sType; 6445 const void* pNext; 6446 int32_t slotIndex; 6447 const VkVideoPictureResourceInfoKHR* pPictureResource; 6448}; 6449 6450struct VkVideoDecodeCapabilitiesKHR 6451{ 6452 VkStructureType sType; 6453 void* pNext; 6454 VkVideoDecodeCapabilityFlagsKHR flags; 6455}; 6456 6457struct VkVideoDecodeUsageInfoKHR 6458{ 6459 VkStructureType sType; 6460 const void* pNext; 6461 VkVideoDecodeUsageFlagsKHR videoUsageHints; 6462}; 6463 6464struct VkVideoDecodeInfoKHR 6465{ 6466 VkStructureType sType; 6467 const void* pNext; 6468 VkVideoDecodeFlagsKHR flags; 6469 VkBuffer srcBuffer; 6470 VkDeviceSize srcBufferOffset; 6471 VkDeviceSize srcBufferRange; 6472 VkVideoPictureResourceInfoKHR dstPictureResource; 6473 const VkVideoReferenceSlotInfoKHR* pSetupReferenceSlot; 6474 uint32_t referenceSlotCount; 6475 const VkVideoReferenceSlotInfoKHR* pReferenceSlots; 6476}; 6477 6478struct VkVideoDecodeH264ProfileInfoKHR 6479{ 6480 VkStructureType sType; 6481 const void* pNext; 6482 StdVideoH264ProfileIdc stdProfileIdc; 6483 VkVideoDecodeH264PictureLayoutFlagBitsKHR pictureLayout; 6484}; 6485 6486struct VkVideoDecodeH264CapabilitiesKHR 6487{ 6488 VkStructureType sType; 6489 void* pNext; 6490 StdVideoH264LevelIdc maxLevelIdc; 6491 VkOffset2D fieldOffsetGranularity; 6492}; 6493 6494struct VkVideoDecodeH265ProfileInfoKHR 6495{ 6496 VkStructureType sType; 6497 const void* pNext; 6498 StdVideoH265ProfileIdc stdProfileIdc; 6499}; 6500 6501struct VkVideoDecodeH265CapabilitiesKHR 6502{ 6503 VkStructureType sType; 6504 void* pNext; 6505 StdVideoH265LevelIdc maxLevelIdc; 6506}; 6507 6508struct VkVideoSessionCreateInfoKHR 6509{ 6510 VkStructureType sType; 6511 const void* pNext; 6512 uint32_t queueFamilyIndex; 6513 VkVideoSessionCreateFlagsKHR flags; 6514 const VkVideoProfileInfoKHR* pVideoProfile; 6515 VkFormat pictureFormat; 6516 VkExtent2D maxCodedExtent; 6517 VkFormat referencePictureFormat; 6518 uint32_t maxDpbSlots; 6519 uint32_t maxActiveReferencePictures; 6520 const VkExtensionProperties* pStdHeaderVersion; 6521}; 6522 6523struct VkVideoSessionParametersCreateInfoKHR 6524{ 6525 VkStructureType sType; 6526 const void* pNext; 6527 VkVideoSessionParametersCreateFlagsKHR flags; 6528 VkVideoSessionParametersKHR videoSessionParametersTemplate; 6529 VkVideoSessionKHR videoSession; 6530}; 6531 6532struct VkVideoSessionParametersUpdateInfoKHR 6533{ 6534 VkStructureType sType; 6535 const void* pNext; 6536 uint32_t updateSequenceCount; 6537}; 6538 6539struct VkVideoBeginCodingInfoKHR 6540{ 6541 VkStructureType sType; 6542 const void* pNext; 6543 VkVideoBeginCodingFlagsKHR flags; 6544 VkVideoSessionKHR videoSession; 6545 VkVideoSessionParametersKHR videoSessionParameters; 6546 uint32_t referenceSlotCount; 6547 const VkVideoReferenceSlotInfoKHR* pReferenceSlots; 6548}; 6549 6550struct VkVideoEndCodingInfoKHR 6551{ 6552 VkStructureType sType; 6553 const void* pNext; 6554 VkVideoEndCodingFlagsKHR flags; 6555}; 6556 6557struct VkVideoCodingControlInfoKHR 6558{ 6559 VkStructureType sType; 6560 const void* pNext; 6561 VkVideoCodingControlFlagsKHR flags; 6562}; 6563 6564struct VkVideoEncodeUsageInfoKHR 6565{ 6566 VkStructureType sType; 6567 const void* pNext; 6568 VkVideoEncodeUsageFlagsKHR videoUsageHints; 6569 VkVideoEncodeContentFlagsKHR videoContentHints; 6570 VkVideoEncodeTuningModeKHR tuningMode; 6571}; 6572 6573struct VkVideoEncodeInfoKHR 6574{ 6575 VkStructureType sType; 6576 const void* pNext; 6577 VkVideoEncodeFlagsKHR flags; 6578 uint32_t qualityLevel; 6579 VkBuffer dstBitstreamBuffer; 6580 VkDeviceSize dstBitstreamBufferOffset; 6581 VkDeviceSize dstBitstreamBufferMaxRange; 6582 VkVideoPictureResourceInfoKHR srcPictureResource; 6583 const VkVideoReferenceSlotInfoKHR* pSetupReferenceSlot; 6584 uint32_t referenceSlotCount; 6585 const VkVideoReferenceSlotInfoKHR* pReferenceSlots; 6586 uint32_t precedingExternallyEncodedBytes; 6587}; 6588 6589struct VkVideoEncodeRateControlLayerInfoKHR 6590{ 6591 VkStructureType sType; 6592 const void* pNext; 6593 uint32_t averageBitrate; 6594 uint32_t maxBitrate; 6595 uint32_t frameRateNumerator; 6596 uint32_t frameRateDenominator; 6597 uint32_t virtualBufferSizeInMs; 6598 uint32_t initialVirtualBufferSizeInMs; 6599}; 6600 6601struct VkVideoEncodeRateControlInfoKHR 6602{ 6603 VkStructureType sType; 6604 const void* pNext; 6605 VkVideoEncodeRateControlFlagsKHR flags; 6606 VkVideoEncodeRateControlModeFlagBitsKHR rateControlMode; 6607 uint8_t layerCount; 6608 const VkVideoEncodeRateControlLayerInfoKHR* pLayerConfigs; 6609}; 6610 6611struct VkVideoEncodeCapabilitiesKHR 6612{ 6613 VkStructureType sType; 6614 void* pNext; 6615 VkVideoEncodeCapabilityFlagsKHR flags; 6616 VkVideoEncodeRateControlModeFlagsKHR rateControlModes; 6617 uint8_t rateControlLayerCount; 6618 uint8_t qualityLevelCount; 6619 VkExtent2D inputImageDataFillAlignment; 6620}; 6621 6622struct VkVideoEncodeH264CapabilitiesEXT 6623{ 6624 VkStructureType sType; 6625 void* pNext; 6626 VkVideoEncodeH264CapabilityFlagsEXT flags; 6627 VkVideoEncodeH264InputModeFlagsEXT inputModeFlags; 6628 VkVideoEncodeH264OutputModeFlagsEXT outputModeFlags; 6629 uint8_t maxPPictureL0ReferenceCount; 6630 uint8_t maxBPictureL0ReferenceCount; 6631 uint8_t maxL1ReferenceCount; 6632 VkBool32 motionVectorsOverPicBoundariesFlag; 6633 uint32_t maxBytesPerPicDenom; 6634 uint32_t maxBitsPerMbDenom; 6635 uint32_t log2MaxMvLengthHorizontal; 6636 uint32_t log2MaxMvLengthVertical; 6637}; 6638 6639struct VkVideoEncodeH264EmitPictureParametersInfoEXT 6640{ 6641 VkStructureType sType; 6642 const void* pNext; 6643 uint8_t spsId; 6644 VkBool32 emitSpsEnable; 6645 uint32_t ppsIdEntryCount; 6646 const uint8_t* ppsIdEntries; 6647}; 6648 6649struct VkVideoEncodeH264ProfileInfoEXT 6650{ 6651 VkStructureType sType; 6652 const void* pNext; 6653 StdVideoH264ProfileIdc stdProfileIdc; 6654}; 6655 6656struct VkVideoEncodeH264RateControlInfoEXT 6657{ 6658 VkStructureType sType; 6659 const void* pNext; 6660 uint32_t gopFrameCount; 6661 uint32_t idrPeriod; 6662 uint32_t consecutiveBFrameCount; 6663 VkVideoEncodeH264RateControlStructureEXT rateControlStructure; 6664 uint8_t temporalLayerCount; 6665}; 6666 6667struct VkVideoEncodeH264QpEXT 6668{ 6669 int32_t qpI; 6670 int32_t qpP; 6671 int32_t qpB; 6672}; 6673 6674struct VkVideoEncodeH264FrameSizeEXT 6675{ 6676 uint32_t frameISize; 6677 uint32_t framePSize; 6678 uint32_t frameBSize; 6679}; 6680 6681struct VkVideoEncodeH264RateControlLayerInfoEXT 6682{ 6683 VkStructureType sType; 6684 const void* pNext; 6685 uint8_t temporalLayerId; 6686 VkBool32 useInitialRcQp; 6687 VkVideoEncodeH264QpEXT initialRcQp; 6688 VkBool32 useMinQp; 6689 VkVideoEncodeH264QpEXT minQp; 6690 VkBool32 useMaxQp; 6691 VkVideoEncodeH264QpEXT maxQp; 6692 VkBool32 useMaxFrameSize; 6693 VkVideoEncodeH264FrameSizeEXT maxFrameSize; 6694}; 6695 6696struct VkVideoEncodeH265CapabilitiesEXT 6697{ 6698 VkStructureType sType; 6699 void* pNext; 6700 VkVideoEncodeH265CapabilityFlagsEXT flags; 6701 VkVideoEncodeH265InputModeFlagsEXT inputModeFlags; 6702 VkVideoEncodeH265OutputModeFlagsEXT outputModeFlags; 6703 VkVideoEncodeH265CtbSizeFlagsEXT ctbSizes; 6704 VkVideoEncodeH265TransformBlockSizeFlagsEXT transformBlockSizes; 6705 uint8_t maxPPictureL0ReferenceCount; 6706 uint8_t maxBPictureL0ReferenceCount; 6707 uint8_t maxL1ReferenceCount; 6708 uint8_t maxSubLayersCount; 6709 uint8_t minLog2MinLumaCodingBlockSizeMinus3; 6710 uint8_t maxLog2MinLumaCodingBlockSizeMinus3; 6711 uint8_t minLog2MinLumaTransformBlockSizeMinus2; 6712 uint8_t maxLog2MinLumaTransformBlockSizeMinus2; 6713 uint8_t minMaxTransformHierarchyDepthInter; 6714 uint8_t maxMaxTransformHierarchyDepthInter; 6715 uint8_t minMaxTransformHierarchyDepthIntra; 6716 uint8_t maxMaxTransformHierarchyDepthIntra; 6717 uint8_t maxDiffCuQpDeltaDepth; 6718 uint8_t minMaxNumMergeCand; 6719 uint8_t maxMaxNumMergeCand; 6720}; 6721 6722struct VkVideoEncodeH265EmitPictureParametersInfoEXT 6723{ 6724 VkStructureType sType; 6725 const void* pNext; 6726 uint8_t vpsId; 6727 uint8_t spsId; 6728 VkBool32 emitVpsEnable; 6729 VkBool32 emitSpsEnable; 6730 uint32_t ppsIdEntryCount; 6731 const uint8_t* ppsIdEntries; 6732}; 6733 6734struct VkVideoEncodeH265RateControlInfoEXT 6735{ 6736 VkStructureType sType; 6737 const void* pNext; 6738 uint32_t gopFrameCount; 6739 uint32_t idrPeriod; 6740 uint32_t consecutiveBFrameCount; 6741 VkVideoEncodeH265RateControlStructureEXT rateControlStructure; 6742 uint8_t subLayerCount; 6743}; 6744 6745struct VkVideoEncodeH265QpEXT 6746{ 6747 int32_t qpI; 6748 int32_t qpP; 6749 int32_t qpB; 6750}; 6751 6752struct VkVideoEncodeH265FrameSizeEXT 6753{ 6754 uint32_t frameISize; 6755 uint32_t framePSize; 6756 uint32_t frameBSize; 6757}; 6758 6759struct VkVideoEncodeH265RateControlLayerInfoEXT 6760{ 6761 VkStructureType sType; 6762 const void* pNext; 6763 uint8_t temporalId; 6764 VkBool32 useInitialRcQp; 6765 VkVideoEncodeH265QpEXT initialRcQp; 6766 VkBool32 useMinQp; 6767 VkVideoEncodeH265QpEXT minQp; 6768 VkBool32 useMaxQp; 6769 VkVideoEncodeH265QpEXT maxQp; 6770 VkBool32 useMaxFrameSize; 6771 VkVideoEncodeH265FrameSizeEXT maxFrameSize; 6772}; 6773 6774struct VkVideoEncodeH265ProfileInfoEXT 6775{ 6776 VkStructureType sType; 6777 const void* pNext; 6778 StdVideoH265ProfileIdc stdProfileIdc; 6779}; 6780 6781struct VkPhysicalDeviceInheritedViewportScissorFeaturesNV 6782{ 6783 VkStructureType sType; 6784 void* pNext; 6785 VkBool32 inheritedViewportScissor2D; 6786}; 6787 6788struct VkCommandBufferInheritanceViewportScissorInfoNV 6789{ 6790 VkStructureType sType; 6791 const void* pNext; 6792 VkBool32 viewportScissor2D; 6793 uint32_t viewportDepthCount; 6794 const VkViewport* pViewportDepths; 6795}; 6796 6797struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT 6798{ 6799 VkStructureType sType; 6800 void* pNext; 6801 VkBool32 ycbcr2plane444Formats; 6802}; 6803 6804struct VkPhysicalDeviceProvokingVertexFeaturesEXT 6805{ 6806 VkStructureType sType; 6807 void* pNext; 6808 VkBool32 provokingVertexLast; 6809 VkBool32 transformFeedbackPreservesProvokingVertex; 6810}; 6811 6812struct VkPhysicalDeviceProvokingVertexPropertiesEXT 6813{ 6814 VkStructureType sType; 6815 void* pNext; 6816 VkBool32 provokingVertexModePerPipeline; 6817 VkBool32 transformFeedbackPreservesTriangleFanProvokingVertex; 6818}; 6819 6820struct VkPipelineRasterizationProvokingVertexStateCreateInfoEXT 6821{ 6822 VkStructureType sType; 6823 const void* pNext; 6824 VkProvokingVertexModeEXT provokingVertexMode; 6825}; 6826 6827struct VkCuModuleCreateInfoNVX 6828{ 6829 VkStructureType sType; 6830 const void* pNext; 6831 size_t dataSize; 6832 const void* pData; 6833}; 6834 6835struct VkCuFunctionCreateInfoNVX 6836{ 6837 VkStructureType sType; 6838 const void* pNext; 6839 VkCuModuleNVX module; 6840 const char* pName; 6841}; 6842 6843struct VkCuLaunchInfoNVX 6844{ 6845 VkStructureType sType; 6846 const void* pNext; 6847 VkCuFunctionNVX function; 6848 uint32_t gridDimX; 6849 uint32_t gridDimY; 6850 uint32_t gridDimZ; 6851 uint32_t blockDimX; 6852 uint32_t blockDimY; 6853 uint32_t blockDimZ; 6854 uint32_t sharedMemBytes; 6855 size_t paramCount; 6856 const void* const * pParams; 6857 size_t extraCount; 6858 const void* const * pExtras; 6859}; 6860 6861struct VkPhysicalDeviceDescriptorBufferFeaturesEXT 6862{ 6863 VkStructureType sType; 6864 void* pNext; 6865 VkBool32 descriptorBuffer; 6866 VkBool32 descriptorBufferCaptureReplay; 6867 VkBool32 descriptorBufferImageLayoutIgnored; 6868 VkBool32 descriptorBufferPushDescriptors; 6869}; 6870 6871struct VkPhysicalDeviceDescriptorBufferPropertiesEXT 6872{ 6873 VkStructureType sType; 6874 void* pNext; 6875 VkBool32 combinedImageSamplerDescriptorSingleArray; 6876 VkBool32 bufferlessPushDescriptors; 6877 VkBool32 allowSamplerImageViewPostSubmitCreation; 6878 VkDeviceSize descriptorBufferOffsetAlignment; 6879 uint32_t maxDescriptorBufferBindings; 6880 uint32_t maxResourceDescriptorBufferBindings; 6881 uint32_t maxSamplerDescriptorBufferBindings; 6882 uint32_t maxEmbeddedImmutableSamplerBindings; 6883 uint32_t maxEmbeddedImmutableSamplers; 6884 size_t bufferCaptureReplayDescriptorDataSize; 6885 size_t imageCaptureReplayDescriptorDataSize; 6886 size_t imageViewCaptureReplayDescriptorDataSize; 6887 size_t samplerCaptureReplayDescriptorDataSize; 6888 size_t accelerationStructureCaptureReplayDescriptorDataSize; 6889 size_t samplerDescriptorSize; 6890 size_t combinedImageSamplerDescriptorSize; 6891 size_t sampledImageDescriptorSize; 6892 size_t storageImageDescriptorSize; 6893 size_t uniformTexelBufferDescriptorSize; 6894 size_t robustUniformTexelBufferDescriptorSize; 6895 size_t storageTexelBufferDescriptorSize; 6896 size_t robustStorageTexelBufferDescriptorSize; 6897 size_t uniformBufferDescriptorSize; 6898 size_t robustUniformBufferDescriptorSize; 6899 size_t storageBufferDescriptorSize; 6900 size_t robustStorageBufferDescriptorSize; 6901 size_t inputAttachmentDescriptorSize; 6902 size_t accelerationStructureDescriptorSize; 6903 VkDeviceSize maxSamplerDescriptorBufferRange; 6904 VkDeviceSize maxResourceDescriptorBufferRange; 6905 VkDeviceSize samplerDescriptorBufferAddressSpaceSize; 6906 VkDeviceSize resourceDescriptorBufferAddressSpaceSize; 6907 VkDeviceSize descriptorBufferAddressSpaceSize; 6908}; 6909 6910struct VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT 6911{ 6912 VkStructureType sType; 6913 void* pNext; 6914 size_t combinedImageSamplerDensityMapDescriptorSize; 6915}; 6916 6917struct VkDescriptorAddressInfoEXT 6918{ 6919 VkStructureType sType; 6920 void* pNext; 6921 VkDeviceAddress address; 6922 VkDeviceSize range; 6923 VkFormat format; 6924}; 6925 6926struct VkDescriptorBufferBindingInfoEXT 6927{ 6928 VkStructureType sType; 6929 void* pNext; 6930 VkDeviceAddress address; 6931 VkBufferUsageFlags usage; 6932}; 6933 6934struct VkDescriptorBufferBindingPushDescriptorBufferHandleEXT 6935{ 6936 VkStructureType sType; 6937 void* pNext; 6938 VkBuffer buffer; 6939}; 6940 6941union VkDescriptorDataEXT 6942{ 6943 const VkSampler* pSampler; 6944 const VkDescriptorImageInfo* pCombinedImageSampler; 6945 const VkDescriptorImageInfo* pInputAttachmentImage; 6946 const VkDescriptorImageInfo* pSampledImage; 6947 const VkDescriptorImageInfo* pStorageImage; 6948 const VkDescriptorAddressInfoEXT* pUniformTexelBuffer; 6949 const VkDescriptorAddressInfoEXT* pStorageTexelBuffer; 6950 const VkDescriptorAddressInfoEXT* pUniformBuffer; 6951 const VkDescriptorAddressInfoEXT* pStorageBuffer; 6952 VkDeviceAddress accelerationStructure; 6953}; 6954 6955struct VkDescriptorGetInfoEXT 6956{ 6957 VkStructureType sType; 6958 const void* pNext; 6959 VkDescriptorType type; 6960 VkDescriptorDataEXT data; 6961}; 6962 6963struct VkBufferCaptureDescriptorDataInfoEXT 6964{ 6965 VkStructureType sType; 6966 const void* pNext; 6967 VkBuffer buffer; 6968}; 6969 6970struct VkImageCaptureDescriptorDataInfoEXT 6971{ 6972 VkStructureType sType; 6973 const void* pNext; 6974 VkImage image; 6975}; 6976 6977struct VkImageViewCaptureDescriptorDataInfoEXT 6978{ 6979 VkStructureType sType; 6980 const void* pNext; 6981 VkImageView imageView; 6982}; 6983 6984struct VkSamplerCaptureDescriptorDataInfoEXT 6985{ 6986 VkStructureType sType; 6987 const void* pNext; 6988 VkSampler sampler; 6989}; 6990 6991struct VkAccelerationStructureCaptureDescriptorDataInfoEXT 6992{ 6993 VkStructureType sType; 6994 const void* pNext; 6995 VkAccelerationStructureKHR accelerationStructure; 6996 VkAccelerationStructureNV accelerationStructureNV; 6997}; 6998 6999struct VkOpaqueCaptureDescriptorDataCreateInfoEXT 7000{ 7001 VkStructureType sType; 7002 const void* pNext; 7003 const void* opaqueCaptureDescriptorData; 7004}; 7005 7006struct VkPhysicalDeviceShaderIntegerDotProductFeatures 7007{ 7008 VkStructureType sType; 7009 void* pNext; 7010 VkBool32 shaderIntegerDotProduct; 7011}; 7012 7013struct VkPhysicalDeviceShaderIntegerDotProductProperties 7014{ 7015 VkStructureType sType; 7016 void* pNext; 7017 VkBool32 integerDotProduct8BitUnsignedAccelerated; 7018 VkBool32 integerDotProduct8BitSignedAccelerated; 7019 VkBool32 integerDotProduct8BitMixedSignednessAccelerated; 7020 VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated; 7021 VkBool32 integerDotProduct4x8BitPackedSignedAccelerated; 7022 VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated; 7023 VkBool32 integerDotProduct16BitUnsignedAccelerated; 7024 VkBool32 integerDotProduct16BitSignedAccelerated; 7025 VkBool32 integerDotProduct16BitMixedSignednessAccelerated; 7026 VkBool32 integerDotProduct32BitUnsignedAccelerated; 7027 VkBool32 integerDotProduct32BitSignedAccelerated; 7028 VkBool32 integerDotProduct32BitMixedSignednessAccelerated; 7029 VkBool32 integerDotProduct64BitUnsignedAccelerated; 7030 VkBool32 integerDotProduct64BitSignedAccelerated; 7031 VkBool32 integerDotProduct64BitMixedSignednessAccelerated; 7032 VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated; 7033 VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated; 7034 VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated; 7035 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated; 7036 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated; 7037 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated; 7038 VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated; 7039 VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated; 7040 VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated; 7041 VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated; 7042 VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated; 7043 VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated; 7044 VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated; 7045 VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated; 7046 VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated; 7047}; 7048 7049struct VkPhysicalDeviceDrmPropertiesEXT 7050{ 7051 VkStructureType sType; 7052 void* pNext; 7053 VkBool32 hasPrimary; 7054 VkBool32 hasRender; 7055 int64_t primaryMajor; 7056 int64_t primaryMinor; 7057 int64_t renderMajor; 7058 int64_t renderMinor; 7059}; 7060 7061struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR 7062{ 7063 VkStructureType sType; 7064 void* pNext; 7065 VkBool32 fragmentShaderBarycentric; 7066}; 7067 7068struct VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR 7069{ 7070 VkStructureType sType; 7071 void* pNext; 7072 VkBool32 triStripVertexOrderIndependentOfProvokingVertex; 7073}; 7074 7075struct VkPhysicalDeviceRayTracingMotionBlurFeaturesNV 7076{ 7077 VkStructureType sType; 7078 void* pNext; 7079 VkBool32 rayTracingMotionBlur; 7080 VkBool32 rayTracingMotionBlurPipelineTraceRaysIndirect; 7081}; 7082 7083struct VkAccelerationStructureGeometryMotionTrianglesDataNV 7084{ 7085 VkStructureType sType; 7086 const void* pNext; 7087 VkDeviceOrHostAddressConstKHR vertexData; 7088}; 7089 7090struct VkAccelerationStructureMotionInfoNV 7091{ 7092 VkStructureType sType; 7093 const void* pNext; 7094 uint32_t maxInstances; 7095 VkAccelerationStructureMotionInfoFlagsNV flags; 7096}; 7097 7098struct VkSRTDataNV 7099{ 7100 float sx; 7101 float a; 7102 float b; 7103 float pvx; 7104 float sy; 7105 float c; 7106 float pvy; 7107 float sz; 7108 float pvz; 7109 float qx; 7110 float qy; 7111 float qz; 7112 float qw; 7113 float tx; 7114 float ty; 7115 float tz; 7116}; 7117 7118struct VkAccelerationStructureSRTMotionInstanceNV 7119{ 7120 VkSRTDataNV transformT0; 7121 VkSRTDataNV transformT1; 7122 uint32_t instanceCustomIndex:24; 7123 uint32_t mask:8; 7124 uint32_t instanceShaderBindingTableRecordOffset:24; 7125 VkGeometryInstanceFlagsKHR flags:8; 7126 uint64_t accelerationStructureReference; 7127}; 7128 7129struct VkAccelerationStructureMatrixMotionInstanceNV 7130{ 7131 VkTransformMatrixKHR transformT0; 7132 VkTransformMatrixKHR transformT1; 7133 uint32_t instanceCustomIndex:24; 7134 uint32_t mask:8; 7135 uint32_t instanceShaderBindingTableRecordOffset:24; 7136 VkGeometryInstanceFlagsKHR flags:8; 7137 uint64_t accelerationStructureReference; 7138}; 7139 7140union VkAccelerationStructureMotionInstanceDataNV 7141{ 7142 VkAccelerationStructureInstanceKHR staticInstance; 7143 VkAccelerationStructureMatrixMotionInstanceNV matrixMotionInstance; 7144 VkAccelerationStructureSRTMotionInstanceNV srtMotionInstance; 7145}; 7146 7147struct VkAccelerationStructureMotionInstanceNV 7148{ 7149 VkAccelerationStructureMotionInstanceTypeNV type; 7150 VkAccelerationStructureMotionInstanceFlagsNV flags; 7151 VkAccelerationStructureMotionInstanceDataNV data; 7152}; 7153 7154struct VkMemoryGetRemoteAddressInfoNV 7155{ 7156 VkStructureType sType; 7157 const void* pNext; 7158 VkDeviceMemory memory; 7159 VkExternalMemoryHandleTypeFlagBits handleType; 7160}; 7161 7162struct VkImportMemoryBufferCollectionFUCHSIA 7163{ 7164 VkStructureType sType; 7165 const void* pNext; 7166 VkBufferCollectionFUCHSIA collection; 7167 uint32_t index; 7168}; 7169 7170struct VkBufferCollectionImageCreateInfoFUCHSIA 7171{ 7172 VkStructureType sType; 7173 const void* pNext; 7174 VkBufferCollectionFUCHSIA collection; 7175 uint32_t index; 7176}; 7177 7178struct VkBufferCollectionBufferCreateInfoFUCHSIA 7179{ 7180 VkStructureType sType; 7181 const void* pNext; 7182 VkBufferCollectionFUCHSIA collection; 7183 uint32_t index; 7184}; 7185 7186struct VkBufferCollectionCreateInfoFUCHSIA 7187{ 7188 VkStructureType sType; 7189 const void* pNext; 7190 pt::zx_handle_t collectionToken; 7191}; 7192 7193struct VkSysmemColorSpaceFUCHSIA 7194{ 7195 VkStructureType sType; 7196 const void* pNext; 7197 uint32_t colorSpace; 7198}; 7199 7200struct VkBufferCollectionPropertiesFUCHSIA 7201{ 7202 VkStructureType sType; 7203 void* pNext; 7204 uint32_t memoryTypeBits; 7205 uint32_t bufferCount; 7206 uint32_t createInfoIndex; 7207 uint64_t sysmemPixelFormat; 7208 VkFormatFeatureFlags formatFeatures; 7209 VkSysmemColorSpaceFUCHSIA sysmemColorSpaceIndex; 7210 VkComponentMapping samplerYcbcrConversionComponents; 7211 VkSamplerYcbcrModelConversion suggestedYcbcrModel; 7212 VkSamplerYcbcrRange suggestedYcbcrRange; 7213 VkChromaLocation suggestedXChromaOffset; 7214 VkChromaLocation suggestedYChromaOffset; 7215}; 7216 7217struct VkImageFormatConstraintsInfoFUCHSIA 7218{ 7219 VkStructureType sType; 7220 const void* pNext; 7221 VkImageCreateInfo imageCreateInfo; 7222 VkFormatFeatureFlags requiredFormatFeatures; 7223 VkImageFormatConstraintsFlagsFUCHSIA flags; 7224 uint64_t sysmemPixelFormat; 7225 uint32_t colorSpaceCount; 7226 const VkSysmemColorSpaceFUCHSIA* pColorSpaces; 7227}; 7228 7229struct VkBufferCollectionConstraintsInfoFUCHSIA 7230{ 7231 VkStructureType sType; 7232 const void* pNext; 7233 uint32_t minBufferCount; 7234 uint32_t maxBufferCount; 7235 uint32_t minBufferCountForCamping; 7236 uint32_t minBufferCountForDedicatedSlack; 7237 uint32_t minBufferCountForSharedSlack; 7238}; 7239 7240struct VkBufferConstraintsInfoFUCHSIA 7241{ 7242 VkStructureType sType; 7243 const void* pNext; 7244 VkBufferCreateInfo createInfo; 7245 VkFormatFeatureFlags requiredFormatFeatures; 7246 VkBufferCollectionConstraintsInfoFUCHSIA bufferCollectionConstraints; 7247}; 7248 7249struct VkImageConstraintsInfoFUCHSIA 7250{ 7251 VkStructureType sType; 7252 const void* pNext; 7253 uint32_t formatConstraintsCount; 7254 const VkImageFormatConstraintsInfoFUCHSIA* pFormatConstraints; 7255 VkBufferCollectionConstraintsInfoFUCHSIA bufferCollectionConstraints; 7256 VkImageConstraintsInfoFlagsFUCHSIA flags; 7257}; 7258 7259struct VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT 7260{ 7261 VkStructureType sType; 7262 void* pNext; 7263 VkBool32 formatRgba10x6WithoutYCbCrSampler; 7264}; 7265 7266struct VkFormatProperties3 7267{ 7268 VkStructureType sType; 7269 void* pNext; 7270 VkFormatFeatureFlags2 linearTilingFeatures; 7271 VkFormatFeatureFlags2 optimalTilingFeatures; 7272 VkFormatFeatureFlags2 bufferFeatures; 7273}; 7274 7275struct VkDrmFormatModifierProperties2EXT 7276{ 7277 uint64_t drmFormatModifier; 7278 uint32_t drmFormatModifierPlaneCount; 7279 VkFormatFeatureFlags2 drmFormatModifierTilingFeatures; 7280}; 7281 7282struct VkDrmFormatModifierPropertiesList2EXT 7283{ 7284 VkStructureType sType; 7285 void* pNext; 7286 uint32_t drmFormatModifierCount; 7287 VkDrmFormatModifierProperties2EXT* pDrmFormatModifierProperties; 7288}; 7289 7290struct VkAndroidHardwareBufferFormatProperties2ANDROID 7291{ 7292 VkStructureType sType; 7293 void* pNext; 7294 VkFormat format; 7295 uint64_t externalFormat; 7296 VkFormatFeatureFlags2 formatFeatures; 7297 VkComponentMapping samplerYcbcrConversionComponents; 7298 VkSamplerYcbcrModelConversion suggestedYcbcrModel; 7299 VkSamplerYcbcrRange suggestedYcbcrRange; 7300 VkChromaLocation suggestedXChromaOffset; 7301 VkChromaLocation suggestedYChromaOffset; 7302}; 7303 7304struct VkPipelineRenderingCreateInfo 7305{ 7306 VkStructureType sType; 7307 const void* pNext; 7308 uint32_t viewMask; 7309 uint32_t colorAttachmentCount; 7310 const VkFormat* pColorAttachmentFormats; 7311 VkFormat depthAttachmentFormat; 7312 VkFormat stencilAttachmentFormat; 7313}; 7314 7315struct VkRenderingAttachmentInfo 7316{ 7317 VkStructureType sType; 7318 const void* pNext; 7319 VkImageView imageView; 7320 VkImageLayout imageLayout; 7321 VkResolveModeFlagBits resolveMode; 7322 VkImageView resolveImageView; 7323 VkImageLayout resolveImageLayout; 7324 VkAttachmentLoadOp loadOp; 7325 VkAttachmentStoreOp storeOp; 7326 VkClearValue clearValue; 7327}; 7328 7329struct VkRenderingInfo 7330{ 7331 VkStructureType sType; 7332 const void* pNext; 7333 VkRenderingFlags flags; 7334 VkRect2D renderArea; 7335 uint32_t layerCount; 7336 uint32_t viewMask; 7337 uint32_t colorAttachmentCount; 7338 const VkRenderingAttachmentInfo* pColorAttachments; 7339 const VkRenderingAttachmentInfo* pDepthAttachment; 7340 const VkRenderingAttachmentInfo* pStencilAttachment; 7341}; 7342 7343struct VkRenderingFragmentShadingRateAttachmentInfoKHR 7344{ 7345 VkStructureType sType; 7346 const void* pNext; 7347 VkImageView imageView; 7348 VkImageLayout imageLayout; 7349 VkExtent2D shadingRateAttachmentTexelSize; 7350}; 7351 7352struct VkRenderingFragmentDensityMapAttachmentInfoEXT 7353{ 7354 VkStructureType sType; 7355 const void* pNext; 7356 VkImageView imageView; 7357 VkImageLayout imageLayout; 7358}; 7359 7360struct VkPhysicalDeviceDynamicRenderingFeatures 7361{ 7362 VkStructureType sType; 7363 void* pNext; 7364 VkBool32 dynamicRendering; 7365}; 7366 7367struct VkCommandBufferInheritanceRenderingInfo 7368{ 7369 VkStructureType sType; 7370 const void* pNext; 7371 VkRenderingFlags flags; 7372 uint32_t viewMask; 7373 uint32_t colorAttachmentCount; 7374 const VkFormat* pColorAttachmentFormats; 7375 VkFormat depthAttachmentFormat; 7376 VkFormat stencilAttachmentFormat; 7377 VkSampleCountFlagBits rasterizationSamples; 7378}; 7379 7380struct VkAttachmentSampleCountInfoAMD 7381{ 7382 VkStructureType sType; 7383 const void* pNext; 7384 uint32_t colorAttachmentCount; 7385 const VkSampleCountFlagBits* pColorAttachmentSamples; 7386 VkSampleCountFlagBits depthStencilAttachmentSamples; 7387}; 7388 7389struct VkMultiviewPerViewAttributesInfoNVX 7390{ 7391 VkStructureType sType; 7392 const void* pNext; 7393 VkBool32 perViewAttributes; 7394 VkBool32 perViewAttributesPositionXOnly; 7395}; 7396 7397struct VkPhysicalDeviceImageViewMinLodFeaturesEXT 7398{ 7399 VkStructureType sType; 7400 void* pNext; 7401 VkBool32 minLod; 7402}; 7403 7404struct VkImageViewMinLodCreateInfoEXT 7405{ 7406 VkStructureType sType; 7407 const void* pNext; 7408 float minLod; 7409}; 7410 7411struct VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT 7412{ 7413 VkStructureType sType; 7414 void* pNext; 7415 VkBool32 rasterizationOrderColorAttachmentAccess; 7416 VkBool32 rasterizationOrderDepthAttachmentAccess; 7417 VkBool32 rasterizationOrderStencilAttachmentAccess; 7418}; 7419 7420struct VkPhysicalDeviceLinearColorAttachmentFeaturesNV 7421{ 7422 VkStructureType sType; 7423 void* pNext; 7424 VkBool32 linearColorAttachment; 7425}; 7426 7427struct VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT 7428{ 7429 VkStructureType sType; 7430 void* pNext; 7431 VkBool32 graphicsPipelineLibrary; 7432}; 7433 7434struct VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT 7435{ 7436 VkStructureType sType; 7437 void* pNext; 7438 VkBool32 graphicsPipelineLibraryFastLinking; 7439 VkBool32 graphicsPipelineLibraryIndependentInterpolationDecoration; 7440}; 7441 7442struct VkGraphicsPipelineLibraryCreateInfoEXT 7443{ 7444 VkStructureType sType; 7445 void* pNext; 7446 VkGraphicsPipelineLibraryFlagsEXT flags; 7447}; 7448 7449struct VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE 7450{ 7451 VkStructureType sType; 7452 void* pNext; 7453 VkBool32 descriptorSetHostMapping; 7454}; 7455 7456struct VkDescriptorSetBindingReferenceVALVE 7457{ 7458 VkStructureType sType; 7459 const void* pNext; 7460 VkDescriptorSetLayout descriptorSetLayout; 7461 uint32_t binding; 7462}; 7463 7464struct VkDescriptorSetLayoutHostMappingInfoVALVE 7465{ 7466 VkStructureType sType; 7467 void* pNext; 7468 size_t descriptorOffset; 7469 uint32_t descriptorSize; 7470}; 7471 7472struct VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT 7473{ 7474 VkStructureType sType; 7475 void* pNext; 7476 VkBool32 shaderModuleIdentifier; 7477}; 7478 7479struct VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT 7480{ 7481 VkStructureType sType; 7482 void* pNext; 7483 uint8_t shaderModuleIdentifierAlgorithmUUID[VK_UUID_SIZE]; 7484}; 7485 7486struct VkPipelineShaderStageModuleIdentifierCreateInfoEXT 7487{ 7488 VkStructureType sType; 7489 const void* pNext; 7490 uint32_t identifierSize; 7491 const uint8_t* pIdentifier; 7492}; 7493 7494struct VkShaderModuleIdentifierEXT 7495{ 7496 VkStructureType sType; 7497 void* pNext; 7498 uint32_t identifierSize; 7499 uint8_t identifier[VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT]; 7500}; 7501 7502struct VkImageCompressionControlEXT 7503{ 7504 VkStructureType sType; 7505 const void* pNext; 7506 VkImageCompressionFlagsEXT flags; 7507 uint32_t compressionControlPlaneCount; 7508 VkImageCompressionFixedRateFlagsEXT* pFixedRateFlags; 7509}; 7510 7511struct VkPhysicalDeviceImageCompressionControlFeaturesEXT 7512{ 7513 VkStructureType sType; 7514 void* pNext; 7515 VkBool32 imageCompressionControl; 7516}; 7517 7518struct VkImageCompressionPropertiesEXT 7519{ 7520 VkStructureType sType; 7521 void* pNext; 7522 VkImageCompressionFlagsEXT imageCompressionFlags; 7523 VkImageCompressionFixedRateFlagsEXT imageCompressionFixedRateFlags; 7524}; 7525 7526struct VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT 7527{ 7528 VkStructureType sType; 7529 void* pNext; 7530 VkBool32 imageCompressionControlSwapchain; 7531}; 7532 7533struct VkImageSubresource2EXT 7534{ 7535 VkStructureType sType; 7536 void* pNext; 7537 VkImageSubresource imageSubresource; 7538}; 7539 7540struct VkSubresourceLayout2EXT 7541{ 7542 VkStructureType sType; 7543 void* pNext; 7544 VkSubresourceLayout subresourceLayout; 7545}; 7546 7547struct VkRenderPassCreationControlEXT 7548{ 7549 VkStructureType sType; 7550 const void* pNext; 7551 VkBool32 disallowMerging; 7552}; 7553 7554struct VkRenderPassCreationFeedbackInfoEXT 7555{ 7556 uint32_t postMergeSubpassCount; 7557}; 7558 7559struct VkRenderPassCreationFeedbackCreateInfoEXT 7560{ 7561 VkStructureType sType; 7562 const void* pNext; 7563 VkRenderPassCreationFeedbackInfoEXT* pRenderPassFeedback; 7564}; 7565 7566struct VkRenderPassSubpassFeedbackInfoEXT 7567{ 7568 VkSubpassMergeStatusEXT subpassMergeStatus; 7569 char description[VK_MAX_DESCRIPTION_SIZE]; 7570 uint32_t postMergeIndex; 7571}; 7572 7573struct VkRenderPassSubpassFeedbackCreateInfoEXT 7574{ 7575 VkStructureType sType; 7576 const void* pNext; 7577 VkRenderPassSubpassFeedbackInfoEXT* pSubpassFeedback; 7578}; 7579 7580struct VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT 7581{ 7582 VkStructureType sType; 7583 void* pNext; 7584 VkBool32 subpassMergeFeedback; 7585}; 7586 7587struct VkMicromapCreateInfoEXT 7588{ 7589 VkStructureType sType; 7590 const void* pNext; 7591 VkMicromapCreateFlagsEXT createFlags; 7592 VkBuffer buffer; 7593 VkDeviceSize offset; 7594 VkDeviceSize size; 7595 VkMicromapTypeEXT type; 7596 VkDeviceAddress deviceAddress; 7597}; 7598 7599struct VkMicromapVersionInfoEXT 7600{ 7601 VkStructureType sType; 7602 const void* pNext; 7603 const uint8_t* pVersionData; 7604}; 7605 7606struct VkCopyMicromapInfoEXT 7607{ 7608 VkStructureType sType; 7609 const void* pNext; 7610 VkMicromapEXT src; 7611 VkMicromapEXT dst; 7612 VkCopyMicromapModeEXT mode; 7613}; 7614 7615struct VkCopyMicromapToMemoryInfoEXT 7616{ 7617 VkStructureType sType; 7618 const void* pNext; 7619 VkMicromapEXT src; 7620 VkDeviceOrHostAddressKHR dst; 7621 VkCopyMicromapModeEXT mode; 7622}; 7623 7624struct VkCopyMemoryToMicromapInfoEXT 7625{ 7626 VkStructureType sType; 7627 const void* pNext; 7628 VkDeviceOrHostAddressConstKHR src; 7629 VkMicromapEXT dst; 7630 VkCopyMicromapModeEXT mode; 7631}; 7632 7633struct VkMicromapBuildSizesInfoEXT 7634{ 7635 VkStructureType sType; 7636 const void* pNext; 7637 VkDeviceSize micromapSize; 7638 VkDeviceSize buildScratchSize; 7639 VkBool32 discardable; 7640}; 7641 7642struct VkMicromapUsageEXT 7643{ 7644 uint32_t count; 7645 uint32_t subdivisionLevel; 7646 uint32_t format; 7647}; 7648 7649struct VkMicromapBuildInfoEXT 7650{ 7651 VkStructureType sType; 7652 const void* pNext; 7653 VkMicromapTypeEXT type; 7654 VkBuildMicromapFlagsEXT flags; 7655 VkBuildMicromapModeEXT mode; 7656 VkMicromapEXT dstMicromap; 7657 uint32_t usageCountsCount; 7658 const VkMicromapUsageEXT* pUsageCounts; 7659 const VkMicromapUsageEXT* const* ppUsageCounts; 7660 VkDeviceOrHostAddressConstKHR data; 7661 VkDeviceOrHostAddressKHR scratchData; 7662 VkDeviceOrHostAddressConstKHR triangleArray; 7663 VkDeviceSize triangleArrayStride; 7664}; 7665 7666struct VkMicromapTriangleEXT 7667{ 7668 uint32_t dataOffset; 7669 uint16_t subdivisionLevel; 7670 uint16_t format; 7671}; 7672 7673struct VkPhysicalDeviceOpacityMicromapFeaturesEXT 7674{ 7675 VkStructureType sType; 7676 void* pNext; 7677 VkBool32 micromap; 7678 VkBool32 micromapCaptureReplay; 7679 VkBool32 micromapHostCommands; 7680}; 7681 7682struct VkPhysicalDeviceOpacityMicromapPropertiesEXT 7683{ 7684 VkStructureType sType; 7685 void* pNext; 7686 uint32_t maxOpacity2StateSubdivisionLevel; 7687 uint32_t maxOpacity4StateSubdivisionLevel; 7688}; 7689 7690struct VkAccelerationStructureTrianglesOpacityMicromapEXT 7691{ 7692 VkStructureType sType; 7693 void* pNext; 7694 VkIndexType indexType; 7695 VkDeviceOrHostAddressConstKHR indexBuffer; 7696 VkDeviceSize indexStride; 7697 uint32_t baseTriangle; 7698 uint32_t usageCountsCount; 7699 const VkMicromapUsageEXT* pUsageCounts; 7700 const VkMicromapUsageEXT* const* ppUsageCounts; 7701 VkMicromapEXT micromap; 7702}; 7703 7704struct VkPipelinePropertiesIdentifierEXT 7705{ 7706 VkStructureType sType; 7707 void* pNext; 7708 uint8_t pipelineIdentifier[VK_UUID_SIZE]; 7709}; 7710 7711struct VkPhysicalDevicePipelinePropertiesFeaturesEXT 7712{ 7713 VkStructureType sType; 7714 void* pNext; 7715 VkBool32 pipelinePropertiesIdentifier; 7716}; 7717 7718struct VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD 7719{ 7720 VkStructureType sType; 7721 void* pNext; 7722 VkBool32 shaderEarlyAndLateFragmentTests; 7723}; 7724 7725struct VkExportMetalObjectCreateInfoEXT 7726{ 7727 VkStructureType sType; 7728 const void* pNext; 7729 VkExportMetalObjectTypeFlagBitsEXT exportObjectType; 7730}; 7731 7732struct VkExportMetalObjectsInfoEXT 7733{ 7734 VkStructureType sType; 7735 const void* pNext; 7736}; 7737 7738struct VkExportMetalDeviceInfoEXT 7739{ 7740 VkStructureType sType; 7741 const void* pNext; 7742 pt::MTLDevice_id mtlDevice; 7743}; 7744 7745struct VkExportMetalCommandQueueInfoEXT 7746{ 7747 VkStructureType sType; 7748 const void* pNext; 7749 VkQueue queue; 7750 pt::MTLCommandQueue_id mtlCommandQueue; 7751}; 7752 7753struct VkExportMetalBufferInfoEXT 7754{ 7755 VkStructureType sType; 7756 const void* pNext; 7757 VkDeviceMemory memory; 7758 pt::MTLBuffer_id mtlBuffer; 7759}; 7760 7761struct VkImportMetalBufferInfoEXT 7762{ 7763 VkStructureType sType; 7764 const void* pNext; 7765 pt::MTLBuffer_id mtlBuffer; 7766}; 7767 7768struct VkExportMetalTextureInfoEXT 7769{ 7770 VkStructureType sType; 7771 const void* pNext; 7772 VkImage image; 7773 VkImageView imageView; 7774 VkBufferView bufferView; 7775 VkImageAspectFlagBits plane; 7776 pt::MTLTexture_id mtlTexture; 7777}; 7778 7779struct VkImportMetalTextureInfoEXT 7780{ 7781 VkStructureType sType; 7782 const void* pNext; 7783 VkImageAspectFlagBits plane; 7784 pt::MTLTexture_id mtlTexture; 7785}; 7786 7787struct VkExportMetalIOSurfaceInfoEXT 7788{ 7789 VkStructureType sType; 7790 const void* pNext; 7791 VkImage image; 7792 pt::IOSurfaceRef ioSurface; 7793}; 7794 7795struct VkImportMetalIOSurfaceInfoEXT 7796{ 7797 VkStructureType sType; 7798 const void* pNext; 7799 pt::IOSurfaceRef ioSurface; 7800}; 7801 7802struct VkExportMetalSharedEventInfoEXT 7803{ 7804 VkStructureType sType; 7805 const void* pNext; 7806 VkSemaphore semaphore; 7807 VkEvent event; 7808 pt::MTLSharedEvent_id mtlSharedEvent; 7809}; 7810 7811struct VkImportMetalSharedEventInfoEXT 7812{ 7813 VkStructureType sType; 7814 const void* pNext; 7815 pt::MTLSharedEvent_id mtlSharedEvent; 7816}; 7817 7818struct VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT 7819{ 7820 VkStructureType sType; 7821 void* pNext; 7822 VkBool32 nonSeamlessCubeMap; 7823}; 7824 7825struct VkPhysicalDevicePipelineRobustnessFeaturesEXT 7826{ 7827 VkStructureType sType; 7828 void* pNext; 7829 VkBool32 pipelineRobustness; 7830}; 7831 7832struct VkPipelineRobustnessCreateInfoEXT 7833{ 7834 VkStructureType sType; 7835 const void* pNext; 7836 VkPipelineRobustnessBufferBehaviorEXT storageBuffers; 7837 VkPipelineRobustnessBufferBehaviorEXT uniformBuffers; 7838 VkPipelineRobustnessBufferBehaviorEXT vertexInputs; 7839 VkPipelineRobustnessImageBehaviorEXT images; 7840}; 7841 7842struct VkPhysicalDevicePipelineRobustnessPropertiesEXT 7843{ 7844 VkStructureType sType; 7845 void* pNext; 7846 VkPipelineRobustnessBufferBehaviorEXT defaultRobustnessStorageBuffers; 7847 VkPipelineRobustnessBufferBehaviorEXT defaultRobustnessUniformBuffers; 7848 VkPipelineRobustnessBufferBehaviorEXT defaultRobustnessVertexInputs; 7849 VkPipelineRobustnessImageBehaviorEXT defaultRobustnessImages; 7850}; 7851 7852struct VkImageViewSampleWeightCreateInfoQCOM 7853{ 7854 VkStructureType sType; 7855 const void* pNext; 7856 VkOffset2D filterCenter; 7857 VkExtent2D filterSize; 7858 uint32_t numPhases; 7859}; 7860 7861struct VkPhysicalDeviceImageProcessingFeaturesQCOM 7862{ 7863 VkStructureType sType; 7864 void* pNext; 7865 VkBool32 textureSampleWeighted; 7866 VkBool32 textureBoxFilter; 7867 VkBool32 textureBlockMatch; 7868}; 7869 7870struct VkPhysicalDeviceImageProcessingPropertiesQCOM 7871{ 7872 VkStructureType sType; 7873 void* pNext; 7874 uint32_t maxWeightFilterPhases; 7875 VkExtent2D maxWeightFilterDimension; 7876 VkExtent2D maxBlockMatchRegion; 7877 VkExtent2D maxBoxFilterBlockSize; 7878}; 7879 7880struct VkPhysicalDeviceTilePropertiesFeaturesQCOM 7881{ 7882 VkStructureType sType; 7883 void* pNext; 7884 VkBool32 tileProperties; 7885}; 7886 7887struct VkTilePropertiesQCOM 7888{ 7889 VkStructureType sType; 7890 void* pNext; 7891 VkExtent3D tileSize; 7892 VkExtent2D apronSize; 7893 VkOffset2D origin; 7894}; 7895 7896struct VkPhysicalDeviceAmigoProfilingFeaturesSEC 7897{ 7898 VkStructureType sType; 7899 void* pNext; 7900 VkBool32 amigoProfiling; 7901}; 7902 7903struct VkAmigoProfilingSubmitInfoSEC 7904{ 7905 VkStructureType sType; 7906 const void* pNext; 7907 uint64_t firstDrawTimestamp; 7908 uint64_t swapBufferTimestamp; 7909}; 7910 7911struct VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT 7912{ 7913 VkStructureType sType; 7914 void* pNext; 7915 VkBool32 attachmentFeedbackLoopLayout; 7916}; 7917 7918struct VkPhysicalDeviceDepthClampZeroOneFeaturesEXT 7919{ 7920 VkStructureType sType; 7921 void* pNext; 7922 VkBool32 depthClampZeroOne; 7923}; 7924 7925struct VkPhysicalDeviceAddressBindingReportFeaturesEXT 7926{ 7927 VkStructureType sType; 7928 void* pNext; 7929 VkBool32 reportAddressBinding; 7930}; 7931 7932struct VkDeviceAddressBindingCallbackDataEXT 7933{ 7934 VkStructureType sType; 7935 void* pNext; 7936 VkDeviceAddressBindingFlagsEXT flags; 7937 VkDeviceAddress baseAddress; 7938 VkDeviceSize size; 7939 VkDeviceAddressBindingTypeEXT bindingType; 7940}; 7941 7942struct VkPhysicalDeviceOpticalFlowFeaturesNV 7943{ 7944 VkStructureType sType; 7945 void* pNext; 7946 VkBool32 opticalFlow; 7947}; 7948 7949struct VkPhysicalDeviceOpticalFlowPropertiesNV 7950{ 7951 VkStructureType sType; 7952 void* pNext; 7953 VkOpticalFlowGridSizeFlagsNV supportedOutputGridSizes; 7954 VkOpticalFlowGridSizeFlagsNV supportedHintGridSizes; 7955 VkBool32 hintSupported; 7956 VkBool32 costSupported; 7957 VkBool32 bidirectionalFlowSupported; 7958 VkBool32 globalFlowSupported; 7959 uint32_t minWidth; 7960 uint32_t minHeight; 7961 uint32_t maxWidth; 7962 uint32_t maxHeight; 7963 uint32_t maxNumRegionsOfInterest; 7964}; 7965 7966struct VkOpticalFlowImageFormatInfoNV 7967{ 7968 VkStructureType sType; 7969 const void* pNext; 7970 VkOpticalFlowUsageFlagsNV usage; 7971}; 7972 7973struct VkOpticalFlowImageFormatPropertiesNV 7974{ 7975 VkStructureType sType; 7976 const void* pNext; 7977 VkFormat format; 7978}; 7979 7980struct VkOpticalFlowSessionCreateInfoNV 7981{ 7982 VkStructureType sType; 7983 void* pNext; 7984 uint32_t width; 7985 uint32_t height; 7986 VkFormat imageFormat; 7987 VkFormat flowVectorFormat; 7988 VkFormat costFormat; 7989 VkOpticalFlowGridSizeFlagsNV outputGridSize; 7990 VkOpticalFlowGridSizeFlagsNV hintGridSize; 7991 VkOpticalFlowPerformanceLevelNV performanceLevel; 7992 VkOpticalFlowSessionCreateFlagsNV flags; 7993}; 7994 7995struct VkOpticalFlowSessionCreatePrivateDataInfoNV 7996{ 7997 VkStructureType sType; 7998 void* pNext; 7999 uint32_t id; 8000 uint32_t size; 8001 const void* pPrivateData; 8002}; 8003 8004struct VkOpticalFlowExecuteInfoNV 8005{ 8006 VkStructureType sType; 8007 void* pNext; 8008 VkOpticalFlowExecuteFlagsNV flags; 8009 uint32_t regionCount; 8010 const VkRect2D* pRegions; 8011}; 8012 8013struct VkPhysicalDeviceFaultFeaturesEXT 8014{ 8015 VkStructureType sType; 8016 void* pNext; 8017 VkBool32 deviceFault; 8018 VkBool32 deviceFaultVendorBinary; 8019}; 8020 8021struct VkDeviceFaultAddressInfoEXT 8022{ 8023 VkDeviceFaultAddressTypeEXT addressType; 8024 VkDeviceAddress reportedAddress; 8025 VkDeviceSize addressPrecision; 8026}; 8027 8028struct VkDeviceFaultVendorInfoEXT 8029{ 8030 char description[VK_MAX_DESCRIPTION_SIZE]; 8031 uint64_t vendorFaultCode; 8032 uint64_t vendorFaultData; 8033}; 8034 8035struct VkDeviceFaultCountsEXT 8036{ 8037 VkStructureType sType; 8038 void* pNext; 8039 uint32_t addressInfoCount; 8040 uint32_t vendorInfoCount; 8041 VkDeviceSize vendorBinarySize; 8042}; 8043 8044struct VkDeviceFaultInfoEXT 8045{ 8046 VkStructureType sType; 8047 void* pNext; 8048 char description[VK_MAX_DESCRIPTION_SIZE]; 8049 VkDeviceFaultAddressInfoEXT* pAddressInfos; 8050 VkDeviceFaultVendorInfoEXT* pVendorInfos; 8051 void* pVendorBinaryData; 8052}; 8053 8054struct VkDeviceFaultVendorBinaryHeaderVersionOneEXT 8055{ 8056 uint32_t headerSize; 8057 VkDeviceFaultVendorBinaryHeaderVersionEXT headerVersion; 8058 uint32_t vendorID; 8059 uint32_t deviceID; 8060 uint32_t driverVersion; 8061 uint8_t pipelineCacheUUID[VK_UUID_SIZE]; 8062 uint32_t applicationNameOffset; 8063 uint32_t applicationVersion; 8064 uint32_t engineNameOffset; 8065}; 8066 8067struct VkDecompressMemoryRegionNV 8068{ 8069 VkDeviceAddress srcAddress; 8070 VkDeviceAddress dstAddress; 8071 VkDeviceSize compressedSize; 8072 VkDeviceSize decompressedSize; 8073 VkMemoryDecompressionMethodFlagsNV decompressionMethod; 8074}; 8075 8076struct VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM 8077{ 8078 VkStructureType sType; 8079 void* pNext; 8080 uint64_t shaderCoreMask; 8081 uint32_t shaderCoreCount; 8082 uint32_t shaderWarpsPerCore; 8083}; 8084 8085struct VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM 8086{ 8087 VkStructureType sType; 8088 void* pNext; 8089 VkBool32 shaderCoreBuiltins; 8090}; 8091 8092struct VkSurfacePresentModeEXT 8093{ 8094 VkStructureType sType; 8095 void* pNext; 8096 VkPresentModeKHR presentMode; 8097}; 8098 8099struct VkSurfacePresentScalingCapabilitiesEXT 8100{ 8101 VkStructureType sType; 8102 void* pNext; 8103 VkPresentScalingFlagsEXT supportedPresentScaling; 8104 VkPresentGravityFlagsEXT supportedPresentGravityX; 8105 VkPresentGravityFlagsEXT supportedPresentGravityY; 8106 VkExtent2D minScaledImageExtent; 8107 VkExtent2D maxScaledImageExtent; 8108}; 8109 8110struct VkSurfacePresentModeCompatibilityEXT 8111{ 8112 VkStructureType sType; 8113 void* pNext; 8114 uint32_t presentModeCount; 8115 VkPresentModeKHR* pPresentModes; 8116}; 8117 8118struct VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT 8119{ 8120 VkStructureType sType; 8121 void* pNext; 8122 VkBool32 swapchainMaintenance1; 8123}; 8124 8125struct VkSwapchainPresentFenceInfoEXT 8126{ 8127 VkStructureType sType; 8128 void* pNext; 8129 uint32_t swapchainCount; 8130 const VkFence* pFences; 8131}; 8132 8133struct VkSwapchainPresentModesCreateInfoEXT 8134{ 8135 VkStructureType sType; 8136 void* pNext; 8137 uint32_t presentModeCount; 8138 const VkPresentModeKHR* pPresentModes; 8139}; 8140 8141struct VkSwapchainPresentModeInfoEXT 8142{ 8143 VkStructureType sType; 8144 void* pNext; 8145 uint32_t swapchainCount; 8146 const VkPresentModeKHR* pPresentModes; 8147}; 8148 8149struct VkSwapchainPresentScalingCreateInfoEXT 8150{ 8151 VkStructureType sType; 8152 const void* pNext; 8153 VkPresentScalingFlagsEXT scalingBehavior; 8154 VkPresentGravityFlagsEXT presentGravityX; 8155 VkPresentGravityFlagsEXT presentGravityY; 8156}; 8157 8158struct VkReleaseSwapchainImagesInfoEXT 8159{ 8160 VkStructureType sType; 8161 const void* pNext; 8162 VkSwapchainKHR swapchain; 8163 uint32_t imageIndexCount; 8164 const uint32_t* pImageIndices; 8165}; 8166 8167struct VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV 8168{ 8169 VkStructureType sType; 8170 void* pNext; 8171 VkBool32 rayTracingInvocationReorder; 8172}; 8173 8174struct VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV 8175{ 8176 VkStructureType sType; 8177 void* pNext; 8178 VkRayTracingInvocationReorderModeNV rayTracingInvocationReorderReorderingHint; 8179}; 8180 8181struct VkDirectDriverLoadingInfoLUNARG 8182{ 8183 VkStructureType sType; 8184 void* pNext; 8185 VkDirectDriverLoadingFlagsLUNARG flags; 8186 PFN_vkGetInstanceProcAddrLUNARG pfnGetInstanceProcAddr; 8187}; 8188 8189struct VkDirectDriverLoadingListLUNARG 8190{ 8191 VkStructureType sType; 8192 void* pNext; 8193 VkDirectDriverLoadingModeLUNARG mode; 8194 uint32_t driverCount; 8195 const VkDirectDriverLoadingInfoLUNARG* pDrivers; 8196}; 8197 8198struct VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM 8199{ 8200 VkStructureType sType; 8201 void* pNext; 8202 VkBool32 multiviewPerViewViewports; 8203}; 8204 8205struct StdVideoH264SpsVuiFlags 8206{ 8207 uint32_t aspect_ratio_info_present_flag:1; 8208 uint32_t overscan_info_present_flag:1; 8209 uint32_t overscan_appropriate_flag:1; 8210 uint32_t video_signal_type_present_flag:1; 8211 uint32_t video_full_range_flag:1; 8212 uint32_t color_description_present_flag:1; 8213 uint32_t chroma_loc_info_present_flag:1; 8214 uint32_t timing_info_present_flag:1; 8215 uint32_t fixed_frame_rate_flag:1; 8216 uint32_t bitstream_restriction_flag:1; 8217 uint32_t nal_hrd_parameters_present_flag:1; 8218 uint32_t vcl_hrd_parameters_present_flag:1; 8219}; 8220 8221struct StdVideoH264HrdParameters 8222{ 8223 uint8_t cpb_cnt_minus1; 8224 uint8_t bit_rate_scale; 8225 uint8_t cpb_size_scale; 8226 uint8_t reserved1; 8227 uint32_t bit_rate_value_minus1[STD_VIDEO_H264_CPB_CNT_LIST_SIZE]; 8228 uint32_t cpb_size_value_minus1[STD_VIDEO_H264_CPB_CNT_LIST_SIZE]; 8229 uint8_t cbr_flag[STD_VIDEO_H264_CPB_CNT_LIST_SIZE]; 8230 uint32_t initial_cpb_removal_delay_length_minus1; 8231 uint32_t cpb_removal_delay_length_minus1; 8232 uint32_t dpb_output_delay_length_minus1; 8233 uint32_t time_offset_length; 8234}; 8235 8236struct StdVideoH264SequenceParameterSetVui 8237{ 8238 StdVideoH264SpsVuiFlags flags; 8239 StdVideoH264AspectRatioIdc aspect_ratio_idc; 8240 uint16_t sar_width; 8241 uint16_t sar_height; 8242 uint8_t video_format; 8243 uint8_t colour_primaries; 8244 uint8_t transfer_characteristics; 8245 uint8_t matrix_coefficients; 8246 uint32_t num_units_in_tick; 8247 uint32_t time_scale; 8248 uint8_t max_num_reorder_frames; 8249 uint8_t max_dec_frame_buffering; 8250 uint8_t chroma_sample_loc_type_top_field; 8251 uint8_t chroma_sample_loc_type_bottom_field; 8252 uint32_t reserved1; 8253 const StdVideoH264HrdParameters* pHrdParameters; 8254}; 8255 8256struct StdVideoH264SpsFlags 8257{ 8258 uint32_t constraint_set0_flag:1; 8259 uint32_t constraint_set1_flag:1; 8260 uint32_t constraint_set2_flag:1; 8261 uint32_t constraint_set3_flag:1; 8262 uint32_t constraint_set4_flag:1; 8263 uint32_t constraint_set5_flag:1; 8264 uint32_t direct_8x8_inference_flag:1; 8265 uint32_t mb_adaptive_frame_field_flag:1; 8266 uint32_t frame_mbs_only_flag:1; 8267 uint32_t delta_pic_order_always_zero_flag:1; 8268 uint32_t separate_colour_plane_flag:1; 8269 uint32_t gaps_in_frame_num_value_allowed_flag:1; 8270 uint32_t qpprime_y_zero_transform_bypass_flag:1; 8271 uint32_t frame_cropping_flag:1; 8272 uint32_t seq_scaling_matrix_present_flag:1; 8273 uint32_t vui_parameters_present_flag:1; 8274}; 8275 8276struct StdVideoH264ScalingLists 8277{ 8278 uint16_t scaling_list_present_mask; 8279 uint16_t use_default_scaling_matrix_mask; 8280 uint8_t ScalingList4x4[STD_VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS][STD_VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS]; 8281 uint8_t ScalingList8x8[STD_VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS][STD_VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS]; 8282}; 8283 8284struct StdVideoH264SequenceParameterSet 8285{ 8286 StdVideoH264SpsFlags flags; 8287 StdVideoH264ProfileIdc profile_idc; 8288 StdVideoH264LevelIdc level_idc; 8289 StdVideoH264ChromaFormatIdc chroma_format_idc; 8290 uint8_t seq_parameter_set_id; 8291 uint8_t bit_depth_luma_minus8; 8292 uint8_t bit_depth_chroma_minus8; 8293 uint8_t log2_max_frame_num_minus4; 8294 StdVideoH264PocType pic_order_cnt_type; 8295 int32_t offset_for_non_ref_pic; 8296 int32_t offset_for_top_to_bottom_field; 8297 uint8_t log2_max_pic_order_cnt_lsb_minus4; 8298 uint8_t num_ref_frames_in_pic_order_cnt_cycle; 8299 uint8_t max_num_ref_frames; 8300 uint8_t reserved1; 8301 uint32_t pic_width_in_mbs_minus1; 8302 uint32_t pic_height_in_map_units_minus1; 8303 uint32_t frame_crop_left_offset; 8304 uint32_t frame_crop_right_offset; 8305 uint32_t frame_crop_top_offset; 8306 uint32_t frame_crop_bottom_offset; 8307 uint32_t reserved2; 8308 const int32_t* pOffsetForRefFrame; 8309 const StdVideoH264ScalingLists* pScalingLists; 8310 const StdVideoH264SequenceParameterSetVui* pSequenceParameterSetVui; 8311}; 8312 8313struct StdVideoH264PpsFlags 8314{ 8315 uint32_t transform_8x8_mode_flag:1; 8316 uint32_t redundant_pic_cnt_present_flag:1; 8317 uint32_t constrained_intra_pred_flag:1; 8318 uint32_t deblocking_filter_control_present_flag:1; 8319 uint32_t weighted_pred_flag:1; 8320 uint32_t bottom_field_pic_order_in_frame_present_flag:1; 8321 uint32_t entropy_coding_mode_flag:1; 8322 uint32_t pic_scaling_matrix_present_flag:1; 8323}; 8324 8325struct StdVideoH264PictureParameterSet 8326{ 8327 StdVideoH264PpsFlags flags; 8328 uint8_t seq_parameter_set_id; 8329 uint8_t pic_parameter_set_id; 8330 uint8_t num_ref_idx_l0_default_active_minus1; 8331 uint8_t num_ref_idx_l1_default_active_minus1; 8332 StdVideoH264WeightedBipredIdc weighted_bipred_idc; 8333 int8_t pic_init_qp_minus26; 8334 int8_t pic_init_qs_minus26; 8335 int8_t chroma_qp_index_offset; 8336 int8_t second_chroma_qp_index_offset; 8337 const StdVideoH264ScalingLists* pScalingLists; 8338}; 8339 8340struct VkVideoDecodeH264SessionParametersAddInfoKHR 8341{ 8342 VkStructureType sType; 8343 const void* pNext; 8344 uint32_t stdSPSCount; 8345 const StdVideoH264SequenceParameterSet* pStdSPSs; 8346 uint32_t stdPPSCount; 8347 const StdVideoH264PictureParameterSet* pStdPPSs; 8348}; 8349 8350struct VkVideoEncodeH264SessionParametersAddInfoEXT 8351{ 8352 VkStructureType sType; 8353 const void* pNext; 8354 uint32_t stdSPSCount; 8355 const StdVideoH264SequenceParameterSet* pStdSPSs; 8356 uint32_t stdPPSCount; 8357 const StdVideoH264PictureParameterSet* pStdPPSs; 8358}; 8359 8360struct StdVideoDecodeH264PictureInfoFlags 8361{ 8362 uint32_t field_pic_flag:1; 8363 uint32_t is_intra:1; 8364 uint32_t IdrPicFlag:1; 8365 uint32_t bottom_field_flag:1; 8366 uint32_t is_reference:1; 8367 uint32_t complementary_field_pair:1; 8368}; 8369 8370struct VkVideoDecodeH264SessionParametersCreateInfoKHR 8371{ 8372 VkStructureType sType; 8373 const void* pNext; 8374 uint32_t maxStdSPSCount; 8375 uint32_t maxStdPPSCount; 8376 const VkVideoDecodeH264SessionParametersAddInfoKHR* pParametersAddInfo; 8377}; 8378 8379struct VkVideoEncodeH264SessionParametersCreateInfoEXT 8380{ 8381 VkStructureType sType; 8382 const void* pNext; 8383 uint32_t maxStdSPSCount; 8384 uint32_t maxStdPPSCount; 8385 const VkVideoEncodeH264SessionParametersAddInfoEXT* pParametersAddInfo; 8386}; 8387 8388struct StdVideoDecodeH264PictureInfo 8389{ 8390 StdVideoDecodeH264PictureInfoFlags flags; 8391 uint8_t seq_parameter_set_id; 8392 uint8_t pic_parameter_set_id; 8393 uint8_t reserved1; 8394 uint8_t reserved2; 8395 uint16_t frame_num; 8396 uint16_t idr_pic_id; 8397 int32_t PicOrderCnt[STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE]; 8398}; 8399 8400struct VkVideoDecodeH264PictureInfoKHR 8401{ 8402 VkStructureType sType; 8403 const void* pNext; 8404 const StdVideoDecodeH264PictureInfo* pStdPictureInfo; 8405 uint32_t sliceCount; 8406 const uint32_t* pSliceOffsets; 8407}; 8408 8409struct StdVideoDecodeH264ReferenceInfoFlags 8410{ 8411 uint32_t top_field_flag:1; 8412 uint32_t bottom_field_flag:1; 8413 uint32_t used_for_long_term_reference:1; 8414 uint32_t is_non_existing:1; 8415}; 8416 8417struct StdVideoDecodeH264ReferenceInfo 8418{ 8419 StdVideoDecodeH264ReferenceInfoFlags flags; 8420 uint16_t FrameNum; 8421 uint16_t reserved; 8422 int32_t PicOrderCnt[STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE]; 8423}; 8424 8425struct VkVideoDecodeH264DpbSlotInfoKHR 8426{ 8427 VkStructureType sType; 8428 const void* pNext; 8429 const StdVideoDecodeH264ReferenceInfo* pStdReferenceInfo; 8430}; 8431 8432struct StdVideoEncodeH264WeightTableFlags 8433{ 8434 uint32_t luma_weight_l0_flag; 8435 uint32_t chroma_weight_l0_flag; 8436 uint32_t luma_weight_l1_flag; 8437 uint32_t chroma_weight_l1_flag; 8438}; 8439 8440struct StdVideoEncodeH264WeightTable 8441{ 8442 StdVideoEncodeH264WeightTableFlags flags; 8443 uint8_t luma_log2_weight_denom; 8444 uint8_t chroma_log2_weight_denom; 8445 int8_t luma_weight_l0[STD_VIDEO_H264_MAX_NUM_LIST_REF]; 8446 int8_t luma_offset_l0[STD_VIDEO_H264_MAX_NUM_LIST_REF]; 8447 int8_t chroma_weight_l0[STD_VIDEO_H264_MAX_NUM_LIST_REF][STD_VIDEO_H264_MAX_CHROMA_PLANES]; 8448 int8_t chroma_offset_l0[STD_VIDEO_H264_MAX_NUM_LIST_REF][STD_VIDEO_H264_MAX_CHROMA_PLANES]; 8449 int8_t luma_weight_l1[STD_VIDEO_H264_MAX_NUM_LIST_REF]; 8450 int8_t luma_offset_l1[STD_VIDEO_H264_MAX_NUM_LIST_REF]; 8451 int8_t chroma_weight_l1[STD_VIDEO_H264_MAX_NUM_LIST_REF][STD_VIDEO_H264_MAX_CHROMA_PLANES]; 8452 int8_t chroma_offset_l1[STD_VIDEO_H264_MAX_NUM_LIST_REF][STD_VIDEO_H264_MAX_CHROMA_PLANES]; 8453}; 8454 8455struct StdVideoEncodeH264SliceHeaderFlags 8456{ 8457 uint32_t direct_spatial_mv_pred_flag:1; 8458 uint32_t num_ref_idx_active_override_flag:1; 8459 uint32_t no_output_of_prior_pics_flag:1; 8460 uint32_t adaptive_ref_pic_marking_mode_flag:1; 8461 uint32_t no_prior_references_available_flag:1; 8462}; 8463 8464struct StdVideoEncodeH264PictureInfoFlags 8465{ 8466 uint32_t idr_flag:1; 8467 uint32_t is_reference_flag:1; 8468 uint32_t used_for_long_term_reference:1; 8469}; 8470 8471struct StdVideoEncodeH264ReferenceInfoFlags 8472{ 8473 uint32_t used_for_long_term_reference:1; 8474}; 8475 8476struct StdVideoEncodeH264RefMgmtFlags 8477{ 8478 uint32_t ref_pic_list_modification_l0_flag:1; 8479 uint32_t ref_pic_list_modification_l1_flag:1; 8480}; 8481 8482struct StdVideoEncodeH264RefListModEntry 8483{ 8484 StdVideoH264ModificationOfPicNumsIdc modification_of_pic_nums_idc; 8485 uint16_t abs_diff_pic_num_minus1; 8486 uint16_t long_term_pic_num; 8487}; 8488 8489struct StdVideoEncodeH264RefPicMarkingEntry 8490{ 8491 StdVideoH264MemMgmtControlOp operation; 8492 uint16_t difference_of_pic_nums_minus1; 8493 uint16_t long_term_pic_num; 8494 uint16_t long_term_frame_idx; 8495 uint16_t max_long_term_frame_idx_plus1; 8496}; 8497 8498struct StdVideoEncodeH264RefMemMgmtCtrlOperations 8499{ 8500 StdVideoEncodeH264RefMgmtFlags flags; 8501 uint8_t refList0ModOpCount; 8502 const StdVideoEncodeH264RefListModEntry* pRefList0ModOperations; 8503 uint8_t refList1ModOpCount; 8504 const StdVideoEncodeH264RefListModEntry* pRefList1ModOperations; 8505 uint8_t refPicMarkingOpCount; 8506 const StdVideoEncodeH264RefPicMarkingEntry* pRefPicMarkingOperations; 8507}; 8508 8509struct StdVideoEncodeH264PictureInfo 8510{ 8511 StdVideoEncodeH264PictureInfoFlags flags; 8512 uint8_t seq_parameter_set_id; 8513 uint8_t pic_parameter_set_id; 8514 StdVideoH264PictureType pictureType; 8515 uint32_t frame_num; 8516 int32_t PicOrderCnt; 8517}; 8518 8519struct StdVideoEncodeH264ReferenceInfo 8520{ 8521 StdVideoEncodeH264ReferenceInfoFlags flags; 8522 uint32_t FrameNum; 8523 int32_t PicOrderCnt; 8524 uint16_t long_term_pic_num; 8525 uint16_t long_term_frame_idx; 8526}; 8527 8528struct VkVideoEncodeH264DpbSlotInfoEXT 8529{ 8530 VkStructureType sType; 8531 const void* pNext; 8532 int8_t slotIndex; 8533 const StdVideoEncodeH264ReferenceInfo* pStdReferenceInfo; 8534}; 8535 8536struct StdVideoEncodeH264SliceHeader 8537{ 8538 StdVideoEncodeH264SliceHeaderFlags flags; 8539 uint32_t first_mb_in_slice; 8540 StdVideoH264SliceType slice_type; 8541 uint16_t idr_pic_id; 8542 uint8_t num_ref_idx_l0_active_minus1; 8543 uint8_t num_ref_idx_l1_active_minus1; 8544 StdVideoH264CabacInitIdc cabac_init_idc; 8545 StdVideoH264DisableDeblockingFilterIdc disable_deblocking_filter_idc; 8546 int8_t slice_alpha_c0_offset_div2; 8547 int8_t slice_beta_offset_div2; 8548 const StdVideoEncodeH264WeightTable* pWeightTable; 8549}; 8550 8551struct VkVideoEncodeH264ReferenceListsInfoEXT 8552{ 8553 VkStructureType sType; 8554 const void* pNext; 8555 uint8_t referenceList0EntryCount; 8556 const VkVideoEncodeH264DpbSlotInfoEXT* pReferenceList0Entries; 8557 uint8_t referenceList1EntryCount; 8558 const VkVideoEncodeH264DpbSlotInfoEXT* pReferenceList1Entries; 8559 const StdVideoEncodeH264RefMemMgmtCtrlOperations* pMemMgmtCtrlOperations; 8560}; 8561 8562struct StdVideoH265ProfileTierLevelFlags 8563{ 8564 uint32_t general_tier_flag:1; 8565 uint32_t general_progressive_source_flag:1; 8566 uint32_t general_interlaced_source_flag:1; 8567 uint32_t general_non_packed_constraint_flag:1; 8568 uint32_t general_frame_only_constraint_flag:1; 8569}; 8570 8571struct VkVideoEncodeH264NaluSliceInfoEXT 8572{ 8573 VkStructureType sType; 8574 const void* pNext; 8575 uint32_t mbCount; 8576 const VkVideoEncodeH264ReferenceListsInfoEXT* pReferenceFinalLists; 8577 const StdVideoEncodeH264SliceHeader* pSliceHeaderStd; 8578}; 8579 8580struct StdVideoH265ProfileTierLevel 8581{ 8582 StdVideoH265ProfileTierLevelFlags flags; 8583 StdVideoH265ProfileIdc general_profile_idc; 8584 StdVideoH265LevelIdc general_level_idc; 8585}; 8586 8587struct VkVideoEncodeH264VclFrameInfoEXT 8588{ 8589 VkStructureType sType; 8590 const void* pNext; 8591 const VkVideoEncodeH264ReferenceListsInfoEXT* pReferenceFinalLists; 8592 uint32_t naluSliceEntryCount; 8593 const VkVideoEncodeH264NaluSliceInfoEXT* pNaluSliceEntries; 8594 const StdVideoEncodeH264PictureInfo* pCurrentPictureInfo; 8595}; 8596 8597struct StdVideoH265DecPicBufMgr 8598{ 8599 uint32_t max_latency_increase_plus1[STD_VIDEO_H265_SUBLAYERS_LIST_SIZE]; 8600 uint8_t max_dec_pic_buffering_minus1[STD_VIDEO_H265_SUBLAYERS_LIST_SIZE]; 8601 uint8_t max_num_reorder_pics[STD_VIDEO_H265_SUBLAYERS_LIST_SIZE]; 8602}; 8603 8604struct StdVideoH265SubLayerHrdParameters 8605{ 8606 uint32_t bit_rate_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE]; 8607 uint32_t cpb_size_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE]; 8608 uint32_t cpb_size_du_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE]; 8609 uint32_t bit_rate_du_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE]; 8610 uint32_t cbr_flag; 8611}; 8612 8613struct StdVideoH265HrdFlags 8614{ 8615 uint32_t nal_hrd_parameters_present_flag:1; 8616 uint32_t vcl_hrd_parameters_present_flag:1; 8617 uint32_t sub_pic_hrd_params_present_flag:1; 8618 uint32_t sub_pic_cpb_params_in_pic_timing_sei_flag:1; 8619 uint32_t fixed_pic_rate_general_flag:8; 8620 uint32_t fixed_pic_rate_within_cvs_flag:8; 8621 uint32_t low_delay_hrd_flag:8; 8622}; 8623 8624struct StdVideoH265HrdParameters 8625{ 8626 StdVideoH265HrdFlags flags; 8627 uint8_t tick_divisor_minus2; 8628 uint8_t du_cpb_removal_delay_increment_length_minus1; 8629 uint8_t dpb_output_delay_du_length_minus1; 8630 uint8_t bit_rate_scale; 8631 uint8_t cpb_size_scale; 8632 uint8_t cpb_size_du_scale; 8633 uint8_t initial_cpb_removal_delay_length_minus1; 8634 uint8_t au_cpb_removal_delay_length_minus1; 8635 uint8_t dpb_output_delay_length_minus1; 8636 uint8_t cpb_cnt_minus1[STD_VIDEO_H265_SUBLAYERS_LIST_SIZE]; 8637 uint16_t elemental_duration_in_tc_minus1[STD_VIDEO_H265_SUBLAYERS_LIST_SIZE]; 8638 uint16_t reserved[3]; 8639 const StdVideoH265SubLayerHrdParameters* pSubLayerHrdParametersNal; 8640 const StdVideoH265SubLayerHrdParameters* pSubLayerHrdParametersVcl; 8641}; 8642 8643struct StdVideoH265VpsFlags 8644{ 8645 uint32_t vps_temporal_id_nesting_flag:1; 8646 uint32_t vps_sub_layer_ordering_info_present_flag:1; 8647 uint32_t vps_timing_info_present_flag:1; 8648 uint32_t vps_poc_proportional_to_timing_flag:1; 8649}; 8650 8651struct StdVideoH265VideoParameterSet 8652{ 8653 StdVideoH265VpsFlags flags; 8654 uint8_t vps_video_parameter_set_id; 8655 uint8_t vps_max_sub_layers_minus1; 8656 uint8_t reserved1; 8657 uint8_t reserved2; 8658 uint32_t vps_num_units_in_tick; 8659 uint32_t vps_time_scale; 8660 uint32_t vps_num_ticks_poc_diff_one_minus1; 8661 uint32_t reserved3; 8662 const StdVideoH265DecPicBufMgr* pDecPicBufMgr; 8663 const StdVideoH265HrdParameters* pHrdParameters; 8664 const StdVideoH265ProfileTierLevel* pProfileTierLevel; 8665}; 8666 8667struct StdVideoH265ScalingLists 8668{ 8669 uint8_t ScalingList4x4[STD_VIDEO_H265_SCALING_LIST_4X4_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_4X4_NUM_ELEMENTS]; 8670 uint8_t ScalingList8x8[STD_VIDEO_H265_SCALING_LIST_8X8_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_8X8_NUM_ELEMENTS]; 8671 uint8_t ScalingList16x16[STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_16X16_NUM_ELEMENTS]; 8672 uint8_t ScalingList32x32[STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_32X32_NUM_ELEMENTS]; 8673 uint8_t ScalingListDCCoef16x16[STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS]; 8674 uint8_t ScalingListDCCoef32x32[STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS]; 8675}; 8676 8677struct StdVideoH265ShortTermRefPicSetFlags 8678{ 8679 uint32_t inter_ref_pic_set_prediction_flag:1; 8680 uint32_t delta_rps_sign:1; 8681}; 8682 8683struct StdVideoH265ShortTermRefPicSet 8684{ 8685 StdVideoH265ShortTermRefPicSetFlags flags; 8686 uint32_t delta_idx_minus1; 8687 uint16_t use_delta_flag; 8688 uint16_t abs_delta_rps_minus1; 8689 uint16_t used_by_curr_pic_flag; 8690 uint16_t used_by_curr_pic_s0_flag; 8691 uint16_t used_by_curr_pic_s1_flag; 8692 uint16_t reserved1; 8693 uint8_t reserved2; 8694 uint8_t reserved3; 8695 uint8_t num_negative_pics; 8696 uint8_t num_positive_pics; 8697 uint16_t delta_poc_s0_minus1[STD_VIDEO_H265_MAX_DPB_SIZE]; 8698 uint16_t delta_poc_s1_minus1[STD_VIDEO_H265_MAX_DPB_SIZE]; 8699}; 8700 8701struct StdVideoH265LongTermRefPicsSps 8702{ 8703 uint32_t used_by_curr_pic_lt_sps_flag; 8704 uint32_t lt_ref_pic_poc_lsb_sps[STD_VIDEO_H265_MAX_LONG_TERM_REF_PICS_SPS]; 8705}; 8706 8707struct StdVideoH265SpsVuiFlags 8708{ 8709 uint32_t aspect_ratio_info_present_flag:1; 8710 uint32_t overscan_info_present_flag:1; 8711 uint32_t overscan_appropriate_flag:1; 8712 uint32_t video_signal_type_present_flag:1; 8713 uint32_t video_full_range_flag:1; 8714 uint32_t colour_description_present_flag:1; 8715 uint32_t chroma_loc_info_present_flag:1; 8716 uint32_t neutral_chroma_indication_flag:1; 8717 uint32_t field_seq_flag:1; 8718 uint32_t frame_field_info_present_flag:1; 8719 uint32_t default_display_window_flag:1; 8720 uint32_t vui_timing_info_present_flag:1; 8721 uint32_t vui_poc_proportional_to_timing_flag:1; 8722 uint32_t vui_hrd_parameters_present_flag:1; 8723 uint32_t bitstream_restriction_flag:1; 8724 uint32_t tiles_fixed_structure_flag:1; 8725 uint32_t motion_vectors_over_pic_boundaries_flag:1; 8726 uint32_t restricted_ref_pic_lists_flag:1; 8727}; 8728 8729struct StdVideoH265SequenceParameterSetVui 8730{ 8731 StdVideoH265SpsVuiFlags flags; 8732 StdVideoH265AspectRatioIdc aspect_ratio_idc; 8733 uint16_t sar_width; 8734 uint16_t sar_height; 8735 uint8_t video_format; 8736 uint8_t colour_primaries; 8737 uint8_t transfer_characteristics; 8738 uint8_t matrix_coeffs; 8739 uint8_t chroma_sample_loc_type_top_field; 8740 uint8_t chroma_sample_loc_type_bottom_field; 8741 uint8_t reserved1; 8742 uint8_t reserved2; 8743 uint16_t def_disp_win_left_offset; 8744 uint16_t def_disp_win_right_offset; 8745 uint16_t def_disp_win_top_offset; 8746 uint16_t def_disp_win_bottom_offset; 8747 uint32_t vui_num_units_in_tick; 8748 uint32_t vui_time_scale; 8749 uint32_t vui_num_ticks_poc_diff_one_minus1; 8750 uint16_t min_spatial_segmentation_idc; 8751 uint16_t reserved3; 8752 uint8_t max_bytes_per_pic_denom; 8753 uint8_t max_bits_per_min_cu_denom; 8754 uint8_t log2_max_mv_length_horizontal; 8755 uint8_t log2_max_mv_length_vertical; 8756 const StdVideoH265HrdParameters* pHrdParameters; 8757}; 8758 8759struct StdVideoH265PredictorPaletteEntries 8760{ 8761 uint16_t PredictorPaletteEntries[STD_VIDEO_H265_PREDICTOR_PALETTE_COMPONENTS_LIST_SIZE][STD_VIDEO_H265_PREDICTOR_PALETTE_COMP_ENTRIES_LIST_SIZE]; 8762}; 8763 8764struct StdVideoH265SpsFlags 8765{ 8766 uint32_t sps_temporal_id_nesting_flag:1; 8767 uint32_t separate_colour_plane_flag:1; 8768 uint32_t conformance_window_flag:1; 8769 uint32_t sps_sub_layer_ordering_info_present_flag:1; 8770 uint32_t scaling_list_enabled_flag:1; 8771 uint32_t sps_scaling_list_data_present_flag:1; 8772 uint32_t amp_enabled_flag:1; 8773 uint32_t sample_adaptive_offset_enabled_flag:1; 8774 uint32_t pcm_enabled_flag:1; 8775 uint32_t pcm_loop_filter_disabled_flag:1; 8776 uint32_t long_term_ref_pics_present_flag:1; 8777 uint32_t sps_temporal_mvp_enabled_flag:1; 8778 uint32_t strong_intra_smoothing_enabled_flag:1; 8779 uint32_t vui_parameters_present_flag:1; 8780 uint32_t sps_extension_present_flag:1; 8781 uint32_t sps_range_extension_flag:1; 8782 uint32_t transform_skip_rotation_enabled_flag:1; 8783 uint32_t transform_skip_context_enabled_flag:1; 8784 uint32_t implicit_rdpcm_enabled_flag:1; 8785 uint32_t explicit_rdpcm_enabled_flag:1; 8786 uint32_t extended_precision_processing_flag:1; 8787 uint32_t intra_smoothing_disabled_flag:1; 8788 uint32_t high_precision_offsets_enabled_flag:1; 8789 uint32_t persistent_rice_adaptation_enabled_flag:1; 8790 uint32_t cabac_bypass_alignment_enabled_flag:1; 8791 uint32_t sps_scc_extension_flag:1; 8792 uint32_t sps_curr_pic_ref_enabled_flag:1; 8793 uint32_t palette_mode_enabled_flag:1; 8794 uint32_t sps_palette_predictor_initializers_present_flag:1; 8795 uint32_t intra_boundary_filtering_disabled_flag:1; 8796}; 8797 8798struct StdVideoH265SequenceParameterSet 8799{ 8800 StdVideoH265SpsFlags flags; 8801 StdVideoH265ChromaFormatIdc chroma_format_idc; 8802 uint32_t pic_width_in_luma_samples; 8803 uint32_t pic_height_in_luma_samples; 8804 uint8_t sps_video_parameter_set_id; 8805 uint8_t sps_max_sub_layers_minus1; 8806 uint8_t sps_seq_parameter_set_id; 8807 uint8_t bit_depth_luma_minus8; 8808 uint8_t bit_depth_chroma_minus8; 8809 uint8_t log2_max_pic_order_cnt_lsb_minus4; 8810 uint8_t log2_min_luma_coding_block_size_minus3; 8811 uint8_t log2_diff_max_min_luma_coding_block_size; 8812 uint8_t log2_min_luma_transform_block_size_minus2; 8813 uint8_t log2_diff_max_min_luma_transform_block_size; 8814 uint8_t max_transform_hierarchy_depth_inter; 8815 uint8_t max_transform_hierarchy_depth_intra; 8816 uint8_t num_short_term_ref_pic_sets; 8817 uint8_t num_long_term_ref_pics_sps; 8818 uint8_t pcm_sample_bit_depth_luma_minus1; 8819 uint8_t pcm_sample_bit_depth_chroma_minus1; 8820 uint8_t log2_min_pcm_luma_coding_block_size_minus3; 8821 uint8_t log2_diff_max_min_pcm_luma_coding_block_size; 8822 uint8_t reserved1; 8823 uint8_t reserved2; 8824 uint8_t palette_max_size; 8825 uint8_t delta_palette_max_predictor_size; 8826 uint8_t motion_vector_resolution_control_idc; 8827 uint8_t sps_num_palette_predictor_initializers_minus1; 8828 uint32_t conf_win_left_offset; 8829 uint32_t conf_win_right_offset; 8830 uint32_t conf_win_top_offset; 8831 uint32_t conf_win_bottom_offset; 8832 const StdVideoH265ProfileTierLevel* pProfileTierLevel; 8833 const StdVideoH265DecPicBufMgr* pDecPicBufMgr; 8834 const StdVideoH265ScalingLists* pScalingLists; 8835 const StdVideoH265ShortTermRefPicSet* pShortTermRefPicSet; 8836 const StdVideoH265LongTermRefPicsSps* pLongTermRefPicsSps; 8837 const StdVideoH265SequenceParameterSetVui* pSequenceParameterSetVui; 8838 const StdVideoH265PredictorPaletteEntries* pPredictorPaletteEntries; 8839}; 8840 8841struct StdVideoH265PpsFlags 8842{ 8843 uint32_t dependent_slice_segments_enabled_flag:1; 8844 uint32_t output_flag_present_flag:1; 8845 uint32_t sign_data_hiding_enabled_flag:1; 8846 uint32_t cabac_init_present_flag:1; 8847 uint32_t constrained_intra_pred_flag:1; 8848 uint32_t transform_skip_enabled_flag:1; 8849 uint32_t cu_qp_delta_enabled_flag:1; 8850 uint32_t pps_slice_chroma_qp_offsets_present_flag:1; 8851 uint32_t weighted_pred_flag:1; 8852 uint32_t weighted_bipred_flag:1; 8853 uint32_t transquant_bypass_enabled_flag:1; 8854 uint32_t tiles_enabled_flag:1; 8855 uint32_t entropy_coding_sync_enabled_flag:1; 8856 uint32_t uniform_spacing_flag:1; 8857 uint32_t loop_filter_across_tiles_enabled_flag:1; 8858 uint32_t pps_loop_filter_across_slices_enabled_flag:1; 8859 uint32_t deblocking_filter_control_present_flag:1; 8860 uint32_t deblocking_filter_override_enabled_flag:1; 8861 uint32_t pps_deblocking_filter_disabled_flag:1; 8862 uint32_t pps_scaling_list_data_present_flag:1; 8863 uint32_t lists_modification_present_flag:1; 8864 uint32_t slice_segment_header_extension_present_flag:1; 8865 uint32_t pps_extension_present_flag:1; 8866 uint32_t cross_component_prediction_enabled_flag:1; 8867 uint32_t chroma_qp_offset_list_enabled_flag:1; 8868 uint32_t pps_curr_pic_ref_enabled_flag:1; 8869 uint32_t residual_adaptive_colour_transform_enabled_flag:1; 8870 uint32_t pps_slice_act_qp_offsets_present_flag:1; 8871 uint32_t pps_palette_predictor_initializers_present_flag:1; 8872 uint32_t monochrome_palette_flag:1; 8873 uint32_t pps_range_extension_flag:1; 8874}; 8875 8876struct StdVideoH265PictureParameterSet 8877{ 8878 StdVideoH265PpsFlags flags; 8879 uint8_t pps_pic_parameter_set_id; 8880 uint8_t pps_seq_parameter_set_id; 8881 uint8_t sps_video_parameter_set_id; 8882 uint8_t num_extra_slice_header_bits; 8883 uint8_t num_ref_idx_l0_default_active_minus1; 8884 uint8_t num_ref_idx_l1_default_active_minus1; 8885 int8_t init_qp_minus26; 8886 uint8_t diff_cu_qp_delta_depth; 8887 int8_t pps_cb_qp_offset; 8888 int8_t pps_cr_qp_offset; 8889 int8_t pps_beta_offset_div2; 8890 int8_t pps_tc_offset_div2; 8891 uint8_t log2_parallel_merge_level_minus2; 8892 uint8_t log2_max_transform_skip_block_size_minus2; 8893 uint8_t diff_cu_chroma_qp_offset_depth; 8894 uint8_t chroma_qp_offset_list_len_minus1; 8895 int8_t cb_qp_offset_list[STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE]; 8896 int8_t cr_qp_offset_list[STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE]; 8897 uint8_t log2_sao_offset_scale_luma; 8898 uint8_t log2_sao_offset_scale_chroma; 8899 int8_t pps_act_y_qp_offset_plus5; 8900 int8_t pps_act_cb_qp_offset_plus5; 8901 int8_t pps_act_cr_qp_offset_plus3; 8902 uint8_t pps_num_palette_predictor_initializers; 8903 uint8_t luma_bit_depth_entry_minus8; 8904 uint8_t chroma_bit_depth_entry_minus8; 8905 uint8_t num_tile_columns_minus1; 8906 uint8_t num_tile_rows_minus1; 8907 uint8_t reserved1; 8908 uint8_t reserved2; 8909 uint16_t column_width_minus1[STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE]; 8910 uint16_t row_height_minus1[STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE]; 8911 uint32_t reserved3; 8912 const StdVideoH265ScalingLists* pScalingLists; 8913 const StdVideoH265PredictorPaletteEntries* pPredictorPaletteEntries; 8914}; 8915 8916struct VkVideoDecodeH265SessionParametersAddInfoKHR 8917{ 8918 VkStructureType sType; 8919 const void* pNext; 8920 uint32_t stdVPSCount; 8921 const StdVideoH265VideoParameterSet* pStdVPSs; 8922 uint32_t stdSPSCount; 8923 const StdVideoH265SequenceParameterSet* pStdSPSs; 8924 uint32_t stdPPSCount; 8925 const StdVideoH265PictureParameterSet* pStdPPSs; 8926}; 8927 8928struct VkVideoEncodeH265SessionParametersAddInfoEXT 8929{ 8930 VkStructureType sType; 8931 const void* pNext; 8932 uint32_t stdVPSCount; 8933 const StdVideoH265VideoParameterSet* pStdVPSs; 8934 uint32_t stdSPSCount; 8935 const StdVideoH265SequenceParameterSet* pStdSPSs; 8936 uint32_t stdPPSCount; 8937 const StdVideoH265PictureParameterSet* pStdPPSs; 8938}; 8939 8940struct StdVideoDecodeH265PictureInfoFlags 8941{ 8942 uint32_t IrapPicFlag:1; 8943 uint32_t IdrPicFlag:1; 8944 uint32_t IsReference:1; 8945 uint32_t short_term_ref_pic_set_sps_flag:1; 8946}; 8947 8948struct VkVideoDecodeH265SessionParametersCreateInfoKHR 8949{ 8950 VkStructureType sType; 8951 const void* pNext; 8952 uint32_t maxStdVPSCount; 8953 uint32_t maxStdSPSCount; 8954 uint32_t maxStdPPSCount; 8955 const VkVideoDecodeH265SessionParametersAddInfoKHR* pParametersAddInfo; 8956}; 8957 8958struct VkVideoEncodeH265SessionParametersCreateInfoEXT 8959{ 8960 VkStructureType sType; 8961 const void* pNext; 8962 uint32_t maxStdVPSCount; 8963 uint32_t maxStdSPSCount; 8964 uint32_t maxStdPPSCount; 8965 const VkVideoEncodeH265SessionParametersAddInfoEXT* pParametersAddInfo; 8966}; 8967 8968struct StdVideoDecodeH265PictureInfo 8969{ 8970 StdVideoDecodeH265PictureInfoFlags flags; 8971 uint8_t sps_video_parameter_set_id; 8972 uint8_t pps_seq_parameter_set_id; 8973 uint8_t pps_pic_parameter_set_id; 8974 uint8_t NumDeltaPocsOfRefRpsIdx; 8975 int32_t PicOrderCntVal; 8976 uint16_t NumBitsForSTRefPicSetInSlice; 8977 uint16_t reserved; 8978 uint8_t RefPicSetStCurrBefore[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE]; 8979 uint8_t RefPicSetStCurrAfter[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE]; 8980 uint8_t RefPicSetLtCurr[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE]; 8981}; 8982 8983struct VkVideoDecodeH265PictureInfoKHR 8984{ 8985 VkStructureType sType; 8986 const void* pNext; 8987 StdVideoDecodeH265PictureInfo* pStdPictureInfo; 8988 uint32_t sliceSegmentCount; 8989 const uint32_t* pSliceSegmentOffsets; 8990}; 8991 8992struct StdVideoDecodeH265ReferenceInfoFlags 8993{ 8994 uint32_t used_for_long_term_reference:1; 8995 uint32_t unused_for_reference:1; 8996}; 8997 8998struct StdVideoDecodeH265ReferenceInfo 8999{ 9000 StdVideoDecodeH265ReferenceInfoFlags flags; 9001 int32_t PicOrderCntVal; 9002}; 9003 9004struct VkVideoDecodeH265DpbSlotInfoKHR 9005{ 9006 VkStructureType sType; 9007 const void* pNext; 9008 const StdVideoDecodeH265ReferenceInfo* pStdReferenceInfo; 9009}; 9010 9011struct StdVideoEncodeH265WeightTableFlags 9012{ 9013 uint16_t luma_weight_l0_flag; 9014 uint16_t chroma_weight_l0_flag; 9015 uint16_t luma_weight_l1_flag; 9016 uint16_t chroma_weight_l1_flag; 9017}; 9018 9019struct StdVideoEncodeH265WeightTable 9020{ 9021 StdVideoEncodeH265WeightTableFlags flags; 9022 uint8_t luma_log2_weight_denom; 9023 int8_t delta_chroma_log2_weight_denom; 9024 int8_t delta_luma_weight_l0[STD_VIDEO_H265_MAX_NUM_LIST_REF]; 9025 int8_t luma_offset_l0[STD_VIDEO_H265_MAX_NUM_LIST_REF]; 9026 int8_t delta_chroma_weight_l0[STD_VIDEO_H265_MAX_NUM_LIST_REF][STD_VIDEO_H265_MAX_CHROMA_PLANES]; 9027 int8_t delta_chroma_offset_l0[STD_VIDEO_H265_MAX_NUM_LIST_REF][STD_VIDEO_H265_MAX_CHROMA_PLANES]; 9028 int8_t delta_luma_weight_l1[STD_VIDEO_H265_MAX_NUM_LIST_REF]; 9029 int8_t luma_offset_l1[STD_VIDEO_H265_MAX_NUM_LIST_REF]; 9030 int8_t delta_chroma_weight_l1[STD_VIDEO_H265_MAX_NUM_LIST_REF][STD_VIDEO_H265_MAX_CHROMA_PLANES]; 9031 int8_t delta_chroma_offset_l1[STD_VIDEO_H265_MAX_NUM_LIST_REF][STD_VIDEO_H265_MAX_CHROMA_PLANES]; 9032}; 9033 9034struct StdVideoEncodeH265SliceSegmentLongTermRefPics 9035{ 9036 uint8_t num_long_term_sps; 9037 uint8_t num_long_term_pics; 9038 uint8_t lt_idx_sps[STD_VIDEO_H265_MAX_LONG_TERM_REF_PICS_SPS]; 9039 uint8_t poc_lsb_lt[STD_VIDEO_H265_MAX_LONG_TERM_PICS]; 9040 uint16_t used_by_curr_pic_lt_flag; 9041 uint8_t delta_poc_msb_present_flag[STD_VIDEO_H265_MAX_DELTA_POC]; 9042 uint8_t delta_poc_msb_cycle_lt[STD_VIDEO_H265_MAX_DELTA_POC]; 9043}; 9044 9045struct StdVideoEncodeH265SliceSegmentHeaderFlags 9046{ 9047 uint32_t first_slice_segment_in_pic_flag:1; 9048 uint32_t no_output_of_prior_pics_flag:1; 9049 uint32_t dependent_slice_segment_flag:1; 9050 uint32_t pic_output_flag:1; 9051 uint32_t short_term_ref_pic_set_sps_flag:1; 9052 uint32_t slice_temporal_mvp_enable_flag:1; 9053 uint32_t slice_sao_luma_flag:1; 9054 uint32_t slice_sao_chroma_flag:1; 9055 uint32_t num_ref_idx_active_override_flag:1; 9056 uint32_t mvd_l1_zero_flag:1; 9057 uint32_t cabac_init_flag:1; 9058 uint32_t cu_chroma_qp_offset_enabled_flag:1; 9059 uint32_t deblocking_filter_override_flag:1; 9060 uint32_t slice_deblocking_filter_disabled_flag:1; 9061 uint32_t collocated_from_l0_flag:1; 9062 uint32_t slice_loop_filter_across_slices_enabled_flag:1; 9063}; 9064 9065struct StdVideoEncodeH265SliceSegmentHeader 9066{ 9067 StdVideoEncodeH265SliceSegmentHeaderFlags flags; 9068 StdVideoH265SliceType slice_type; 9069 uint32_t slice_segment_address; 9070 uint8_t short_term_ref_pic_set_idx; 9071 uint8_t collocated_ref_idx; 9072 uint8_t num_ref_idx_l0_active_minus1; 9073 uint8_t num_ref_idx_l1_active_minus1; 9074 uint8_t MaxNumMergeCand; 9075 int8_t slice_cb_qp_offset; 9076 int8_t slice_cr_qp_offset; 9077 int8_t slice_beta_offset_div2; 9078 int8_t slice_tc_offset_div2; 9079 int8_t slice_act_y_qp_offset; 9080 int8_t slice_act_cb_qp_offset; 9081 int8_t slice_act_cr_qp_offset; 9082 const StdVideoH265ShortTermRefPicSet* pShortTermRefPicSet; 9083 const StdVideoEncodeH265SliceSegmentLongTermRefPics* pLongTermRefPics; 9084 const StdVideoEncodeH265WeightTable* pWeightTable; 9085}; 9086 9087struct StdVideoEncodeH265ReferenceModificationFlags 9088{ 9089 uint32_t ref_pic_list_modification_flag_l0:1; 9090 uint32_t ref_pic_list_modification_flag_l1:1; 9091}; 9092 9093struct StdVideoEncodeH265ReferenceModifications 9094{ 9095 StdVideoEncodeH265ReferenceModificationFlags flags; 9096 uint8_t referenceList0ModificationsCount; 9097 const uint8_t* pReferenceList0Modifications; 9098 uint8_t referenceList1ModificationsCount; 9099 const uint8_t* pReferenceList1Modifications; 9100}; 9101 9102struct StdVideoEncodeH265PictureInfoFlags 9103{ 9104 uint32_t is_reference_flag:1; 9105 uint32_t IrapPicFlag:1; 9106 uint32_t long_term_flag:1; 9107 uint32_t discardable_flag:1; 9108 uint32_t cross_layer_bla_flag:1; 9109}; 9110 9111struct StdVideoEncodeH265PictureInfo 9112{ 9113 StdVideoEncodeH265PictureInfoFlags flags; 9114 StdVideoH265PictureType PictureType; 9115 uint8_t sps_video_parameter_set_id; 9116 uint8_t pps_seq_parameter_set_id; 9117 uint8_t pps_pic_parameter_set_id; 9118 int32_t PicOrderCntVal; 9119 uint8_t TemporalId; 9120}; 9121 9122struct StdVideoEncodeH265ReferenceInfoFlags 9123{ 9124 uint32_t used_for_long_term_reference:1; 9125 uint32_t unused_for_reference:1; 9126}; 9127 9128struct StdVideoEncodeH265ReferenceInfo 9129{ 9130 StdVideoEncodeH265ReferenceInfoFlags flags; 9131 int32_t PicOrderCntVal; 9132 uint8_t TemporalId; 9133}; 9134 9135struct VkVideoEncodeH265DpbSlotInfoEXT 9136{ 9137 VkStructureType sType; 9138 const void* pNext; 9139 int8_t slotIndex; 9140 const StdVideoEncodeH265ReferenceInfo* pStdReferenceInfo; 9141}; 9142 9143struct VkVideoEncodeH265ReferenceListsInfoEXT 9144{ 9145 VkStructureType sType; 9146 const void* pNext; 9147 uint8_t referenceList0EntryCount; 9148 const VkVideoEncodeH265DpbSlotInfoEXT* pReferenceList0Entries; 9149 uint8_t referenceList1EntryCount; 9150 const VkVideoEncodeH265DpbSlotInfoEXT* pReferenceList1Entries; 9151 const StdVideoEncodeH265ReferenceModifications* pReferenceModifications; 9152}; 9153 9154struct VkVideoEncodeH265NaluSliceSegmentInfoEXT 9155{ 9156 VkStructureType sType; 9157 const void* pNext; 9158 uint32_t ctbCount; 9159 const VkVideoEncodeH265ReferenceListsInfoEXT* pReferenceFinalLists; 9160 const StdVideoEncodeH265SliceSegmentHeader* pSliceSegmentHeaderStd; 9161}; 9162 9163struct VkVideoEncodeH265VclFrameInfoEXT 9164{ 9165 VkStructureType sType; 9166 const void* pNext; 9167 const VkVideoEncodeH265ReferenceListsInfoEXT* pReferenceFinalLists; 9168 uint32_t naluSliceSegmentEntryCount; 9169 const VkVideoEncodeH265NaluSliceSegmentInfoEXT* pNaluSliceSegmentEntries; 9170 const StdVideoEncodeH265PictureInfo* pCurrentPictureInfo; 9171}; 9172 9173typedef VkDevicePrivateDataCreateInfo VkDevicePrivateDataCreateInfoEXT; 9174 9175typedef VkPrivateDataSlotCreateInfo VkPrivateDataSlotCreateInfoEXT; 9176 9177typedef VkPhysicalDevicePrivateDataFeatures VkPhysicalDevicePrivateDataFeaturesEXT; 9178 9179typedef VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2KHR; 9180 9181typedef VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2KHR; 9182 9183typedef VkFormatProperties2 VkFormatProperties2KHR; 9184 9185typedef VkImageFormatProperties2 VkImageFormatProperties2KHR; 9186 9187typedef VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2KHR; 9188 9189typedef VkQueueFamilyProperties2 VkQueueFamilyProperties2KHR; 9190 9191typedef VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2KHR; 9192 9193typedef VkSparseImageFormatProperties2 VkSparseImageFormatProperties2KHR; 9194 9195typedef VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2KHR; 9196 9197typedef VkConformanceVersion VkConformanceVersionKHR; 9198 9199typedef VkPhysicalDeviceDriverProperties VkPhysicalDeviceDriverPropertiesKHR; 9200 9201typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointersFeaturesKHR; 9202 9203typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeaturesKHR; 9204 9205typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeatures; 9206 9207typedef VkExternalMemoryProperties VkExternalMemoryPropertiesKHR; 9208 9209typedef VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfoKHR; 9210 9211typedef VkExternalImageFormatProperties VkExternalImageFormatPropertiesKHR; 9212 9213typedef VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfoKHR; 9214 9215typedef VkExternalBufferProperties VkExternalBufferPropertiesKHR; 9216 9217typedef VkPhysicalDeviceIDProperties VkPhysicalDeviceIDPropertiesKHR; 9218 9219typedef VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfoKHR; 9220 9221typedef VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfoKHR; 9222 9223typedef VkExportMemoryAllocateInfo VkExportMemoryAllocateInfoKHR; 9224 9225typedef VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfoKHR; 9226 9227typedef VkExternalSemaphoreProperties VkExternalSemaphorePropertiesKHR; 9228 9229typedef VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfoKHR; 9230 9231typedef VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfoKHR; 9232 9233typedef VkExternalFenceProperties VkExternalFencePropertiesKHR; 9234 9235typedef VkExportFenceCreateInfo VkExportFenceCreateInfoKHR; 9236 9237typedef VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeaturesKHR; 9238 9239typedef VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewPropertiesKHR; 9240 9241typedef VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfoKHR; 9242 9243typedef VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupPropertiesKHR; 9244 9245typedef VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfoKHR; 9246 9247typedef VkBindBufferMemoryInfo VkBindBufferMemoryInfoKHR; 9248 9249typedef VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfoKHR; 9250 9251typedef VkBindImageMemoryInfo VkBindImageMemoryInfoKHR; 9252 9253typedef VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfoKHR; 9254 9255typedef VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfoKHR; 9256 9257typedef VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfoKHR; 9258 9259typedef VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfoKHR; 9260 9261typedef VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfoKHR; 9262 9263typedef VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfoKHR; 9264 9265typedef VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntryKHR; 9266 9267typedef VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfoKHR; 9268 9269typedef VkInputAttachmentAspectReference VkInputAttachmentAspectReferenceKHR; 9270 9271typedef VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfoKHR; 9272 9273typedef VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeaturesKHR; 9274 9275typedef VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR; 9276 9277typedef VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2KHR; 9278 9279typedef VkDeviceBufferMemoryRequirements VkDeviceBufferMemoryRequirementsKHR; 9280 9281typedef VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2KHR; 9282 9283typedef VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2KHR; 9284 9285typedef VkDeviceImageMemoryRequirements VkDeviceImageMemoryRequirementsKHR; 9286 9287typedef VkMemoryRequirements2 VkMemoryRequirements2KHR; 9288 9289typedef VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2KHR; 9290 9291typedef VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingPropertiesKHR; 9292 9293typedef VkMemoryDedicatedRequirements VkMemoryDedicatedRequirementsKHR; 9294 9295typedef VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfoKHR; 9296 9297typedef VkImageViewUsageCreateInfo VkImageViewUsageCreateInfoKHR; 9298 9299typedef VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfoKHR; 9300 9301typedef VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfoKHR; 9302 9303typedef VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfoKHR; 9304 9305typedef VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfoKHR; 9306 9307typedef VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfoKHR; 9308 9309typedef VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR; 9310 9311typedef VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatPropertiesKHR; 9312 9313typedef VkPhysicalDeviceSamplerFilterMinmaxProperties VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT; 9314 9315typedef VkSamplerReductionModeCreateInfo VkSamplerReductionModeCreateInfoEXT; 9316 9317typedef VkPhysicalDeviceInlineUniformBlockFeatures VkPhysicalDeviceInlineUniformBlockFeaturesEXT; 9318 9319typedef VkPhysicalDeviceInlineUniformBlockProperties VkPhysicalDeviceInlineUniformBlockPropertiesEXT; 9320 9321typedef VkWriteDescriptorSetInlineUniformBlock VkWriteDescriptorSetInlineUniformBlockEXT; 9322 9323typedef VkDescriptorPoolInlineUniformBlockCreateInfo VkDescriptorPoolInlineUniformBlockCreateInfoEXT; 9324 9325typedef VkImageFormatListCreateInfo VkImageFormatListCreateInfoKHR; 9326 9327typedef VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3PropertiesKHR; 9328 9329typedef VkPhysicalDeviceMaintenance4Features VkPhysicalDeviceMaintenance4FeaturesKHR; 9330 9331typedef VkPhysicalDeviceMaintenance4Properties VkPhysicalDeviceMaintenance4PropertiesKHR; 9332 9333typedef VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupportKHR; 9334 9335typedef VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParameterFeatures; 9336 9337typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceShaderFloat16Int8FeaturesKHR; 9338 9339typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceFloat16Int8FeaturesKHR; 9340 9341typedef VkPhysicalDeviceFloatControlsProperties VkPhysicalDeviceFloatControlsPropertiesKHR; 9342 9343typedef VkPhysicalDeviceHostQueryResetFeatures VkPhysicalDeviceHostQueryResetFeaturesEXT; 9344 9345typedef VkDeviceQueueGlobalPriorityCreateInfoKHR VkDeviceQueueGlobalPriorityCreateInfoEXT; 9346 9347typedef VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT; 9348 9349typedef VkQueueFamilyGlobalPriorityPropertiesKHR VkQueueFamilyGlobalPriorityPropertiesEXT; 9350 9351typedef VkPhysicalDeviceDescriptorIndexingFeatures VkPhysicalDeviceDescriptorIndexingFeaturesEXT; 9352 9353typedef VkPhysicalDeviceDescriptorIndexingProperties VkPhysicalDeviceDescriptorIndexingPropertiesEXT; 9354 9355typedef VkDescriptorSetLayoutBindingFlagsCreateInfo VkDescriptorSetLayoutBindingFlagsCreateInfoEXT; 9356 9357typedef VkDescriptorSetVariableDescriptorCountAllocateInfo VkDescriptorSetVariableDescriptorCountAllocateInfoEXT; 9358 9359typedef VkDescriptorSetVariableDescriptorCountLayoutSupport VkDescriptorSetVariableDescriptorCountLayoutSupportEXT; 9360 9361typedef VkAttachmentDescription2 VkAttachmentDescription2KHR; 9362 9363typedef VkAttachmentReference2 VkAttachmentReference2KHR; 9364 9365typedef VkSubpassDescription2 VkSubpassDescription2KHR; 9366 9367typedef VkSubpassDependency2 VkSubpassDependency2KHR; 9368 9369typedef VkRenderPassCreateInfo2 VkRenderPassCreateInfo2KHR; 9370 9371typedef VkSubpassBeginInfo VkSubpassBeginInfoKHR; 9372 9373typedef VkSubpassEndInfo VkSubpassEndInfoKHR; 9374 9375typedef VkPhysicalDeviceTimelineSemaphoreFeatures VkPhysicalDeviceTimelineSemaphoreFeaturesKHR; 9376 9377typedef VkPhysicalDeviceTimelineSemaphoreProperties VkPhysicalDeviceTimelineSemaphorePropertiesKHR; 9378 9379typedef VkSemaphoreTypeCreateInfo VkSemaphoreTypeCreateInfoKHR; 9380 9381typedef VkTimelineSemaphoreSubmitInfo VkTimelineSemaphoreSubmitInfoKHR; 9382 9383typedef VkSemaphoreWaitInfo VkSemaphoreWaitInfoKHR; 9384 9385typedef VkSemaphoreSignalInfo VkSemaphoreSignalInfoKHR; 9386 9387typedef VkPhysicalDevice8BitStorageFeatures VkPhysicalDevice8BitStorageFeaturesKHR; 9388 9389typedef VkPhysicalDeviceVulkanMemoryModelFeatures VkPhysicalDeviceVulkanMemoryModelFeaturesKHR; 9390 9391typedef VkPhysicalDeviceShaderAtomicInt64Features VkPhysicalDeviceShaderAtomicInt64FeaturesKHR; 9392 9393typedef VkPhysicalDeviceDepthStencilResolveProperties VkPhysicalDeviceDepthStencilResolvePropertiesKHR; 9394 9395typedef VkSubpassDescriptionDepthStencilResolve VkSubpassDescriptionDepthStencilResolveKHR; 9396 9397typedef VkImageStencilUsageCreateInfo VkImageStencilUsageCreateInfoEXT; 9398 9399typedef VkPhysicalDeviceScalarBlockLayoutFeatures VkPhysicalDeviceScalarBlockLayoutFeaturesEXT; 9400 9401typedef VkPhysicalDeviceUniformBufferStandardLayoutFeatures VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR; 9402 9403typedef VkPhysicalDeviceBufferDeviceAddressFeatures VkPhysicalDeviceBufferDeviceAddressFeaturesKHR; 9404 9405typedef VkPhysicalDeviceBufferDeviceAddressFeaturesEXT VkPhysicalDeviceBufferAddressFeaturesEXT; 9406 9407typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoKHR; 9408 9409typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoEXT; 9410 9411typedef VkBufferOpaqueCaptureAddressCreateInfo VkBufferOpaqueCaptureAddressCreateInfoKHR; 9412 9413typedef VkPhysicalDeviceImagelessFramebufferFeatures VkPhysicalDeviceImagelessFramebufferFeaturesKHR; 9414 9415typedef VkFramebufferAttachmentsCreateInfo VkFramebufferAttachmentsCreateInfoKHR; 9416 9417typedef VkFramebufferAttachmentImageInfo VkFramebufferAttachmentImageInfoKHR; 9418 9419typedef VkRenderPassAttachmentBeginInfo VkRenderPassAttachmentBeginInfoKHR; 9420 9421typedef VkPhysicalDeviceTextureCompressionASTCHDRFeatures VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT; 9422 9423typedef VkPipelineCreationFeedback VkPipelineCreationFeedbackEXT; 9424 9425typedef VkPipelineCreationFeedbackCreateInfo VkPipelineCreationFeedbackCreateInfoEXT; 9426 9427typedef VkQueryPoolPerformanceQueryCreateInfoINTEL VkQueryPoolCreateInfoINTEL; 9428 9429typedef VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR; 9430 9431typedef VkAttachmentReferenceStencilLayout VkAttachmentReferenceStencilLayoutKHR; 9432 9433typedef VkAttachmentDescriptionStencilLayout VkAttachmentDescriptionStencilLayoutKHR; 9434 9435typedef VkPipelineInfoKHR VkPipelineInfoEXT; 9436 9437typedef VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT; 9438 9439typedef VkPhysicalDeviceTexelBufferAlignmentProperties VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT; 9440 9441typedef VkPhysicalDeviceSubgroupSizeControlFeatures VkPhysicalDeviceSubgroupSizeControlFeaturesEXT; 9442 9443typedef VkPhysicalDeviceSubgroupSizeControlProperties VkPhysicalDeviceSubgroupSizeControlPropertiesEXT; 9444 9445typedef VkPipelineShaderStageRequiredSubgroupSizeCreateInfo VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT; 9446 9447typedef VkMemoryOpaqueCaptureAddressAllocateInfo VkMemoryOpaqueCaptureAddressAllocateInfoKHR; 9448 9449typedef VkDeviceMemoryOpaqueCaptureAddressInfo VkDeviceMemoryOpaqueCaptureAddressInfoKHR; 9450 9451typedef VkPhysicalDevicePipelineCreationCacheControlFeatures VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT; 9452 9453typedef VkPhysicalDeviceToolProperties VkPhysicalDeviceToolPropertiesEXT; 9454 9455typedef VkAabbPositionsKHR VkAabbPositionsNV; 9456 9457typedef VkTransformMatrixKHR VkTransformMatrixNV; 9458 9459typedef VkAccelerationStructureInstanceKHR VkAccelerationStructureInstanceNV; 9460 9461typedef VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR; 9462 9463typedef VkPhysicalDeviceImageRobustnessFeatures VkPhysicalDeviceImageRobustnessFeaturesEXT; 9464 9465typedef VkBufferCopy2 VkBufferCopy2KHR; 9466 9467typedef VkImageCopy2 VkImageCopy2KHR; 9468 9469typedef VkImageBlit2 VkImageBlit2KHR; 9470 9471typedef VkBufferImageCopy2 VkBufferImageCopy2KHR; 9472 9473typedef VkImageResolve2 VkImageResolve2KHR; 9474 9475typedef VkCopyBufferInfo2 VkCopyBufferInfo2KHR; 9476 9477typedef VkCopyImageInfo2 VkCopyImageInfo2KHR; 9478 9479typedef VkBlitImageInfo2 VkBlitImageInfo2KHR; 9480 9481typedef VkCopyBufferToImageInfo2 VkCopyBufferToImageInfo2KHR; 9482 9483typedef VkCopyImageToBufferInfo2 VkCopyImageToBufferInfo2KHR; 9484 9485typedef VkResolveImageInfo2 VkResolveImageInfo2KHR; 9486 9487typedef VkPhysicalDeviceShaderTerminateInvocationFeatures VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR; 9488 9489typedef VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE; 9490 9491typedef VkMutableDescriptorTypeListEXT VkMutableDescriptorTypeListVALVE; 9492 9493typedef VkMutableDescriptorTypeCreateInfoEXT VkMutableDescriptorTypeCreateInfoVALVE; 9494 9495typedef VkMemoryBarrier2 VkMemoryBarrier2KHR; 9496 9497typedef VkImageMemoryBarrier2 VkImageMemoryBarrier2KHR; 9498 9499typedef VkBufferMemoryBarrier2 VkBufferMemoryBarrier2KHR; 9500 9501typedef VkDependencyInfo VkDependencyInfoKHR; 9502 9503typedef VkSemaphoreSubmitInfo VkSemaphoreSubmitInfoKHR; 9504 9505typedef VkCommandBufferSubmitInfo VkCommandBufferSubmitInfoKHR; 9506 9507typedef VkSubmitInfo2 VkSubmitInfo2KHR; 9508 9509typedef VkPhysicalDeviceSynchronization2Features VkPhysicalDeviceSynchronization2FeaturesKHR; 9510 9511typedef VkPhysicalDeviceShaderIntegerDotProductFeatures VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR; 9512 9513typedef VkPhysicalDeviceShaderIntegerDotProductProperties VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR; 9514 9515typedef VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV; 9516 9517typedef VkFormatProperties3 VkFormatProperties3KHR; 9518 9519typedef VkPipelineRenderingCreateInfo VkPipelineRenderingCreateInfoKHR; 9520 9521typedef VkRenderingInfo VkRenderingInfoKHR; 9522 9523typedef VkRenderingAttachmentInfo VkRenderingAttachmentInfoKHR; 9524 9525typedef VkPhysicalDeviceDynamicRenderingFeatures VkPhysicalDeviceDynamicRenderingFeaturesKHR; 9526 9527typedef VkCommandBufferInheritanceRenderingInfo VkCommandBufferInheritanceRenderingInfoKHR; 9528 9529typedef VkAttachmentSampleCountInfoAMD VkAttachmentSampleCountInfoNV; 9530 9531typedef VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM; 9532 9533