1/* WARNING: This is auto-generated file. Do not modify, since changes will 2 * be lost! Modify the generating script instead. 3 */ 4struct VkApplicationInfo 5{ 6 VkStructureType sType; 7 const void* pNext; 8 const char* pApplicationName; 9 deUint32 applicationVersion; 10 const char* pEngineName; 11 deUint32 engineVersion; 12 deUint32 apiVersion; 13}; 14 15struct VkInstanceCreateInfo 16{ 17 VkStructureType sType; 18 const void* pNext; 19 VkInstanceCreateFlags flags; 20 const VkApplicationInfo* pApplicationInfo; 21 deUint32 enabledLayerCount; 22 const char* const* ppEnabledLayerNames; 23 deUint32 enabledExtensionCount; 24 const char* const* ppEnabledExtensionNames; 25}; 26 27struct VkAllocationCallbacks 28{ 29 void* pUserData; 30 PFN_vkAllocationFunction pfnAllocation; 31 PFN_vkReallocationFunction pfnReallocation; 32 PFN_vkFreeFunction pfnFree; 33 PFN_vkInternalAllocationNotification pfnInternalAllocation; 34 PFN_vkInternalFreeNotification pfnInternalFree; 35}; 36 37struct VkPhysicalDeviceFeatures 38{ 39 VkBool32 robustBufferAccess; 40 VkBool32 fullDrawIndexUint32; 41 VkBool32 imageCubeArray; 42 VkBool32 independentBlend; 43 VkBool32 geometryShader; 44 VkBool32 tessellationShader; 45 VkBool32 sampleRateShading; 46 VkBool32 dualSrcBlend; 47 VkBool32 logicOp; 48 VkBool32 multiDrawIndirect; 49 VkBool32 drawIndirectFirstInstance; 50 VkBool32 depthClamp; 51 VkBool32 depthBiasClamp; 52 VkBool32 fillModeNonSolid; 53 VkBool32 depthBounds; 54 VkBool32 wideLines; 55 VkBool32 largePoints; 56 VkBool32 alphaToOne; 57 VkBool32 multiViewport; 58 VkBool32 samplerAnisotropy; 59 VkBool32 textureCompressionETC2; 60 VkBool32 textureCompressionASTC_LDR; 61 VkBool32 textureCompressionBC; 62 VkBool32 occlusionQueryPrecise; 63 VkBool32 pipelineStatisticsQuery; 64 VkBool32 vertexPipelineStoresAndAtomics; 65 VkBool32 fragmentStoresAndAtomics; 66 VkBool32 shaderTessellationAndGeometryPointSize; 67 VkBool32 shaderImageGatherExtended; 68 VkBool32 shaderStorageImageExtendedFormats; 69 VkBool32 shaderStorageImageMultisample; 70 VkBool32 shaderStorageImageReadWithoutFormat; 71 VkBool32 shaderStorageImageWriteWithoutFormat; 72 VkBool32 shaderUniformBufferArrayDynamicIndexing; 73 VkBool32 shaderSampledImageArrayDynamicIndexing; 74 VkBool32 shaderStorageBufferArrayDynamicIndexing; 75 VkBool32 shaderStorageImageArrayDynamicIndexing; 76 VkBool32 shaderClipDistance; 77 VkBool32 shaderCullDistance; 78 VkBool32 shaderFloat64; 79 VkBool32 shaderInt64; 80 VkBool32 shaderInt16; 81 VkBool32 shaderResourceResidency; 82 VkBool32 shaderResourceMinLod; 83 VkBool32 sparseBinding; 84 VkBool32 sparseResidencyBuffer; 85 VkBool32 sparseResidencyImage2D; 86 VkBool32 sparseResidencyImage3D; 87 VkBool32 sparseResidency2Samples; 88 VkBool32 sparseResidency4Samples; 89 VkBool32 sparseResidency8Samples; 90 VkBool32 sparseResidency16Samples; 91 VkBool32 sparseResidencyAliased; 92 VkBool32 variableMultisampleRate; 93 VkBool32 inheritedQueries; 94}; 95 96struct VkFormatProperties 97{ 98 VkFormatFeatureFlags linearTilingFeatures; 99 VkFormatFeatureFlags optimalTilingFeatures; 100 VkFormatFeatureFlags bufferFeatures; 101}; 102 103struct VkExtent3D 104{ 105 deUint32 width; 106 deUint32 height; 107 deUint32 depth; 108}; 109 110struct VkImageFormatProperties 111{ 112 VkExtent3D maxExtent; 113 deUint32 maxMipLevels; 114 deUint32 maxArrayLayers; 115 VkSampleCountFlags sampleCounts; 116 VkDeviceSize maxResourceSize; 117}; 118 119struct VkPhysicalDeviceLimits 120{ 121 deUint32 maxImageDimension1D; 122 deUint32 maxImageDimension2D; 123 deUint32 maxImageDimension3D; 124 deUint32 maxImageDimensionCube; 125 deUint32 maxImageArrayLayers; 126 deUint32 maxTexelBufferElements; 127 deUint32 maxUniformBufferRange; 128 deUint32 maxStorageBufferRange; 129 deUint32 maxPushConstantsSize; 130 deUint32 maxMemoryAllocationCount; 131 deUint32 maxSamplerAllocationCount; 132 VkDeviceSize bufferImageGranularity; 133 VkDeviceSize sparseAddressSpaceSize; 134 deUint32 maxBoundDescriptorSets; 135 deUint32 maxPerStageDescriptorSamplers; 136 deUint32 maxPerStageDescriptorUniformBuffers; 137 deUint32 maxPerStageDescriptorStorageBuffers; 138 deUint32 maxPerStageDescriptorSampledImages; 139 deUint32 maxPerStageDescriptorStorageImages; 140 deUint32 maxPerStageDescriptorInputAttachments; 141 deUint32 maxPerStageResources; 142 deUint32 maxDescriptorSetSamplers; 143 deUint32 maxDescriptorSetUniformBuffers; 144 deUint32 maxDescriptorSetUniformBuffersDynamic; 145 deUint32 maxDescriptorSetStorageBuffers; 146 deUint32 maxDescriptorSetStorageBuffersDynamic; 147 deUint32 maxDescriptorSetSampledImages; 148 deUint32 maxDescriptorSetStorageImages; 149 deUint32 maxDescriptorSetInputAttachments; 150 deUint32 maxVertexInputAttributes; 151 deUint32 maxVertexInputBindings; 152 deUint32 maxVertexInputAttributeOffset; 153 deUint32 maxVertexInputBindingStride; 154 deUint32 maxVertexOutputComponents; 155 deUint32 maxTessellationGenerationLevel; 156 deUint32 maxTessellationPatchSize; 157 deUint32 maxTessellationControlPerVertexInputComponents; 158 deUint32 maxTessellationControlPerVertexOutputComponents; 159 deUint32 maxTessellationControlPerPatchOutputComponents; 160 deUint32 maxTessellationControlTotalOutputComponents; 161 deUint32 maxTessellationEvaluationInputComponents; 162 deUint32 maxTessellationEvaluationOutputComponents; 163 deUint32 maxGeometryShaderInvocations; 164 deUint32 maxGeometryInputComponents; 165 deUint32 maxGeometryOutputComponents; 166 deUint32 maxGeometryOutputVertices; 167 deUint32 maxGeometryTotalOutputComponents; 168 deUint32 maxFragmentInputComponents; 169 deUint32 maxFragmentOutputAttachments; 170 deUint32 maxFragmentDualSrcAttachments; 171 deUint32 maxFragmentCombinedOutputResources; 172 deUint32 maxComputeSharedMemorySize; 173 deUint32 maxComputeWorkGroupCount[3]; 174 deUint32 maxComputeWorkGroupInvocations; 175 deUint32 maxComputeWorkGroupSize[3]; 176 deUint32 subPixelPrecisionBits; 177 deUint32 subTexelPrecisionBits; 178 deUint32 mipmapPrecisionBits; 179 deUint32 maxDrawIndexedIndexValue; 180 deUint32 maxDrawIndirectCount; 181 float maxSamplerLodBias; 182 float maxSamplerAnisotropy; 183 deUint32 maxViewports; 184 deUint32 maxViewportDimensions[2]; 185 float viewportBoundsRange[2]; 186 deUint32 viewportSubPixelBits; 187 deUintptr minMemoryMapAlignment; 188 VkDeviceSize minTexelBufferOffsetAlignment; 189 VkDeviceSize minUniformBufferOffsetAlignment; 190 VkDeviceSize minStorageBufferOffsetAlignment; 191 deInt32 minTexelOffset; 192 deUint32 maxTexelOffset; 193 deInt32 minTexelGatherOffset; 194 deUint32 maxTexelGatherOffset; 195 float minInterpolationOffset; 196 float maxInterpolationOffset; 197 deUint32 subPixelInterpolationOffsetBits; 198 deUint32 maxFramebufferWidth; 199 deUint32 maxFramebufferHeight; 200 deUint32 maxFramebufferLayers; 201 VkSampleCountFlags framebufferColorSampleCounts; 202 VkSampleCountFlags framebufferDepthSampleCounts; 203 VkSampleCountFlags framebufferStencilSampleCounts; 204 VkSampleCountFlags framebufferNoAttachmentsSampleCounts; 205 deUint32 maxColorAttachments; 206 VkSampleCountFlags sampledImageColorSampleCounts; 207 VkSampleCountFlags sampledImageIntegerSampleCounts; 208 VkSampleCountFlags sampledImageDepthSampleCounts; 209 VkSampleCountFlags sampledImageStencilSampleCounts; 210 VkSampleCountFlags storageImageSampleCounts; 211 deUint32 maxSampleMaskWords; 212 VkBool32 timestampComputeAndGraphics; 213 float timestampPeriod; 214 deUint32 maxClipDistances; 215 deUint32 maxCullDistances; 216 deUint32 maxCombinedClipAndCullDistances; 217 deUint32 discreteQueuePriorities; 218 float pointSizeRange[2]; 219 float lineWidthRange[2]; 220 float pointSizeGranularity; 221 float lineWidthGranularity; 222 VkBool32 strictLines; 223 VkBool32 standardSampleLocations; 224 VkDeviceSize optimalBufferCopyOffsetAlignment; 225 VkDeviceSize optimalBufferCopyRowPitchAlignment; 226 VkDeviceSize nonCoherentAtomSize; 227}; 228 229struct VkPhysicalDeviceSparseProperties 230{ 231 VkBool32 residencyStandard2DBlockShape; 232 VkBool32 residencyStandard2DMultisampleBlockShape; 233 VkBool32 residencyStandard3DBlockShape; 234 VkBool32 residencyAlignedMipSize; 235 VkBool32 residencyNonResidentStrict; 236}; 237 238struct VkPhysicalDeviceProperties 239{ 240 deUint32 apiVersion; 241 deUint32 driverVersion; 242 deUint32 vendorID; 243 deUint32 deviceID; 244 VkPhysicalDeviceType deviceType; 245 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE]; 246 deUint8 pipelineCacheUUID[VK_UUID_SIZE]; 247 VkPhysicalDeviceLimits limits; 248 VkPhysicalDeviceSparseProperties sparseProperties; 249}; 250 251struct VkQueueFamilyProperties 252{ 253 VkQueueFlags queueFlags; 254 deUint32 queueCount; 255 deUint32 timestampValidBits; 256 VkExtent3D minImageTransferGranularity; 257}; 258 259struct VkMemoryType 260{ 261 VkMemoryPropertyFlags propertyFlags; 262 deUint32 heapIndex; 263}; 264 265struct VkMemoryHeap 266{ 267 VkDeviceSize size; 268 VkMemoryHeapFlags flags; 269}; 270 271struct VkPhysicalDeviceMemoryProperties 272{ 273 deUint32 memoryTypeCount; 274 VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES]; 275 deUint32 memoryHeapCount; 276 VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS]; 277}; 278 279struct VkDeviceQueueCreateInfo 280{ 281 VkStructureType sType; 282 const void* pNext; 283 VkDeviceQueueCreateFlags flags; 284 deUint32 queueFamilyIndex; 285 deUint32 queueCount; 286 const float* pQueuePriorities; 287}; 288 289struct VkDeviceCreateInfo 290{ 291 VkStructureType sType; 292 const void* pNext; 293 VkDeviceCreateFlags flags; 294 deUint32 queueCreateInfoCount; 295 const VkDeviceQueueCreateInfo* pQueueCreateInfos; 296 deUint32 enabledLayerCount; 297 const char* const* ppEnabledLayerNames; 298 deUint32 enabledExtensionCount; 299 const char* const* ppEnabledExtensionNames; 300 const VkPhysicalDeviceFeatures* pEnabledFeatures; 301}; 302 303struct VkExtensionProperties 304{ 305 char extensionName[VK_MAX_EXTENSION_NAME_SIZE]; 306 deUint32 specVersion; 307}; 308 309struct VkLayerProperties 310{ 311 char layerName[VK_MAX_EXTENSION_NAME_SIZE]; 312 deUint32 specVersion; 313 deUint32 implementationVersion; 314 char description[VK_MAX_DESCRIPTION_SIZE]; 315}; 316 317struct VkSubmitInfo 318{ 319 VkStructureType sType; 320 const void* pNext; 321 deUint32 waitSemaphoreCount; 322 const VkSemaphore* pWaitSemaphores; 323 const VkPipelineStageFlags* pWaitDstStageMask; 324 deUint32 commandBufferCount; 325 const VkCommandBuffer* pCommandBuffers; 326 deUint32 signalSemaphoreCount; 327 const VkSemaphore* pSignalSemaphores; 328}; 329 330struct VkMemoryAllocateInfo 331{ 332 VkStructureType sType; 333 const void* pNext; 334 VkDeviceSize allocationSize; 335 deUint32 memoryTypeIndex; 336}; 337 338struct VkMappedMemoryRange 339{ 340 VkStructureType sType; 341 const void* pNext; 342 VkDeviceMemory memory; 343 VkDeviceSize offset; 344 VkDeviceSize size; 345}; 346 347struct VkMemoryRequirements 348{ 349 VkDeviceSize size; 350 VkDeviceSize alignment; 351 deUint32 memoryTypeBits; 352}; 353 354struct VkSparseImageFormatProperties 355{ 356 VkImageAspectFlags aspectMask; 357 VkExtent3D imageGranularity; 358 VkSparseImageFormatFlags flags; 359}; 360 361struct VkSparseImageMemoryRequirements 362{ 363 VkSparseImageFormatProperties formatProperties; 364 deUint32 imageMipTailFirstLod; 365 VkDeviceSize imageMipTailSize; 366 VkDeviceSize imageMipTailOffset; 367 VkDeviceSize imageMipTailStride; 368}; 369 370struct VkSparseMemoryBind 371{ 372 VkDeviceSize resourceOffset; 373 VkDeviceSize size; 374 VkDeviceMemory memory; 375 VkDeviceSize memoryOffset; 376 VkSparseMemoryBindFlags flags; 377}; 378 379struct VkSparseBufferMemoryBindInfo 380{ 381 VkBuffer buffer; 382 deUint32 bindCount; 383 const VkSparseMemoryBind* pBinds; 384}; 385 386struct VkSparseImageOpaqueMemoryBindInfo 387{ 388 VkImage image; 389 deUint32 bindCount; 390 const VkSparseMemoryBind* pBinds; 391}; 392 393struct VkImageSubresource 394{ 395 VkImageAspectFlags aspectMask; 396 deUint32 mipLevel; 397 deUint32 arrayLayer; 398}; 399 400struct VkOffset3D 401{ 402 deInt32 x; 403 deInt32 y; 404 deInt32 z; 405}; 406 407struct VkSparseImageMemoryBind 408{ 409 VkImageSubresource subresource; 410 VkOffset3D offset; 411 VkExtent3D extent; 412 VkDeviceMemory memory; 413 VkDeviceSize memoryOffset; 414 VkSparseMemoryBindFlags flags; 415}; 416 417struct VkSparseImageMemoryBindInfo 418{ 419 VkImage image; 420 deUint32 bindCount; 421 const VkSparseImageMemoryBind* pBinds; 422}; 423 424struct VkBindSparseInfo 425{ 426 VkStructureType sType; 427 const void* pNext; 428 deUint32 waitSemaphoreCount; 429 const VkSemaphore* pWaitSemaphores; 430 deUint32 bufferBindCount; 431 const VkSparseBufferMemoryBindInfo* pBufferBinds; 432 deUint32 imageOpaqueBindCount; 433 const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds; 434 deUint32 imageBindCount; 435 const VkSparseImageMemoryBindInfo* pImageBinds; 436 deUint32 signalSemaphoreCount; 437 const VkSemaphore* pSignalSemaphores; 438}; 439 440struct VkFenceCreateInfo 441{ 442 VkStructureType sType; 443 const void* pNext; 444 VkFenceCreateFlags flags; 445}; 446 447struct VkSemaphoreCreateInfo 448{ 449 VkStructureType sType; 450 const void* pNext; 451 VkSemaphoreCreateFlags flags; 452}; 453 454struct VkEventCreateInfo 455{ 456 VkStructureType sType; 457 const void* pNext; 458 VkEventCreateFlags flags; 459}; 460 461struct VkQueryPoolCreateInfo 462{ 463 VkStructureType sType; 464 const void* pNext; 465 VkQueryPoolCreateFlags flags; 466 VkQueryType queryType; 467 deUint32 queryCount; 468 VkQueryPipelineStatisticFlags pipelineStatistics; 469}; 470 471struct VkBufferCreateInfo 472{ 473 VkStructureType sType; 474 const void* pNext; 475 VkBufferCreateFlags flags; 476 VkDeviceSize size; 477 VkBufferUsageFlags usage; 478 VkSharingMode sharingMode; 479 deUint32 queueFamilyIndexCount; 480 const deUint32* pQueueFamilyIndices; 481}; 482 483struct VkBufferViewCreateInfo 484{ 485 VkStructureType sType; 486 const void* pNext; 487 VkBufferViewCreateFlags flags; 488 VkBuffer buffer; 489 VkFormat format; 490 VkDeviceSize offset; 491 VkDeviceSize range; 492}; 493 494struct VkImageCreateInfo 495{ 496 VkStructureType sType; 497 const void* pNext; 498 VkImageCreateFlags flags; 499 VkImageType imageType; 500 VkFormat format; 501 VkExtent3D extent; 502 deUint32 mipLevels; 503 deUint32 arrayLayers; 504 VkSampleCountFlagBits samples; 505 VkImageTiling tiling; 506 VkImageUsageFlags usage; 507 VkSharingMode sharingMode; 508 deUint32 queueFamilyIndexCount; 509 const deUint32* pQueueFamilyIndices; 510 VkImageLayout initialLayout; 511}; 512 513struct VkSubresourceLayout 514{ 515 VkDeviceSize offset; 516 VkDeviceSize size; 517 VkDeviceSize rowPitch; 518 VkDeviceSize arrayPitch; 519 VkDeviceSize depthPitch; 520}; 521 522struct VkComponentMapping 523{ 524 VkComponentSwizzle r; 525 VkComponentSwizzle g; 526 VkComponentSwizzle b; 527 VkComponentSwizzle a; 528}; 529 530struct VkImageSubresourceRange 531{ 532 VkImageAspectFlags aspectMask; 533 deUint32 baseMipLevel; 534 deUint32 levelCount; 535 deUint32 baseArrayLayer; 536 deUint32 layerCount; 537}; 538 539struct VkImageViewCreateInfo 540{ 541 VkStructureType sType; 542 const void* pNext; 543 VkImageViewCreateFlags flags; 544 VkImage image; 545 VkImageViewType viewType; 546 VkFormat format; 547 VkComponentMapping components; 548 VkImageSubresourceRange subresourceRange; 549}; 550 551struct VkShaderModuleCreateInfo 552{ 553 VkStructureType sType; 554 const void* pNext; 555 VkShaderModuleCreateFlags flags; 556 deUintptr codeSize; 557 const deUint32* pCode; 558}; 559 560struct VkPipelineCacheCreateInfo 561{ 562 VkStructureType sType; 563 const void* pNext; 564 VkPipelineCacheCreateFlags flags; 565 deUintptr initialDataSize; 566 const void* pInitialData; 567}; 568 569struct VkSpecializationMapEntry 570{ 571 deUint32 constantID; 572 deUint32 offset; 573 deUintptr size; 574}; 575 576struct VkSpecializationInfo 577{ 578 deUint32 mapEntryCount; 579 const VkSpecializationMapEntry* pMapEntries; 580 deUintptr dataSize; 581 const void* pData; 582}; 583 584struct VkPipelineShaderStageCreateInfo 585{ 586 VkStructureType sType; 587 const void* pNext; 588 VkPipelineShaderStageCreateFlags flags; 589 VkShaderStageFlagBits stage; 590 VkShaderModule module; 591 const char* pName; 592 const VkSpecializationInfo* pSpecializationInfo; 593}; 594 595struct VkVertexInputBindingDescription 596{ 597 deUint32 binding; 598 deUint32 stride; 599 VkVertexInputRate inputRate; 600}; 601 602struct VkVertexInputAttributeDescription 603{ 604 deUint32 location; 605 deUint32 binding; 606 VkFormat format; 607 deUint32 offset; 608}; 609 610struct VkPipelineVertexInputStateCreateInfo 611{ 612 VkStructureType sType; 613 const void* pNext; 614 VkPipelineVertexInputStateCreateFlags flags; 615 deUint32 vertexBindingDescriptionCount; 616 const VkVertexInputBindingDescription* pVertexBindingDescriptions; 617 deUint32 vertexAttributeDescriptionCount; 618 const VkVertexInputAttributeDescription* pVertexAttributeDescriptions; 619}; 620 621struct VkPipelineInputAssemblyStateCreateInfo 622{ 623 VkStructureType sType; 624 const void* pNext; 625 VkPipelineInputAssemblyStateCreateFlags flags; 626 VkPrimitiveTopology topology; 627 VkBool32 primitiveRestartEnable; 628}; 629 630struct VkPipelineTessellationStateCreateInfo 631{ 632 VkStructureType sType; 633 const void* pNext; 634 VkPipelineTessellationStateCreateFlags flags; 635 deUint32 patchControlPoints; 636}; 637 638struct VkViewport 639{ 640 float x; 641 float y; 642 float width; 643 float height; 644 float minDepth; 645 float maxDepth; 646}; 647 648struct VkOffset2D 649{ 650 deInt32 x; 651 deInt32 y; 652}; 653 654struct VkExtent2D 655{ 656 deUint32 width; 657 deUint32 height; 658}; 659 660struct VkRect2D 661{ 662 VkOffset2D offset; 663 VkExtent2D extent; 664}; 665 666struct VkPipelineViewportStateCreateInfo 667{ 668 VkStructureType sType; 669 const void* pNext; 670 VkPipelineViewportStateCreateFlags flags; 671 deUint32 viewportCount; 672 const VkViewport* pViewports; 673 deUint32 scissorCount; 674 const VkRect2D* pScissors; 675}; 676 677struct VkPipelineRasterizationStateCreateInfo 678{ 679 VkStructureType sType; 680 const void* pNext; 681 VkPipelineRasterizationStateCreateFlags flags; 682 VkBool32 depthClampEnable; 683 VkBool32 rasterizerDiscardEnable; 684 VkPolygonMode polygonMode; 685 VkCullModeFlags cullMode; 686 VkFrontFace frontFace; 687 VkBool32 depthBiasEnable; 688 float depthBiasConstantFactor; 689 float depthBiasClamp; 690 float depthBiasSlopeFactor; 691 float lineWidth; 692}; 693 694struct VkPipelineMultisampleStateCreateInfo 695{ 696 VkStructureType sType; 697 const void* pNext; 698 VkPipelineMultisampleStateCreateFlags flags; 699 VkSampleCountFlagBits rasterizationSamples; 700 VkBool32 sampleShadingEnable; 701 float minSampleShading; 702 const VkSampleMask* pSampleMask; 703 VkBool32 alphaToCoverageEnable; 704 VkBool32 alphaToOneEnable; 705}; 706 707struct VkStencilOpState 708{ 709 VkStencilOp failOp; 710 VkStencilOp passOp; 711 VkStencilOp depthFailOp; 712 VkCompareOp compareOp; 713 deUint32 compareMask; 714 deUint32 writeMask; 715 deUint32 reference; 716}; 717 718struct VkPipelineDepthStencilStateCreateInfo 719{ 720 VkStructureType sType; 721 const void* pNext; 722 VkPipelineDepthStencilStateCreateFlags flags; 723 VkBool32 depthTestEnable; 724 VkBool32 depthWriteEnable; 725 VkCompareOp depthCompareOp; 726 VkBool32 depthBoundsTestEnable; 727 VkBool32 stencilTestEnable; 728 VkStencilOpState front; 729 VkStencilOpState back; 730 float minDepthBounds; 731 float maxDepthBounds; 732}; 733 734struct VkPipelineColorBlendAttachmentState 735{ 736 VkBool32 blendEnable; 737 VkBlendFactor srcColorBlendFactor; 738 VkBlendFactor dstColorBlendFactor; 739 VkBlendOp colorBlendOp; 740 VkBlendFactor srcAlphaBlendFactor; 741 VkBlendFactor dstAlphaBlendFactor; 742 VkBlendOp alphaBlendOp; 743 VkColorComponentFlags colorWriteMask; 744}; 745 746struct VkPipelineColorBlendStateCreateInfo 747{ 748 VkStructureType sType; 749 const void* pNext; 750 VkPipelineColorBlendStateCreateFlags flags; 751 VkBool32 logicOpEnable; 752 VkLogicOp logicOp; 753 deUint32 attachmentCount; 754 const VkPipelineColorBlendAttachmentState* pAttachments; 755 float blendConstants[4]; 756}; 757 758struct VkPipelineDynamicStateCreateInfo 759{ 760 VkStructureType sType; 761 const void* pNext; 762 VkPipelineDynamicStateCreateFlags flags; 763 deUint32 dynamicStateCount; 764 const VkDynamicState* pDynamicStates; 765}; 766 767struct VkGraphicsPipelineCreateInfo 768{ 769 VkStructureType sType; 770 const void* pNext; 771 VkPipelineCreateFlags flags; 772 deUint32 stageCount; 773 const VkPipelineShaderStageCreateInfo* pStages; 774 const VkPipelineVertexInputStateCreateInfo* pVertexInputState; 775 const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState; 776 const VkPipelineTessellationStateCreateInfo* pTessellationState; 777 const VkPipelineViewportStateCreateInfo* pViewportState; 778 const VkPipelineRasterizationStateCreateInfo* pRasterizationState; 779 const VkPipelineMultisampleStateCreateInfo* pMultisampleState; 780 const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState; 781 const VkPipelineColorBlendStateCreateInfo* pColorBlendState; 782 const VkPipelineDynamicStateCreateInfo* pDynamicState; 783 VkPipelineLayout layout; 784 VkRenderPass renderPass; 785 deUint32 subpass; 786 VkPipeline basePipelineHandle; 787 deInt32 basePipelineIndex; 788}; 789 790struct VkComputePipelineCreateInfo 791{ 792 VkStructureType sType; 793 const void* pNext; 794 VkPipelineCreateFlags flags; 795 VkPipelineShaderStageCreateInfo stage; 796 VkPipelineLayout layout; 797 VkPipeline basePipelineHandle; 798 deInt32 basePipelineIndex; 799}; 800 801struct VkPushConstantRange 802{ 803 VkShaderStageFlags stageFlags; 804 deUint32 offset; 805 deUint32 size; 806}; 807 808struct VkPipelineLayoutCreateInfo 809{ 810 VkStructureType sType; 811 const void* pNext; 812 VkPipelineLayoutCreateFlags flags; 813 deUint32 setLayoutCount; 814 const VkDescriptorSetLayout* pSetLayouts; 815 deUint32 pushConstantRangeCount; 816 const VkPushConstantRange* pPushConstantRanges; 817}; 818 819struct VkSamplerCreateInfo 820{ 821 VkStructureType sType; 822 const void* pNext; 823 VkSamplerCreateFlags flags; 824 VkFilter magFilter; 825 VkFilter minFilter; 826 VkSamplerMipmapMode mipmapMode; 827 VkSamplerAddressMode addressModeU; 828 VkSamplerAddressMode addressModeV; 829 VkSamplerAddressMode addressModeW; 830 float mipLodBias; 831 VkBool32 anisotropyEnable; 832 float maxAnisotropy; 833 VkBool32 compareEnable; 834 VkCompareOp compareOp; 835 float minLod; 836 float maxLod; 837 VkBorderColor borderColor; 838 VkBool32 unnormalizedCoordinates; 839}; 840 841struct VkDescriptorSetLayoutBinding 842{ 843 deUint32 binding; 844 VkDescriptorType descriptorType; 845 deUint32 descriptorCount; 846 VkShaderStageFlags stageFlags; 847 const VkSampler* pImmutableSamplers; 848}; 849 850struct VkDescriptorSetLayoutCreateInfo 851{ 852 VkStructureType sType; 853 const void* pNext; 854 VkDescriptorSetLayoutCreateFlags flags; 855 deUint32 bindingCount; 856 const VkDescriptorSetLayoutBinding* pBindings; 857}; 858 859struct VkDescriptorPoolSize 860{ 861 VkDescriptorType type; 862 deUint32 descriptorCount; 863}; 864 865struct VkDescriptorPoolCreateInfo 866{ 867 VkStructureType sType; 868 const void* pNext; 869 VkDescriptorPoolCreateFlags flags; 870 deUint32 maxSets; 871 deUint32 poolSizeCount; 872 const VkDescriptorPoolSize* pPoolSizes; 873}; 874 875struct VkDescriptorSetAllocateInfo 876{ 877 VkStructureType sType; 878 const void* pNext; 879 VkDescriptorPool descriptorPool; 880 deUint32 descriptorSetCount; 881 const VkDescriptorSetLayout* pSetLayouts; 882}; 883 884struct VkDescriptorImageInfo 885{ 886 VkSampler sampler; 887 VkImageView imageView; 888 VkImageLayout imageLayout; 889}; 890 891struct VkDescriptorBufferInfo 892{ 893 VkBuffer buffer; 894 VkDeviceSize offset; 895 VkDeviceSize range; 896}; 897 898struct VkWriteDescriptorSet 899{ 900 VkStructureType sType; 901 const void* pNext; 902 VkDescriptorSet dstSet; 903 deUint32 dstBinding; 904 deUint32 dstArrayElement; 905 deUint32 descriptorCount; 906 VkDescriptorType descriptorType; 907 const VkDescriptorImageInfo* pImageInfo; 908 const VkDescriptorBufferInfo* pBufferInfo; 909 const VkBufferView* pTexelBufferView; 910}; 911 912struct VkCopyDescriptorSet 913{ 914 VkStructureType sType; 915 const void* pNext; 916 VkDescriptorSet srcSet; 917 deUint32 srcBinding; 918 deUint32 srcArrayElement; 919 VkDescriptorSet dstSet; 920 deUint32 dstBinding; 921 deUint32 dstArrayElement; 922 deUint32 descriptorCount; 923}; 924 925struct VkFramebufferCreateInfo 926{ 927 VkStructureType sType; 928 const void* pNext; 929 VkFramebufferCreateFlags flags; 930 VkRenderPass renderPass; 931 deUint32 attachmentCount; 932 const VkImageView* pAttachments; 933 deUint32 width; 934 deUint32 height; 935 deUint32 layers; 936}; 937 938struct VkAttachmentDescription 939{ 940 VkAttachmentDescriptionFlags flags; 941 VkFormat format; 942 VkSampleCountFlagBits samples; 943 VkAttachmentLoadOp loadOp; 944 VkAttachmentStoreOp storeOp; 945 VkAttachmentLoadOp stencilLoadOp; 946 VkAttachmentStoreOp stencilStoreOp; 947 VkImageLayout initialLayout; 948 VkImageLayout finalLayout; 949}; 950 951struct VkAttachmentReference 952{ 953 deUint32 attachment; 954 VkImageLayout layout; 955}; 956 957struct VkSubpassDescription 958{ 959 VkSubpassDescriptionFlags flags; 960 VkPipelineBindPoint pipelineBindPoint; 961 deUint32 inputAttachmentCount; 962 const VkAttachmentReference* pInputAttachments; 963 deUint32 colorAttachmentCount; 964 const VkAttachmentReference* pColorAttachments; 965 const VkAttachmentReference* pResolveAttachments; 966 const VkAttachmentReference* pDepthStencilAttachment; 967 deUint32 preserveAttachmentCount; 968 const deUint32* pPreserveAttachments; 969}; 970 971struct VkSubpassDependency 972{ 973 deUint32 srcSubpass; 974 deUint32 dstSubpass; 975 VkPipelineStageFlags srcStageMask; 976 VkPipelineStageFlags dstStageMask; 977 VkAccessFlags srcAccessMask; 978 VkAccessFlags dstAccessMask; 979 VkDependencyFlags dependencyFlags; 980}; 981 982struct VkRenderPassCreateInfo 983{ 984 VkStructureType sType; 985 const void* pNext; 986 VkRenderPassCreateFlags flags; 987 deUint32 attachmentCount; 988 const VkAttachmentDescription* pAttachments; 989 deUint32 subpassCount; 990 const VkSubpassDescription* pSubpasses; 991 deUint32 dependencyCount; 992 const VkSubpassDependency* pDependencies; 993}; 994 995struct VkCommandPoolCreateInfo 996{ 997 VkStructureType sType; 998 const void* pNext; 999 VkCommandPoolCreateFlags flags; 1000 deUint32 queueFamilyIndex; 1001}; 1002 1003struct VkCommandBufferAllocateInfo 1004{ 1005 VkStructureType sType; 1006 const void* pNext; 1007 VkCommandPool commandPool; 1008 VkCommandBufferLevel level; 1009 deUint32 commandBufferCount; 1010}; 1011 1012struct VkCommandBufferInheritanceInfo 1013{ 1014 VkStructureType sType; 1015 const void* pNext; 1016 VkRenderPass renderPass; 1017 deUint32 subpass; 1018 VkFramebuffer framebuffer; 1019 VkBool32 occlusionQueryEnable; 1020 VkQueryControlFlags queryFlags; 1021 VkQueryPipelineStatisticFlags pipelineStatistics; 1022}; 1023 1024struct VkCommandBufferBeginInfo 1025{ 1026 VkStructureType sType; 1027 const void* pNext; 1028 VkCommandBufferUsageFlags flags; 1029 const VkCommandBufferInheritanceInfo* pInheritanceInfo; 1030}; 1031 1032struct VkBufferCopy 1033{ 1034 VkDeviceSize srcOffset; 1035 VkDeviceSize dstOffset; 1036 VkDeviceSize size; 1037}; 1038 1039struct VkImageSubresourceLayers 1040{ 1041 VkImageAspectFlags aspectMask; 1042 deUint32 mipLevel; 1043 deUint32 baseArrayLayer; 1044 deUint32 layerCount; 1045}; 1046 1047struct VkImageCopy 1048{ 1049 VkImageSubresourceLayers srcSubresource; 1050 VkOffset3D srcOffset; 1051 VkImageSubresourceLayers dstSubresource; 1052 VkOffset3D dstOffset; 1053 VkExtent3D extent; 1054}; 1055 1056struct VkImageBlit 1057{ 1058 VkImageSubresourceLayers srcSubresource; 1059 VkOffset3D srcOffsets[2]; 1060 VkImageSubresourceLayers dstSubresource; 1061 VkOffset3D dstOffsets[2]; 1062}; 1063 1064struct VkBufferImageCopy 1065{ 1066 VkDeviceSize bufferOffset; 1067 deUint32 bufferRowLength; 1068 deUint32 bufferImageHeight; 1069 VkImageSubresourceLayers imageSubresource; 1070 VkOffset3D imageOffset; 1071 VkExtent3D imageExtent; 1072}; 1073 1074union VkClearColorValue 1075{ 1076 float float32[4]; 1077 deInt32 int32[4]; 1078 deUint32 uint32[4]; 1079}; 1080 1081struct VkClearDepthStencilValue 1082{ 1083 float depth; 1084 deUint32 stencil; 1085}; 1086 1087union VkClearValue 1088{ 1089 VkClearColorValue color; 1090 VkClearDepthStencilValue depthStencil; 1091}; 1092 1093struct VkClearAttachment 1094{ 1095 VkImageAspectFlags aspectMask; 1096 deUint32 colorAttachment; 1097 VkClearValue clearValue; 1098}; 1099 1100struct VkClearRect 1101{ 1102 VkRect2D rect; 1103 deUint32 baseArrayLayer; 1104 deUint32 layerCount; 1105}; 1106 1107struct VkImageResolve 1108{ 1109 VkImageSubresourceLayers srcSubresource; 1110 VkOffset3D srcOffset; 1111 VkImageSubresourceLayers dstSubresource; 1112 VkOffset3D dstOffset; 1113 VkExtent3D extent; 1114}; 1115 1116struct VkMemoryBarrier 1117{ 1118 VkStructureType sType; 1119 const void* pNext; 1120 VkAccessFlags srcAccessMask; 1121 VkAccessFlags dstAccessMask; 1122}; 1123 1124struct VkBufferMemoryBarrier 1125{ 1126 VkStructureType sType; 1127 const void* pNext; 1128 VkAccessFlags srcAccessMask; 1129 VkAccessFlags dstAccessMask; 1130 deUint32 srcQueueFamilyIndex; 1131 deUint32 dstQueueFamilyIndex; 1132 VkBuffer buffer; 1133 VkDeviceSize offset; 1134 VkDeviceSize size; 1135}; 1136 1137struct VkImageMemoryBarrier 1138{ 1139 VkStructureType sType; 1140 const void* pNext; 1141 VkAccessFlags srcAccessMask; 1142 VkAccessFlags dstAccessMask; 1143 VkImageLayout oldLayout; 1144 VkImageLayout newLayout; 1145 deUint32 srcQueueFamilyIndex; 1146 deUint32 dstQueueFamilyIndex; 1147 VkImage image; 1148 VkImageSubresourceRange subresourceRange; 1149}; 1150 1151struct VkRenderPassBeginInfo 1152{ 1153 VkStructureType sType; 1154 const void* pNext; 1155 VkRenderPass renderPass; 1156 VkFramebuffer framebuffer; 1157 VkRect2D renderArea; 1158 deUint32 clearValueCount; 1159 const VkClearValue* pClearValues; 1160}; 1161 1162struct VkDispatchIndirectCommand 1163{ 1164 deUint32 x; 1165 deUint32 y; 1166 deUint32 z; 1167}; 1168 1169struct VkDrawIndexedIndirectCommand 1170{ 1171 deUint32 indexCount; 1172 deUint32 instanceCount; 1173 deUint32 firstIndex; 1174 deInt32 vertexOffset; 1175 deUint32 firstInstance; 1176}; 1177 1178struct VkDrawIndirectCommand 1179{ 1180 deUint32 vertexCount; 1181 deUint32 instanceCount; 1182 deUint32 firstVertex; 1183 deUint32 firstInstance; 1184}; 1185 1186struct VkPhysicalDeviceSubgroupProperties 1187{ 1188 VkStructureType sType; 1189 void* pNext; 1190 deUint32 subgroupSize; 1191 VkShaderStageFlags supportedStages; 1192 VkSubgroupFeatureFlags supportedOperations; 1193 VkBool32 quadOperationsInAllStages; 1194}; 1195 1196struct VkBindBufferMemoryInfo 1197{ 1198 VkStructureType sType; 1199 const void* pNext; 1200 VkBuffer buffer; 1201 VkDeviceMemory memory; 1202 VkDeviceSize memoryOffset; 1203}; 1204 1205struct VkBindImageMemoryInfo 1206{ 1207 VkStructureType sType; 1208 const void* pNext; 1209 VkImage image; 1210 VkDeviceMemory memory; 1211 VkDeviceSize memoryOffset; 1212}; 1213 1214struct VkPhysicalDevice8BitStorageFeaturesKHR 1215{ 1216 VkStructureType sType; 1217 void* pNext; 1218 VkBool32 storageBuffer8BitAccess; 1219 VkBool32 uniformAndStorageBuffer8BitAccess; 1220 VkBool32 storagePushConstant8; 1221}; 1222 1223struct VkPhysicalDevice16BitStorageFeatures 1224{ 1225 VkStructureType sType; 1226 void* pNext; 1227 VkBool32 storageBuffer16BitAccess; 1228 VkBool32 uniformAndStorageBuffer16BitAccess; 1229 VkBool32 storagePushConstant16; 1230 VkBool32 storageInputOutput16; 1231}; 1232 1233struct VkMemoryDedicatedRequirements 1234{ 1235 VkStructureType sType; 1236 void* pNext; 1237 VkBool32 prefersDedicatedAllocation; 1238 VkBool32 requiresDedicatedAllocation; 1239}; 1240 1241struct VkMemoryDedicatedAllocateInfo 1242{ 1243 VkStructureType sType; 1244 const void* pNext; 1245 VkImage image; 1246 VkBuffer buffer; 1247}; 1248 1249struct VkMemoryAllocateFlagsInfo 1250{ 1251 VkStructureType sType; 1252 const void* pNext; 1253 VkMemoryAllocateFlags flags; 1254 deUint32 deviceMask; 1255}; 1256 1257struct VkDeviceGroupRenderPassBeginInfo 1258{ 1259 VkStructureType sType; 1260 const void* pNext; 1261 deUint32 deviceMask; 1262 deUint32 deviceRenderAreaCount; 1263 const VkRect2D* pDeviceRenderAreas; 1264}; 1265 1266struct VkDeviceGroupCommandBufferBeginInfo 1267{ 1268 VkStructureType sType; 1269 const void* pNext; 1270 deUint32 deviceMask; 1271}; 1272 1273struct VkDeviceGroupSubmitInfo 1274{ 1275 VkStructureType sType; 1276 const void* pNext; 1277 deUint32 waitSemaphoreCount; 1278 const deUint32* pWaitSemaphoreDeviceIndices; 1279 deUint32 commandBufferCount; 1280 const deUint32* pCommandBufferDeviceMasks; 1281 deUint32 signalSemaphoreCount; 1282 const deUint32* pSignalSemaphoreDeviceIndices; 1283}; 1284 1285struct VkDeviceGroupBindSparseInfo 1286{ 1287 VkStructureType sType; 1288 const void* pNext; 1289 deUint32 resourceDeviceIndex; 1290 deUint32 memoryDeviceIndex; 1291}; 1292 1293struct VkBindBufferMemoryDeviceGroupInfo 1294{ 1295 VkStructureType sType; 1296 const void* pNext; 1297 deUint32 deviceIndexCount; 1298 const deUint32* pDeviceIndices; 1299}; 1300 1301struct VkBindImageMemoryDeviceGroupInfo 1302{ 1303 VkStructureType sType; 1304 const void* pNext; 1305 deUint32 deviceIndexCount; 1306 const deUint32* pDeviceIndices; 1307 deUint32 SFRRectCount; 1308 const VkRect2D* pSFRRects; 1309}; 1310 1311struct VkPhysicalDeviceGroupProperties 1312{ 1313 VkStructureType sType; 1314 void* pNext; 1315 deUint32 physicalDeviceCount; 1316 VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE]; 1317 VkBool32 subsetAllocation; 1318}; 1319 1320struct VkDeviceGroupDeviceCreateInfo 1321{ 1322 VkStructureType sType; 1323 const void* pNext; 1324 deUint32 physicalDeviceCount; 1325 const VkPhysicalDevice* pPhysicalDevices; 1326}; 1327 1328struct VkBufferMemoryRequirementsInfo2 1329{ 1330 VkStructureType sType; 1331 const void* pNext; 1332 VkBuffer buffer; 1333}; 1334 1335struct VkImageMemoryRequirementsInfo2 1336{ 1337 VkStructureType sType; 1338 const void* pNext; 1339 VkImage image; 1340}; 1341 1342struct VkImageSparseMemoryRequirementsInfo2 1343{ 1344 VkStructureType sType; 1345 const void* pNext; 1346 VkImage image; 1347}; 1348 1349struct VkMemoryRequirements2 1350{ 1351 VkStructureType sType; 1352 void* pNext; 1353 VkMemoryRequirements memoryRequirements; 1354}; 1355 1356struct VkSparseImageMemoryRequirements2 1357{ 1358 VkStructureType sType; 1359 void* pNext; 1360 VkSparseImageMemoryRequirements memoryRequirements; 1361}; 1362 1363struct VkPhysicalDeviceFeatures2 1364{ 1365 VkStructureType sType; 1366 void* pNext; 1367 VkPhysicalDeviceFeatures features; 1368}; 1369 1370struct VkPhysicalDeviceProperties2 1371{ 1372 VkStructureType sType; 1373 void* pNext; 1374 VkPhysicalDeviceProperties properties; 1375}; 1376 1377struct VkFormatProperties2 1378{ 1379 VkStructureType sType; 1380 void* pNext; 1381 VkFormatProperties formatProperties; 1382}; 1383 1384struct VkImageFormatProperties2 1385{ 1386 VkStructureType sType; 1387 void* pNext; 1388 VkImageFormatProperties imageFormatProperties; 1389}; 1390 1391struct VkPhysicalDeviceImageFormatInfo2 1392{ 1393 VkStructureType sType; 1394 const void* pNext; 1395 VkFormat format; 1396 VkImageType type; 1397 VkImageTiling tiling; 1398 VkImageUsageFlags usage; 1399 VkImageCreateFlags flags; 1400}; 1401 1402struct VkQueueFamilyProperties2 1403{ 1404 VkStructureType sType; 1405 void* pNext; 1406 VkQueueFamilyProperties queueFamilyProperties; 1407}; 1408 1409struct VkPhysicalDeviceMemoryProperties2 1410{ 1411 VkStructureType sType; 1412 void* pNext; 1413 VkPhysicalDeviceMemoryProperties memoryProperties; 1414}; 1415 1416struct VkSparseImageFormatProperties2 1417{ 1418 VkStructureType sType; 1419 void* pNext; 1420 VkSparseImageFormatProperties properties; 1421}; 1422 1423struct VkPhysicalDeviceSparseImageFormatInfo2 1424{ 1425 VkStructureType sType; 1426 const void* pNext; 1427 VkFormat format; 1428 VkImageType type; 1429 VkSampleCountFlagBits samples; 1430 VkImageUsageFlags usage; 1431 VkImageTiling tiling; 1432}; 1433 1434struct VkPhysicalDevicePointClippingProperties 1435{ 1436 VkStructureType sType; 1437 void* pNext; 1438 VkPointClippingBehavior pointClippingBehavior; 1439}; 1440 1441struct VkInputAttachmentAspectReference 1442{ 1443 deUint32 subpass; 1444 deUint32 inputAttachmentIndex; 1445 VkImageAspectFlags aspectMask; 1446}; 1447 1448struct VkRenderPassInputAttachmentAspectCreateInfo 1449{ 1450 VkStructureType sType; 1451 const void* pNext; 1452 deUint32 aspectReferenceCount; 1453 const VkInputAttachmentAspectReference* pAspectReferences; 1454}; 1455 1456struct VkImageViewUsageCreateInfo 1457{ 1458 VkStructureType sType; 1459 const void* pNext; 1460 VkImageUsageFlags usage; 1461}; 1462 1463struct VkPipelineTessellationDomainOriginStateCreateInfo 1464{ 1465 VkStructureType sType; 1466 const void* pNext; 1467 VkTessellationDomainOrigin domainOrigin; 1468}; 1469 1470struct VkRenderPassMultiviewCreateInfo 1471{ 1472 VkStructureType sType; 1473 const void* pNext; 1474 deUint32 subpassCount; 1475 const deUint32* pViewMasks; 1476 deUint32 dependencyCount; 1477 const deInt32* pViewOffsets; 1478 deUint32 correlationMaskCount; 1479 const deUint32* pCorrelationMasks; 1480}; 1481 1482struct VkPhysicalDeviceMultiviewFeatures 1483{ 1484 VkStructureType sType; 1485 void* pNext; 1486 VkBool32 multiview; 1487 VkBool32 multiviewGeometryShader; 1488 VkBool32 multiviewTessellationShader; 1489}; 1490 1491struct VkPhysicalDeviceMultiviewProperties 1492{ 1493 VkStructureType sType; 1494 void* pNext; 1495 deUint32 maxMultiviewViewCount; 1496 deUint32 maxMultiviewInstanceIndex; 1497}; 1498 1499struct VkPhysicalDeviceVariablePointerFeatures 1500{ 1501 VkStructureType sType; 1502 void* pNext; 1503 VkBool32 variablePointersStorageBuffer; 1504 VkBool32 variablePointers; 1505}; 1506 1507struct VkPhysicalDeviceProtectedMemoryFeatures 1508{ 1509 VkStructureType sType; 1510 void* pNext; 1511 VkBool32 protectedMemory; 1512}; 1513 1514struct VkPhysicalDeviceProtectedMemoryProperties 1515{ 1516 VkStructureType sType; 1517 void* pNext; 1518 VkBool32 protectedNoFault; 1519}; 1520 1521struct VkDeviceQueueInfo2 1522{ 1523 VkStructureType sType; 1524 const void* pNext; 1525 VkDeviceQueueCreateFlags flags; 1526 deUint32 queueFamilyIndex; 1527 deUint32 queueIndex; 1528}; 1529 1530struct VkProtectedSubmitInfo 1531{ 1532 VkStructureType sType; 1533 const void* pNext; 1534 VkBool32 protectedSubmit; 1535}; 1536 1537struct VkSamplerYcbcrConversionCreateInfo 1538{ 1539 VkStructureType sType; 1540 const void* pNext; 1541 VkFormat format; 1542 VkSamplerYcbcrModelConversion ycbcrModel; 1543 VkSamplerYcbcrRange ycbcrRange; 1544 VkComponentMapping components; 1545 VkChromaLocation xChromaOffset; 1546 VkChromaLocation yChromaOffset; 1547 VkFilter chromaFilter; 1548 VkBool32 forceExplicitReconstruction; 1549}; 1550 1551struct VkSamplerYcbcrConversionInfo 1552{ 1553 VkStructureType sType; 1554 const void* pNext; 1555 VkSamplerYcbcrConversion conversion; 1556}; 1557 1558struct VkBindImagePlaneMemoryInfo 1559{ 1560 VkStructureType sType; 1561 const void* pNext; 1562 VkImageAspectFlagBits planeAspect; 1563}; 1564 1565struct VkImagePlaneMemoryRequirementsInfo 1566{ 1567 VkStructureType sType; 1568 const void* pNext; 1569 VkImageAspectFlagBits planeAspect; 1570}; 1571 1572struct VkPhysicalDeviceSamplerYcbcrConversionFeatures 1573{ 1574 VkStructureType sType; 1575 void* pNext; 1576 VkBool32 samplerYcbcrConversion; 1577}; 1578 1579struct VkSamplerYcbcrConversionImageFormatProperties 1580{ 1581 VkStructureType sType; 1582 void* pNext; 1583 deUint32 combinedImageSamplerDescriptorCount; 1584}; 1585 1586struct VkDescriptorUpdateTemplateEntry 1587{ 1588 deUint32 dstBinding; 1589 deUint32 dstArrayElement; 1590 deUint32 descriptorCount; 1591 VkDescriptorType descriptorType; 1592 deUintptr offset; 1593 deUintptr stride; 1594}; 1595 1596struct VkDescriptorUpdateTemplateCreateInfo 1597{ 1598 VkStructureType sType; 1599 void* pNext; 1600 VkDescriptorUpdateTemplateCreateFlags flags; 1601 deUint32 descriptorUpdateEntryCount; 1602 const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries; 1603 VkDescriptorUpdateTemplateType templateType; 1604 VkDescriptorSetLayout descriptorSetLayout; 1605 VkPipelineBindPoint pipelineBindPoint; 1606 VkPipelineLayout pipelineLayout; 1607 deUint32 set; 1608}; 1609 1610struct VkExternalMemoryProperties 1611{ 1612 VkExternalMemoryFeatureFlags externalMemoryFeatures; 1613 VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes; 1614 VkExternalMemoryHandleTypeFlags compatibleHandleTypes; 1615}; 1616 1617struct VkPhysicalDeviceExternalImageFormatInfo 1618{ 1619 VkStructureType sType; 1620 const void* pNext; 1621 VkExternalMemoryHandleTypeFlagBits handleType; 1622}; 1623 1624struct VkExternalImageFormatProperties 1625{ 1626 VkStructureType sType; 1627 void* pNext; 1628 VkExternalMemoryProperties externalMemoryProperties; 1629}; 1630 1631struct VkPhysicalDeviceExternalBufferInfo 1632{ 1633 VkStructureType sType; 1634 const void* pNext; 1635 VkBufferCreateFlags flags; 1636 VkBufferUsageFlags usage; 1637 VkExternalMemoryHandleTypeFlagBits handleType; 1638}; 1639 1640struct VkExternalBufferProperties 1641{ 1642 VkStructureType sType; 1643 void* pNext; 1644 VkExternalMemoryProperties externalMemoryProperties; 1645}; 1646 1647struct VkPhysicalDeviceIDProperties 1648{ 1649 VkStructureType sType; 1650 void* pNext; 1651 deUint8 deviceUUID[VK_UUID_SIZE]; 1652 deUint8 driverUUID[VK_UUID_SIZE]; 1653 deUint8 deviceLUID[VK_LUID_SIZE]; 1654 deUint32 deviceNodeMask; 1655 VkBool32 deviceLUIDValid; 1656}; 1657 1658struct VkExternalMemoryImageCreateInfo 1659{ 1660 VkStructureType sType; 1661 const void* pNext; 1662 VkExternalMemoryHandleTypeFlags handleTypes; 1663}; 1664 1665struct VkExternalMemoryBufferCreateInfo 1666{ 1667 VkStructureType sType; 1668 const void* pNext; 1669 VkExternalMemoryHandleTypeFlags handleTypes; 1670}; 1671 1672struct VkExportMemoryAllocateInfo 1673{ 1674 VkStructureType sType; 1675 const void* pNext; 1676 VkExternalMemoryHandleTypeFlags handleTypes; 1677}; 1678 1679struct VkPhysicalDeviceExternalFenceInfo 1680{ 1681 VkStructureType sType; 1682 const void* pNext; 1683 VkExternalFenceHandleTypeFlagBits handleType; 1684}; 1685 1686struct VkExternalFenceProperties 1687{ 1688 VkStructureType sType; 1689 void* pNext; 1690 VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes; 1691 VkExternalFenceHandleTypeFlags compatibleHandleTypes; 1692 VkExternalFenceFeatureFlags externalFenceFeatures; 1693}; 1694 1695struct VkExportFenceCreateInfo 1696{ 1697 VkStructureType sType; 1698 const void* pNext; 1699 VkExternalFenceHandleTypeFlags handleTypes; 1700}; 1701 1702struct VkExportSemaphoreCreateInfo 1703{ 1704 VkStructureType sType; 1705 const void* pNext; 1706 VkExternalSemaphoreHandleTypeFlags handleTypes; 1707}; 1708 1709struct VkPhysicalDeviceExternalSemaphoreInfo 1710{ 1711 VkStructureType sType; 1712 const void* pNext; 1713 VkExternalSemaphoreHandleTypeFlagBits handleType; 1714}; 1715 1716struct VkExternalSemaphoreProperties 1717{ 1718 VkStructureType sType; 1719 void* pNext; 1720 VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes; 1721 VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes; 1722 VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures; 1723}; 1724 1725struct VkPhysicalDeviceMaintenance3Properties 1726{ 1727 VkStructureType sType; 1728 void* pNext; 1729 deUint32 maxPerSetDescriptors; 1730 VkDeviceSize maxMemoryAllocationSize; 1731}; 1732 1733struct VkDescriptorSetLayoutSupport 1734{ 1735 VkStructureType sType; 1736 void* pNext; 1737 VkBool32 supported; 1738}; 1739 1740struct VkPhysicalDeviceShaderDrawParameterFeatures 1741{ 1742 VkStructureType sType; 1743 void* pNext; 1744 VkBool32 shaderDrawParameters; 1745}; 1746 1747struct VkSurfaceCapabilitiesKHR 1748{ 1749 deUint32 minImageCount; 1750 deUint32 maxImageCount; 1751 VkExtent2D currentExtent; 1752 VkExtent2D minImageExtent; 1753 VkExtent2D maxImageExtent; 1754 deUint32 maxImageArrayLayers; 1755 VkSurfaceTransformFlagsKHR supportedTransforms; 1756 VkSurfaceTransformFlagBitsKHR currentTransform; 1757 VkCompositeAlphaFlagsKHR supportedCompositeAlpha; 1758 VkImageUsageFlags supportedUsageFlags; 1759}; 1760 1761struct VkSurfaceFormatKHR 1762{ 1763 VkFormat format; 1764 VkColorSpaceKHR colorSpace; 1765}; 1766 1767struct VkSwapchainCreateInfoKHR 1768{ 1769 VkStructureType sType; 1770 const void* pNext; 1771 VkSwapchainCreateFlagsKHR flags; 1772 VkSurfaceKHR surface; 1773 deUint32 minImageCount; 1774 VkFormat imageFormat; 1775 VkColorSpaceKHR imageColorSpace; 1776 VkExtent2D imageExtent; 1777 deUint32 imageArrayLayers; 1778 VkImageUsageFlags imageUsage; 1779 VkSharingMode imageSharingMode; 1780 deUint32 queueFamilyIndexCount; 1781 const deUint32* pQueueFamilyIndices; 1782 VkSurfaceTransformFlagBitsKHR preTransform; 1783 VkCompositeAlphaFlagBitsKHR compositeAlpha; 1784 VkPresentModeKHR presentMode; 1785 VkBool32 clipped; 1786 VkSwapchainKHR oldSwapchain; 1787}; 1788 1789struct VkPresentInfoKHR 1790{ 1791 VkStructureType sType; 1792 const void* pNext; 1793 deUint32 waitSemaphoreCount; 1794 const VkSemaphore* pWaitSemaphores; 1795 deUint32 swapchainCount; 1796 const VkSwapchainKHR* pSwapchains; 1797 const deUint32* pImageIndices; 1798 VkResult* pResults; 1799}; 1800 1801struct VkImageSwapchainCreateInfoKHR 1802{ 1803 VkStructureType sType; 1804 const void* pNext; 1805 VkSwapchainKHR swapchain; 1806}; 1807 1808struct VkBindImageMemorySwapchainInfoKHR 1809{ 1810 VkStructureType sType; 1811 const void* pNext; 1812 VkSwapchainKHR swapchain; 1813 deUint32 imageIndex; 1814}; 1815 1816struct VkAcquireNextImageInfoKHR 1817{ 1818 VkStructureType sType; 1819 const void* pNext; 1820 VkSwapchainKHR swapchain; 1821 deUint64 timeout; 1822 VkSemaphore semaphore; 1823 VkFence fence; 1824 deUint32 deviceMask; 1825}; 1826 1827struct VkDeviceGroupPresentCapabilitiesKHR 1828{ 1829 VkStructureType sType; 1830 const void* pNext; 1831 deUint32 presentMask[VK_MAX_DEVICE_GROUP_SIZE]; 1832 VkDeviceGroupPresentModeFlagsKHR modes; 1833}; 1834 1835struct VkDeviceGroupPresentInfoKHR 1836{ 1837 VkStructureType sType; 1838 const void* pNext; 1839 deUint32 swapchainCount; 1840 const deUint32* pDeviceMasks; 1841 VkDeviceGroupPresentModeFlagBitsKHR mode; 1842}; 1843 1844struct VkDeviceGroupSwapchainCreateInfoKHR 1845{ 1846 VkStructureType sType; 1847 const void* pNext; 1848 VkDeviceGroupPresentModeFlagsKHR modes; 1849}; 1850 1851struct VkDisplayPropertiesKHR 1852{ 1853 VkDisplayKHR display; 1854 const char* displayName; 1855 VkExtent2D physicalDimensions; 1856 VkExtent2D physicalResolution; 1857 VkSurfaceTransformFlagsKHR supportedTransforms; 1858 VkBool32 planeReorderPossible; 1859 VkBool32 persistentContent; 1860}; 1861 1862struct VkDisplayModeParametersKHR 1863{ 1864 VkExtent2D visibleRegion; 1865 deUint32 refreshRate; 1866}; 1867 1868struct VkDisplayModePropertiesKHR 1869{ 1870 VkDisplayModeKHR displayMode; 1871 VkDisplayModeParametersKHR parameters; 1872}; 1873 1874struct VkDisplayModeCreateInfoKHR 1875{ 1876 VkStructureType sType; 1877 const void* pNext; 1878 VkDisplayModeCreateFlagsKHR flags; 1879 VkDisplayModeParametersKHR parameters; 1880}; 1881 1882struct VkDisplayPlaneCapabilitiesKHR 1883{ 1884 VkDisplayPlaneAlphaFlagsKHR supportedAlpha; 1885 VkOffset2D minSrcPosition; 1886 VkOffset2D maxSrcPosition; 1887 VkExtent2D minSrcExtent; 1888 VkExtent2D maxSrcExtent; 1889 VkOffset2D minDstPosition; 1890 VkOffset2D maxDstPosition; 1891 VkExtent2D minDstExtent; 1892 VkExtent2D maxDstExtent; 1893}; 1894 1895struct VkDisplayPlanePropertiesKHR 1896{ 1897 VkDisplayKHR currentDisplay; 1898 deUint32 currentStackIndex; 1899}; 1900 1901struct VkDisplaySurfaceCreateInfoKHR 1902{ 1903 VkStructureType sType; 1904 const void* pNext; 1905 VkDisplaySurfaceCreateFlagsKHR flags; 1906 VkDisplayModeKHR displayMode; 1907 deUint32 planeIndex; 1908 deUint32 planeStackIndex; 1909 VkSurfaceTransformFlagBitsKHR transform; 1910 float globalAlpha; 1911 VkDisplayPlaneAlphaFlagBitsKHR alphaMode; 1912 VkExtent2D imageExtent; 1913}; 1914 1915struct VkDisplayPresentInfoKHR 1916{ 1917 VkStructureType sType; 1918 const void* pNext; 1919 VkRect2D srcRect; 1920 VkRect2D dstRect; 1921 VkBool32 persistent; 1922}; 1923 1924struct VkXlibSurfaceCreateInfoKHR 1925{ 1926 VkStructureType sType; 1927 const void* pNext; 1928 VkXlibSurfaceCreateFlagsKHR flags; 1929 pt::XlibDisplayPtr dpy; 1930 pt::XlibWindow window; 1931}; 1932 1933struct VkXcbSurfaceCreateInfoKHR 1934{ 1935 VkStructureType sType; 1936 const void* pNext; 1937 VkXcbSurfaceCreateFlagsKHR flags; 1938 pt::XcbConnectionPtr connection; 1939 pt::XcbWindow window; 1940}; 1941 1942struct VkWaylandSurfaceCreateInfoKHR 1943{ 1944 VkStructureType sType; 1945 const void* pNext; 1946 VkWaylandSurfaceCreateFlagsKHR flags; 1947 pt::WaylandDisplayPtr display; 1948 pt::WaylandSurfacePtr surface; 1949}; 1950 1951struct VkMirSurfaceCreateInfoKHR 1952{ 1953 VkStructureType sType; 1954 const void* pNext; 1955 VkMirSurfaceCreateFlagsKHR flags; 1956 pt::MirConnectionPtr connection; 1957 pt::MirSurfacePtr mirSurface; 1958}; 1959 1960struct VkAndroidSurfaceCreateInfoKHR 1961{ 1962 VkStructureType sType; 1963 const void* pNext; 1964 VkAndroidSurfaceCreateFlagsKHR flags; 1965 pt::AndroidNativeWindowPtr window; 1966}; 1967 1968struct VkWin32SurfaceCreateInfoKHR 1969{ 1970 VkStructureType sType; 1971 const void* pNext; 1972 VkWin32SurfaceCreateFlagsKHR flags; 1973 pt::Win32InstanceHandle hinstance; 1974 pt::Win32WindowHandle hwnd; 1975}; 1976 1977struct VkImportMemoryWin32HandleInfoKHR 1978{ 1979 VkStructureType sType; 1980 const void* pNext; 1981 VkExternalMemoryHandleTypeFlagBits handleType; 1982 pt::Win32Handle handle; 1983 char* name; 1984}; 1985 1986struct VkExportMemoryWin32HandleInfoKHR 1987{ 1988 VkStructureType sType; 1989 const void* pNext; 1990 pt::Win32SecurityAttributesPtr pAttributes; 1991 deUint32 dwAccess; 1992 char* name; 1993}; 1994 1995struct VkMemoryWin32HandlePropertiesKHR 1996{ 1997 VkStructureType sType; 1998 void* pNext; 1999 deUint32 memoryTypeBits; 2000}; 2001 2002struct VkMemoryGetWin32HandleInfoKHR 2003{ 2004 VkStructureType sType; 2005 const void* pNext; 2006 VkDeviceMemory memory; 2007 VkExternalMemoryHandleTypeFlagBits handleType; 2008}; 2009 2010struct VkImportMemoryFdInfoKHR 2011{ 2012 VkStructureType sType; 2013 const void* pNext; 2014 VkExternalMemoryHandleTypeFlagBits handleType; 2015 int fd; 2016}; 2017 2018struct VkMemoryFdPropertiesKHR 2019{ 2020 VkStructureType sType; 2021 void* pNext; 2022 deUint32 memoryTypeBits; 2023}; 2024 2025struct VkMemoryGetFdInfoKHR 2026{ 2027 VkStructureType sType; 2028 const void* pNext; 2029 VkDeviceMemory memory; 2030 VkExternalMemoryHandleTypeFlagBits handleType; 2031}; 2032 2033struct VkWin32KeyedMutexAcquireReleaseInfoKHR 2034{ 2035 VkStructureType sType; 2036 const void* pNext; 2037 deUint32 acquireCount; 2038 const VkDeviceMemory* pAcquireSyncs; 2039 const deUint64* pAcquireKeys; 2040 const deUint32* pAcquireTimeouts; 2041 deUint32 releaseCount; 2042 const VkDeviceMemory* pReleaseSyncs; 2043 const deUint64* pReleaseKeys; 2044}; 2045 2046struct VkImportSemaphoreWin32HandleInfoKHR 2047{ 2048 VkStructureType sType; 2049 const void* pNext; 2050 VkSemaphore semaphore; 2051 VkSemaphoreImportFlags flags; 2052 VkExternalSemaphoreHandleTypeFlagBits handleType; 2053 pt::Win32Handle handle; 2054 char* name; 2055}; 2056 2057struct VkExportSemaphoreWin32HandleInfoKHR 2058{ 2059 VkStructureType sType; 2060 const void* pNext; 2061 pt::Win32SecurityAttributesPtr pAttributes; 2062 deUint32 dwAccess; 2063 char* name; 2064}; 2065 2066struct VkD3D12FenceSubmitInfoKHR 2067{ 2068 VkStructureType sType; 2069 const void* pNext; 2070 deUint32 waitSemaphoreValuesCount; 2071 const deUint64* pWaitSemaphoreValues; 2072 deUint32 signalSemaphoreValuesCount; 2073 const deUint64* pSignalSemaphoreValues; 2074}; 2075 2076struct VkSemaphoreGetWin32HandleInfoKHR 2077{ 2078 VkStructureType sType; 2079 const void* pNext; 2080 VkSemaphore semaphore; 2081 VkExternalSemaphoreHandleTypeFlagBits handleType; 2082}; 2083 2084struct VkImportSemaphoreFdInfoKHR 2085{ 2086 VkStructureType sType; 2087 const void* pNext; 2088 VkSemaphore semaphore; 2089 VkSemaphoreImportFlags flags; 2090 VkExternalSemaphoreHandleTypeFlagBits handleType; 2091 int fd; 2092}; 2093 2094struct VkSemaphoreGetFdInfoKHR 2095{ 2096 VkStructureType sType; 2097 const void* pNext; 2098 VkSemaphore semaphore; 2099 VkExternalSemaphoreHandleTypeFlagBits handleType; 2100}; 2101 2102struct VkPhysicalDevicePushDescriptorPropertiesKHR 2103{ 2104 VkStructureType sType; 2105 void* pNext; 2106 deUint32 maxPushDescriptors; 2107}; 2108 2109struct VkPhysicalDeviceFloat16Int8FeaturesKHR 2110{ 2111 VkStructureType sType; 2112 void* pNext; 2113 VkBool32 shaderFloat16; 2114 VkBool32 shaderInt8; 2115}; 2116 2117struct VkRectLayerKHR 2118{ 2119 VkOffset2D offset; 2120 VkExtent2D extent; 2121 deUint32 layer; 2122}; 2123 2124struct VkPresentRegionKHR 2125{ 2126 deUint32 rectangleCount; 2127 const VkRectLayerKHR* pRectangles; 2128}; 2129 2130struct VkPresentRegionsKHR 2131{ 2132 VkStructureType sType; 2133 const void* pNext; 2134 deUint32 swapchainCount; 2135 const VkPresentRegionKHR* pRegions; 2136}; 2137 2138struct VkAttachmentDescription2KHR 2139{ 2140 VkStructureType sType; 2141 const void* pNext; 2142 VkAttachmentDescriptionFlags flags; 2143 VkFormat format; 2144 VkSampleCountFlagBits samples; 2145 VkAttachmentLoadOp loadOp; 2146 VkAttachmentStoreOp storeOp; 2147 VkAttachmentLoadOp stencilLoadOp; 2148 VkAttachmentStoreOp stencilStoreOp; 2149 VkImageLayout initialLayout; 2150 VkImageLayout finalLayout; 2151}; 2152 2153struct VkAttachmentReference2KHR 2154{ 2155 VkStructureType sType; 2156 const void* pNext; 2157 deUint32 attachment; 2158 VkImageLayout layout; 2159 VkImageAspectFlags aspectMask; 2160}; 2161 2162struct VkSubpassDescription2KHR 2163{ 2164 VkStructureType sType; 2165 const void* pNext; 2166 VkSubpassDescriptionFlags flags; 2167 VkPipelineBindPoint pipelineBindPoint; 2168 deUint32 viewMask; 2169 deUint32 inputAttachmentCount; 2170 const VkAttachmentReference2KHR* pInputAttachments; 2171 deUint32 colorAttachmentCount; 2172 const VkAttachmentReference2KHR* pColorAttachments; 2173 const VkAttachmentReference2KHR* pResolveAttachments; 2174 const VkAttachmentReference2KHR* pDepthStencilAttachment; 2175 deUint32 preserveAttachmentCount; 2176 const deUint32* pPreserveAttachments; 2177}; 2178 2179struct VkSubpassDependency2KHR 2180{ 2181 VkStructureType sType; 2182 const void* pNext; 2183 deUint32 srcSubpass; 2184 deUint32 dstSubpass; 2185 VkPipelineStageFlags srcStageMask; 2186 VkPipelineStageFlags dstStageMask; 2187 VkAccessFlags srcAccessMask; 2188 VkAccessFlags dstAccessMask; 2189 VkDependencyFlags dependencyFlags; 2190 deInt32 viewOffset; 2191}; 2192 2193struct VkRenderPassCreateInfo2KHR 2194{ 2195 VkStructureType sType; 2196 const void* pNext; 2197 VkRenderPassCreateFlags flags; 2198 deUint32 attachmentCount; 2199 const VkAttachmentDescription2KHR* pAttachments; 2200 deUint32 subpassCount; 2201 const VkSubpassDescription2KHR* pSubpasses; 2202 deUint32 dependencyCount; 2203 const VkSubpassDependency2KHR* pDependencies; 2204 deUint32 correlatedViewMaskCount; 2205 const deUint32* pCorrelatedViewMasks; 2206}; 2207 2208struct VkSubpassBeginInfoKHR 2209{ 2210 VkStructureType sType; 2211 const void* pNext; 2212 VkSubpassContents contents; 2213}; 2214 2215struct VkSubpassEndInfoKHR 2216{ 2217 VkStructureType sType; 2218 const void* pNext; 2219}; 2220 2221struct VkSharedPresentSurfaceCapabilitiesKHR 2222{ 2223 VkStructureType sType; 2224 void* pNext; 2225 VkImageUsageFlags sharedPresentSupportedUsageFlags; 2226}; 2227 2228struct VkImportFenceWin32HandleInfoKHR 2229{ 2230 VkStructureType sType; 2231 const void* pNext; 2232 VkFence fence; 2233 VkFenceImportFlags flags; 2234 VkExternalFenceHandleTypeFlagBits handleType; 2235 pt::Win32Handle handle; 2236 char* name; 2237}; 2238 2239struct VkExportFenceWin32HandleInfoKHR 2240{ 2241 VkStructureType sType; 2242 const void* pNext; 2243 pt::Win32SecurityAttributesPtr pAttributes; 2244 deUint32 dwAccess; 2245 char* name; 2246}; 2247 2248struct VkFenceGetWin32HandleInfoKHR 2249{ 2250 VkStructureType sType; 2251 const void* pNext; 2252 VkFence fence; 2253 VkExternalFenceHandleTypeFlagBits handleType; 2254}; 2255 2256struct VkImportFenceFdInfoKHR 2257{ 2258 VkStructureType sType; 2259 const void* pNext; 2260 VkFence fence; 2261 VkFenceImportFlags flags; 2262 VkExternalFenceHandleTypeFlagBits handleType; 2263 int fd; 2264}; 2265 2266struct VkFenceGetFdInfoKHR 2267{ 2268 VkStructureType sType; 2269 const void* pNext; 2270 VkFence fence; 2271 VkExternalFenceHandleTypeFlagBits handleType; 2272}; 2273 2274struct VkPhysicalDeviceSurfaceInfo2KHR 2275{ 2276 VkStructureType sType; 2277 const void* pNext; 2278 VkSurfaceKHR surface; 2279}; 2280 2281struct VkSurfaceCapabilities2KHR 2282{ 2283 VkStructureType sType; 2284 void* pNext; 2285 VkSurfaceCapabilitiesKHR surfaceCapabilities; 2286}; 2287 2288struct VkSurfaceFormat2KHR 2289{ 2290 VkStructureType sType; 2291 void* pNext; 2292 VkSurfaceFormatKHR surfaceFormat; 2293}; 2294 2295struct VkDisplayProperties2KHR 2296{ 2297 VkStructureType sType; 2298 void* pNext; 2299 VkDisplayPropertiesKHR displayProperties; 2300}; 2301 2302struct VkDisplayPlaneProperties2KHR 2303{ 2304 VkStructureType sType; 2305 void* pNext; 2306 VkDisplayPlanePropertiesKHR displayPlaneProperties; 2307}; 2308 2309struct VkDisplayModeProperties2KHR 2310{ 2311 VkStructureType sType; 2312 void* pNext; 2313 VkDisplayModePropertiesKHR displayModeProperties; 2314}; 2315 2316struct VkDisplayPlaneInfo2KHR 2317{ 2318 VkStructureType sType; 2319 const void* pNext; 2320 VkDisplayModeKHR mode; 2321 deUint32 planeIndex; 2322}; 2323 2324struct VkDisplayPlaneCapabilities2KHR 2325{ 2326 VkStructureType sType; 2327 void* pNext; 2328 VkDisplayPlaneCapabilitiesKHR capabilities; 2329}; 2330 2331struct VkImageFormatListCreateInfoKHR 2332{ 2333 VkStructureType sType; 2334 const void* pNext; 2335 deUint32 viewFormatCount; 2336 const VkFormat* pViewFormats; 2337}; 2338 2339struct VkConformanceVersionKHR 2340{ 2341 deUint8 major; 2342 deUint8 minor; 2343 deUint8 subminor; 2344 deUint8 patch; 2345}; 2346 2347struct VkPhysicalDeviceDriverPropertiesKHR 2348{ 2349 VkStructureType sType; 2350 void* pNext; 2351 deUint32 driverID; 2352 char driverName[VK_MAX_DRIVER_NAME_SIZE_KHR]; 2353 char driverInfo[VK_MAX_DRIVER_INFO_SIZE_KHR]; 2354 VkConformanceVersionKHR conformanceVersion; 2355}; 2356 2357struct VkPhysicalDeviceFloatControlsPropertiesKHR 2358{ 2359 VkStructureType sType; 2360 void* pNext; 2361 VkBool32 separateDenormSettings; 2362 VkBool32 separateRoundingModeSettings; 2363 VkBool32 shaderSignedZeroInfNanPreserveFloat16; 2364 VkBool32 shaderSignedZeroInfNanPreserveFloat32; 2365 VkBool32 shaderSignedZeroInfNanPreserveFloat64; 2366 VkBool32 shaderDenormPreserveFloat16; 2367 VkBool32 shaderDenormPreserveFloat32; 2368 VkBool32 shaderDenormPreserveFloat64; 2369 VkBool32 shaderDenormFlushToZeroFloat16; 2370 VkBool32 shaderDenormFlushToZeroFloat32; 2371 VkBool32 shaderDenormFlushToZeroFloat64; 2372 VkBool32 shaderRoundingModeRTEFloat16; 2373 VkBool32 shaderRoundingModeRTEFloat32; 2374 VkBool32 shaderRoundingModeRTEFloat64; 2375 VkBool32 shaderRoundingModeRTZFloat16; 2376 VkBool32 shaderRoundingModeRTZFloat32; 2377 VkBool32 shaderRoundingModeRTZFloat64; 2378}; 2379 2380struct VkSubpassDescriptionDepthStencilResolveKHR 2381{ 2382 VkStructureType sType; 2383 const void* pNext; 2384 VkResolveModeFlagBitsKHR depthResolveMode; 2385 VkResolveModeFlagBitsKHR stencilResolveMode; 2386 const VkAttachmentReference2KHR* pDepthStencilResolveAttachment; 2387}; 2388 2389struct VkPhysicalDeviceDepthStencilResolvePropertiesKHR 2390{ 2391 VkStructureType sType; 2392 void* pNext; 2393 VkResolveModeFlagsKHR supportedDepthResolveModes; 2394 VkResolveModeFlagsKHR supportedStencilResolveModes; 2395 VkBool32 independentResolveNone; 2396 VkBool32 independentResolve; 2397}; 2398 2399struct VkSurfaceProtectedCapabilitiesKHR 2400{ 2401 VkStructureType sType; 2402 const void* pNext; 2403 VkBool32 supportsProtected; 2404}; 2405 2406struct VkDebugReportCallbackCreateInfoEXT 2407{ 2408 VkStructureType sType; 2409 const void* pNext; 2410 VkDebugReportFlagsEXT flags; 2411 PFN_vkDebugReportCallbackEXT pfnCallback; 2412 void* pUserData; 2413}; 2414 2415struct VkPipelineRasterizationStateRasterizationOrderAMD 2416{ 2417 VkStructureType sType; 2418 const void* pNext; 2419 VkRasterizationOrderAMD rasterizationOrder; 2420}; 2421 2422struct VkDebugMarkerObjectNameInfoEXT 2423{ 2424 VkStructureType sType; 2425 const void* pNext; 2426 VkDebugReportObjectTypeEXT objectType; 2427 deUint64 object; 2428 const char* pObjectName; 2429}; 2430 2431struct VkDebugMarkerObjectTagInfoEXT 2432{ 2433 VkStructureType sType; 2434 const void* pNext; 2435 VkDebugReportObjectTypeEXT objectType; 2436 deUint64 object; 2437 deUint64 tagName; 2438 deUintptr tagSize; 2439 const void* pTag; 2440}; 2441 2442struct VkDebugMarkerMarkerInfoEXT 2443{ 2444 VkStructureType sType; 2445 const void* pNext; 2446 const char* pMarkerName; 2447 float color[4]; 2448}; 2449 2450struct VkDedicatedAllocationImageCreateInfoNV 2451{ 2452 VkStructureType sType; 2453 const void* pNext; 2454 VkBool32 dedicatedAllocation; 2455}; 2456 2457struct VkDedicatedAllocationBufferCreateInfoNV 2458{ 2459 VkStructureType sType; 2460 const void* pNext; 2461 VkBool32 dedicatedAllocation; 2462}; 2463 2464struct VkDedicatedAllocationMemoryAllocateInfoNV 2465{ 2466 VkStructureType sType; 2467 const void* pNext; 2468 VkImage image; 2469 VkBuffer buffer; 2470}; 2471 2472struct VkTextureLODGatherFormatPropertiesAMD 2473{ 2474 VkStructureType sType; 2475 void* pNext; 2476 VkBool32 supportsTextureGatherLODBiasAMD; 2477}; 2478 2479struct VkExternalImageFormatPropertiesNV 2480{ 2481 VkImageFormatProperties imageFormatProperties; 2482 VkExternalMemoryFeatureFlagsNV externalMemoryFeatures; 2483 VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes; 2484 VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes; 2485}; 2486 2487struct VkExternalMemoryImageCreateInfoNV 2488{ 2489 VkStructureType sType; 2490 const void* pNext; 2491 VkExternalMemoryHandleTypeFlagsNV handleTypes; 2492}; 2493 2494struct VkExportMemoryAllocateInfoNV 2495{ 2496 VkStructureType sType; 2497 const void* pNext; 2498 VkExternalMemoryHandleTypeFlagsNV handleTypes; 2499}; 2500 2501struct VkImportMemoryWin32HandleInfoNV 2502{ 2503 VkStructureType sType; 2504 const void* pNext; 2505 VkExternalMemoryHandleTypeFlagsNV handleType; 2506 pt::Win32Handle handle; 2507}; 2508 2509struct VkExportMemoryWin32HandleInfoNV 2510{ 2511 VkStructureType sType; 2512 const void* pNext; 2513 pt::Win32SecurityAttributesPtr pAttributes; 2514 deUint32 dwAccess; 2515}; 2516 2517struct VkWin32KeyedMutexAcquireReleaseInfoNV 2518{ 2519 VkStructureType sType; 2520 const void* pNext; 2521 deUint32 acquireCount; 2522 const VkDeviceMemory* pAcquireSyncs; 2523 const deUint64* pAcquireKeys; 2524 const deUint32* pAcquireTimeoutMilliseconds; 2525 deUint32 releaseCount; 2526 const VkDeviceMemory* pReleaseSyncs; 2527 const deUint64* pReleaseKeys; 2528}; 2529 2530struct VkValidationFlagsEXT 2531{ 2532 VkStructureType sType; 2533 const void* pNext; 2534 deUint32 disabledValidationCheckCount; 2535 VkValidationCheckEXT* pDisabledValidationChecks; 2536}; 2537 2538struct VkViSurfaceCreateInfoNN 2539{ 2540 VkStructureType sType; 2541 const void* pNext; 2542 VkViSurfaceCreateFlagsNN flags; 2543 void* window; 2544}; 2545 2546struct VkConditionalRenderingBeginInfoEXT 2547{ 2548 VkStructureType sType; 2549 const void* pNext; 2550 VkBuffer buffer; 2551 VkDeviceSize offset; 2552 VkConditionalRenderingFlagsEXT flags; 2553}; 2554 2555struct VkPhysicalDeviceConditionalRenderingFeaturesEXT 2556{ 2557 VkStructureType sType; 2558 void* pNext; 2559 VkBool32 conditionalRendering; 2560 VkBool32 inheritedConditionalRendering; 2561}; 2562 2563struct VkCommandBufferInheritanceConditionalRenderingInfoEXT 2564{ 2565 VkStructureType sType; 2566 const void* pNext; 2567 VkBool32 conditionalRenderingEnable; 2568}; 2569 2570struct VkDeviceGeneratedCommandsFeaturesNVX 2571{ 2572 VkStructureType sType; 2573 const void* pNext; 2574 VkBool32 computeBindingPointSupport; 2575}; 2576 2577struct VkDeviceGeneratedCommandsLimitsNVX 2578{ 2579 VkStructureType sType; 2580 const void* pNext; 2581 deUint32 maxIndirectCommandsLayoutTokenCount; 2582 deUint32 maxObjectEntryCounts; 2583 deUint32 minSequenceCountBufferOffsetAlignment; 2584 deUint32 minSequenceIndexBufferOffsetAlignment; 2585 deUint32 minCommandsTokenBufferOffsetAlignment; 2586}; 2587 2588struct VkIndirectCommandsTokenNVX 2589{ 2590 VkIndirectCommandsTokenTypeNVX tokenType; 2591 VkBuffer buffer; 2592 VkDeviceSize offset; 2593}; 2594 2595struct VkIndirectCommandsLayoutTokenNVX 2596{ 2597 VkIndirectCommandsTokenTypeNVX tokenType; 2598 deUint32 bindingUnit; 2599 deUint32 dynamicCount; 2600 deUint32 divisor; 2601}; 2602 2603struct VkIndirectCommandsLayoutCreateInfoNVX 2604{ 2605 VkStructureType sType; 2606 const void* pNext; 2607 VkPipelineBindPoint pipelineBindPoint; 2608 VkIndirectCommandsLayoutUsageFlagsNVX flags; 2609 deUint32 tokenCount; 2610 const VkIndirectCommandsLayoutTokenNVX* pTokens; 2611}; 2612 2613struct VkCmdProcessCommandsInfoNVX 2614{ 2615 VkStructureType sType; 2616 const void* pNext; 2617 VkObjectTableNVX objectTable; 2618 VkIndirectCommandsLayoutNVX indirectCommandsLayout; 2619 deUint32 indirectCommandsTokenCount; 2620 const VkIndirectCommandsTokenNVX* pIndirectCommandsTokens; 2621 deUint32 maxSequencesCount; 2622 VkCommandBuffer targetCommandBuffer; 2623 VkBuffer sequencesCountBuffer; 2624 VkDeviceSize sequencesCountOffset; 2625 VkBuffer sequencesIndexBuffer; 2626 VkDeviceSize sequencesIndexOffset; 2627}; 2628 2629struct VkCmdReserveSpaceForCommandsInfoNVX 2630{ 2631 VkStructureType sType; 2632 const void* pNext; 2633 VkObjectTableNVX objectTable; 2634 VkIndirectCommandsLayoutNVX indirectCommandsLayout; 2635 deUint32 maxSequencesCount; 2636}; 2637 2638struct VkObjectTableCreateInfoNVX 2639{ 2640 VkStructureType sType; 2641 const void* pNext; 2642 deUint32 objectCount; 2643 const VkObjectEntryTypeNVX* pObjectEntryTypes; 2644 const deUint32* pObjectEntryCounts; 2645 const VkObjectEntryUsageFlagsNVX* pObjectEntryUsageFlags; 2646 deUint32 maxUniformBuffersPerDescriptor; 2647 deUint32 maxStorageBuffersPerDescriptor; 2648 deUint32 maxStorageImagesPerDescriptor; 2649 deUint32 maxSampledImagesPerDescriptor; 2650 deUint32 maxPipelineLayouts; 2651}; 2652 2653struct VkObjectTableEntryNVX 2654{ 2655 VkObjectEntryTypeNVX type; 2656 VkObjectEntryUsageFlagsNVX flags; 2657}; 2658 2659struct VkObjectTablePipelineEntryNVX 2660{ 2661 VkObjectEntryTypeNVX type; 2662 VkObjectEntryUsageFlagsNVX flags; 2663 VkPipeline pipeline; 2664}; 2665 2666struct VkObjectTableDescriptorSetEntryNVX 2667{ 2668 VkObjectEntryTypeNVX type; 2669 VkObjectEntryUsageFlagsNVX flags; 2670 VkPipelineLayout pipelineLayout; 2671 VkDescriptorSet descriptorSet; 2672}; 2673 2674struct VkObjectTableVertexBufferEntryNVX 2675{ 2676 VkObjectEntryTypeNVX type; 2677 VkObjectEntryUsageFlagsNVX flags; 2678 VkBuffer buffer; 2679}; 2680 2681struct VkObjectTableIndexBufferEntryNVX 2682{ 2683 VkObjectEntryTypeNVX type; 2684 VkObjectEntryUsageFlagsNVX flags; 2685 VkBuffer buffer; 2686 VkIndexType indexType; 2687}; 2688 2689struct VkObjectTablePushConstantEntryNVX 2690{ 2691 VkObjectEntryTypeNVX type; 2692 VkObjectEntryUsageFlagsNVX flags; 2693 VkPipelineLayout pipelineLayout; 2694 VkShaderStageFlags stageFlags; 2695}; 2696 2697struct VkViewportWScalingNV 2698{ 2699 float xcoeff; 2700 float ycoeff; 2701}; 2702 2703struct VkPipelineViewportWScalingStateCreateInfoNV 2704{ 2705 VkStructureType sType; 2706 const void* pNext; 2707 VkBool32 viewportWScalingEnable; 2708 deUint32 viewportCount; 2709 const VkViewportWScalingNV* pViewportWScalings; 2710}; 2711 2712struct VkSurfaceCapabilities2EXT 2713{ 2714 VkStructureType sType; 2715 void* pNext; 2716 deUint32 minImageCount; 2717 deUint32 maxImageCount; 2718 VkExtent2D currentExtent; 2719 VkExtent2D minImageExtent; 2720 VkExtent2D maxImageExtent; 2721 deUint32 maxImageArrayLayers; 2722 VkSurfaceTransformFlagsKHR supportedTransforms; 2723 VkSurfaceTransformFlagBitsKHR currentTransform; 2724 VkCompositeAlphaFlagsKHR supportedCompositeAlpha; 2725 VkImageUsageFlags supportedUsageFlags; 2726 VkSurfaceCounterFlagsEXT supportedSurfaceCounters; 2727}; 2728 2729struct VkDisplayPowerInfoEXT 2730{ 2731 VkStructureType sType; 2732 const void* pNext; 2733 VkDisplayPowerStateEXT powerState; 2734}; 2735 2736struct VkDeviceEventInfoEXT 2737{ 2738 VkStructureType sType; 2739 const void* pNext; 2740 VkDeviceEventTypeEXT deviceEvent; 2741}; 2742 2743struct VkDisplayEventInfoEXT 2744{ 2745 VkStructureType sType; 2746 const void* pNext; 2747 VkDisplayEventTypeEXT displayEvent; 2748}; 2749 2750struct VkSwapchainCounterCreateInfoEXT 2751{ 2752 VkStructureType sType; 2753 const void* pNext; 2754 VkSurfaceCounterFlagsEXT surfaceCounters; 2755}; 2756 2757struct VkRefreshCycleDurationGOOGLE 2758{ 2759 deUint64 refreshDuration; 2760}; 2761 2762struct VkPastPresentationTimingGOOGLE 2763{ 2764 deUint32 presentID; 2765 deUint64 desiredPresentTime; 2766 deUint64 actualPresentTime; 2767 deUint64 earliestPresentTime; 2768 deUint64 presentMargin; 2769}; 2770 2771struct VkPresentTimeGOOGLE 2772{ 2773 deUint32 presentID; 2774 deUint64 desiredPresentTime; 2775}; 2776 2777struct VkPresentTimesInfoGOOGLE 2778{ 2779 VkStructureType sType; 2780 const void* pNext; 2781 deUint32 swapchainCount; 2782 const VkPresentTimeGOOGLE* pTimes; 2783}; 2784 2785struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX 2786{ 2787 VkStructureType sType; 2788 void* pNext; 2789 VkBool32 perViewPositionAllComponents; 2790}; 2791 2792struct VkViewportSwizzleNV 2793{ 2794 VkViewportCoordinateSwizzleNV x; 2795 VkViewportCoordinateSwizzleNV y; 2796 VkViewportCoordinateSwizzleNV z; 2797 VkViewportCoordinateSwizzleNV w; 2798}; 2799 2800struct VkPipelineViewportSwizzleStateCreateInfoNV 2801{ 2802 VkStructureType sType; 2803 const void* pNext; 2804 VkPipelineViewportSwizzleStateCreateFlagsNV flags; 2805 deUint32 viewportCount; 2806 const VkViewportSwizzleNV* pViewportSwizzles; 2807}; 2808 2809struct VkPhysicalDeviceDiscardRectanglePropertiesEXT 2810{ 2811 VkStructureType sType; 2812 void* pNext; 2813 deUint32 maxDiscardRectangles; 2814}; 2815 2816struct VkPipelineDiscardRectangleStateCreateInfoEXT 2817{ 2818 VkStructureType sType; 2819 const void* pNext; 2820 VkPipelineDiscardRectangleStateCreateFlagsEXT flags; 2821 VkDiscardRectangleModeEXT discardRectangleMode; 2822 deUint32 discardRectangleCount; 2823 const VkRect2D* pDiscardRectangles; 2824}; 2825 2826struct VkXYColorEXT 2827{ 2828 float x; 2829 float y; 2830}; 2831 2832struct VkHdrMetadataEXT 2833{ 2834 VkStructureType sType; 2835 const void* pNext; 2836 VkXYColorEXT displayPrimaryRed; 2837 VkXYColorEXT displayPrimaryGreen; 2838 VkXYColorEXT displayPrimaryBlue; 2839 VkXYColorEXT whitePoint; 2840 float maxLuminance; 2841 float minLuminance; 2842 float maxContentLightLevel; 2843 float maxFrameAverageLightLevel; 2844}; 2845 2846struct VkIOSSurfaceCreateInfoMVK 2847{ 2848 VkStructureType sType; 2849 const void* pNext; 2850 VkIOSSurfaceCreateFlagsMVK flags; 2851 const void* pView; 2852}; 2853 2854struct VkMacOSSurfaceCreateInfoMVK 2855{ 2856 VkStructureType sType; 2857 const void* pNext; 2858 VkMacOSSurfaceCreateFlagsMVK flags; 2859 const void* pView; 2860}; 2861 2862struct VkSamplerReductionModeCreateInfoEXT 2863{ 2864 VkStructureType sType; 2865 const void* pNext; 2866 VkSamplerReductionModeEXT reductionMode; 2867}; 2868 2869struct VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT 2870{ 2871 VkStructureType sType; 2872 void* pNext; 2873 VkBool32 filterMinmaxSingleComponentFormats; 2874 VkBool32 filterMinmaxImageComponentMapping; 2875}; 2876 2877struct VkSampleLocationEXT 2878{ 2879 float x; 2880 float y; 2881}; 2882 2883struct VkSampleLocationsInfoEXT 2884{ 2885 VkStructureType sType; 2886 const void* pNext; 2887 VkSampleCountFlagBits sampleLocationsPerPixel; 2888 VkExtent2D sampleLocationGridSize; 2889 deUint32 sampleLocationsCount; 2890 const VkSampleLocationEXT* pSampleLocations; 2891}; 2892 2893struct VkAttachmentSampleLocationsEXT 2894{ 2895 deUint32 attachmentIndex; 2896 VkSampleLocationsInfoEXT sampleLocationsInfo; 2897}; 2898 2899struct VkSubpassSampleLocationsEXT 2900{ 2901 deUint32 subpassIndex; 2902 VkSampleLocationsInfoEXT sampleLocationsInfo; 2903}; 2904 2905struct VkRenderPassSampleLocationsBeginInfoEXT 2906{ 2907 VkStructureType sType; 2908 const void* pNext; 2909 deUint32 attachmentInitialSampleLocationsCount; 2910 const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations; 2911 deUint32 postSubpassSampleLocationsCount; 2912 const VkSubpassSampleLocationsEXT* pSubpassSampleLocations; 2913}; 2914 2915struct VkPipelineSampleLocationsStateCreateInfoEXT 2916{ 2917 VkStructureType sType; 2918 const void* pNext; 2919 VkBool32 sampleLocationsEnable; 2920 VkSampleLocationsInfoEXT sampleLocationsInfo; 2921}; 2922 2923struct VkPhysicalDeviceSampleLocationsPropertiesEXT 2924{ 2925 VkStructureType sType; 2926 void* pNext; 2927 VkSampleCountFlags sampleLocationSampleCounts; 2928 VkExtent2D maxSampleLocationGridSize; 2929 float sampleLocationCoordinateRange[2]; 2930 deUint32 sampleLocationSubPixelBits; 2931 VkBool32 variableSampleLocations; 2932}; 2933 2934struct VkMultisamplePropertiesEXT 2935{ 2936 VkStructureType sType; 2937 void* pNext; 2938 VkExtent2D maxSampleLocationGridSize; 2939}; 2940 2941struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT 2942{ 2943 VkStructureType sType; 2944 void* pNext; 2945 VkBool32 advancedBlendCoherentOperations; 2946}; 2947 2948struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT 2949{ 2950 VkStructureType sType; 2951 void* pNext; 2952 deUint32 advancedBlendMaxColorAttachments; 2953 VkBool32 advancedBlendIndependentBlend; 2954 VkBool32 advancedBlendNonPremultipliedSrcColor; 2955 VkBool32 advancedBlendNonPremultipliedDstColor; 2956 VkBool32 advancedBlendCorrelatedOverlap; 2957 VkBool32 advancedBlendAllOperations; 2958}; 2959 2960struct VkPipelineColorBlendAdvancedStateCreateInfoEXT 2961{ 2962 VkStructureType sType; 2963 const void* pNext; 2964 VkBool32 srcPremultiplied; 2965 VkBool32 dstPremultiplied; 2966 VkBlendOverlapEXT blendOverlap; 2967}; 2968 2969struct VkPipelineCoverageToColorStateCreateInfoNV 2970{ 2971 VkStructureType sType; 2972 const void* pNext; 2973 VkPipelineCoverageToColorStateCreateFlagsNV flags; 2974 VkBool32 coverageToColorEnable; 2975 deUint32 coverageToColorLocation; 2976}; 2977 2978struct VkPipelineCoverageModulationStateCreateInfoNV 2979{ 2980 VkStructureType sType; 2981 const void* pNext; 2982 VkPipelineCoverageModulationStateCreateFlagsNV flags; 2983 VkCoverageModulationModeNV coverageModulationMode; 2984 VkBool32 coverageModulationTableEnable; 2985 deUint32 coverageModulationTableCount; 2986 const float* pCoverageModulationTable; 2987}; 2988 2989struct VkValidationCacheCreateInfoEXT 2990{ 2991 VkStructureType sType; 2992 const void* pNext; 2993 VkValidationCacheCreateFlagsEXT flags; 2994 deUintptr initialDataSize; 2995 const void* pInitialData; 2996}; 2997 2998struct VkShaderModuleValidationCacheCreateInfoEXT 2999{ 3000 VkStructureType sType; 3001 const void* pNext; 3002 VkValidationCacheEXT validationCache; 3003}; 3004 3005struct VkAndroidHardwareBufferUsageANDROID 3006{ 3007 VkStructureType sType; 3008 void* pNext; 3009 deUint64 androidHardwareBufferUsage; 3010}; 3011 3012struct VkAndroidHardwareBufferPropertiesANDROID 3013{ 3014 VkStructureType sType; 3015 void* pNext; 3016 VkDeviceSize allocationSize; 3017 deUint32 memoryTypeBits; 3018}; 3019 3020struct VkAndroidHardwareBufferFormatPropertiesANDROID 3021{ 3022 VkStructureType sType; 3023 void* pNext; 3024 VkFormat format; 3025 deUint64 externalFormat; 3026 VkFormatFeatureFlags formatFeatures; 3027 VkComponentMapping samplerYcbcrConversionComponents; 3028 VkSamplerYcbcrModelConversion suggestedYcbcrModel; 3029 VkSamplerYcbcrRange suggestedYcbcrRange; 3030 VkChromaLocation suggestedXChromaOffset; 3031 VkChromaLocation suggestedYChromaOffset; 3032}; 3033 3034struct VkImportAndroidHardwareBufferInfoANDROID 3035{ 3036 VkStructureType sType; 3037 const void* pNext; 3038 struct pt::AndroidHardwareBufferPtr buffer; 3039}; 3040 3041struct VkMemoryGetAndroidHardwareBufferInfoANDROID 3042{ 3043 VkStructureType sType; 3044 void* pNext; 3045 VkDeviceMemory memory; 3046}; 3047 3048struct VkExternalFormatANDROID 3049{ 3050 VkStructureType sType; 3051 void* pNext; 3052 deUint64 externalFormat; 3053}; 3054 3055struct VkImportMemoryHostPointerInfoEXT 3056{ 3057 VkStructureType sType; 3058 const void* pNext; 3059 VkExternalMemoryHandleTypeFlagBits handleType; 3060 void* pHostPointer; 3061}; 3062 3063struct VkMemoryHostPointerPropertiesEXT 3064{ 3065 VkStructureType sType; 3066 void* pNext; 3067 deUint32 memoryTypeBits; 3068}; 3069 3070struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT 3071{ 3072 VkStructureType sType; 3073 void* pNext; 3074 VkDeviceSize minImportedHostPointerAlignment; 3075}; 3076 3077struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT 3078{ 3079 VkStructureType sType; 3080 void* pNext; 3081 deUint32 maxVertexAttribDivisor; 3082}; 3083 3084struct VkVertexInputBindingDivisorDescriptionEXT 3085{ 3086 deUint32 binding; 3087 deUint32 divisor; 3088}; 3089 3090struct VkPipelineVertexInputDivisorStateCreateInfoEXT 3091{ 3092 VkStructureType sType; 3093 const void* pNext; 3094 deUint32 vertexBindingDivisorCount; 3095 const VkVertexInputBindingDivisorDescriptionEXT* pVertexBindingDivisors; 3096}; 3097 3098struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT 3099{ 3100 VkStructureType sType; 3101 void* pNext; 3102 VkBool32 vertexAttributeInstanceRateDivisor; 3103 VkBool32 vertexAttributeInstanceRateZeroDivisor; 3104}; 3105 3106struct VkDescriptorSetLayoutBindingFlagsCreateInfoEXT 3107{ 3108 VkStructureType sType; 3109 const void* pNext; 3110 deUint32 bindingCount; 3111 const VkDescriptorBindingFlagsEXT* pBindingFlags; 3112}; 3113 3114struct VkPhysicalDeviceDescriptorIndexingFeaturesEXT 3115{ 3116 VkStructureType sType; 3117 void* pNext; 3118 VkBool32 shaderInputAttachmentArrayDynamicIndexing; 3119 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing; 3120 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing; 3121 VkBool32 shaderUniformBufferArrayNonUniformIndexing; 3122 VkBool32 shaderSampledImageArrayNonUniformIndexing; 3123 VkBool32 shaderStorageBufferArrayNonUniformIndexing; 3124 VkBool32 shaderStorageImageArrayNonUniformIndexing; 3125 VkBool32 shaderInputAttachmentArrayNonUniformIndexing; 3126 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing; 3127 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing; 3128 VkBool32 descriptorBindingUniformBufferUpdateAfterBind; 3129 VkBool32 descriptorBindingSampledImageUpdateAfterBind; 3130 VkBool32 descriptorBindingStorageImageUpdateAfterBind; 3131 VkBool32 descriptorBindingStorageBufferUpdateAfterBind; 3132 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind; 3133 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind; 3134 VkBool32 descriptorBindingUpdateUnusedWhilePending; 3135 VkBool32 descriptorBindingPartiallyBound; 3136 VkBool32 descriptorBindingVariableDescriptorCount; 3137 VkBool32 runtimeDescriptorArray; 3138}; 3139 3140struct VkPhysicalDeviceDescriptorIndexingPropertiesEXT 3141{ 3142 VkStructureType sType; 3143 void* pNext; 3144 deUint32 maxUpdateAfterBindDescriptorsInAllPools; 3145 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative; 3146 VkBool32 shaderSampledImageArrayNonUniformIndexingNative; 3147 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative; 3148 VkBool32 shaderStorageImageArrayNonUniformIndexingNative; 3149 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative; 3150 VkBool32 robustBufferAccessUpdateAfterBind; 3151 VkBool32 quadDivergentImplicitLod; 3152 deUint32 maxPerStageDescriptorUpdateAfterBindSamplers; 3153 deUint32 maxPerStageDescriptorUpdateAfterBindUniformBuffers; 3154 deUint32 maxPerStageDescriptorUpdateAfterBindStorageBuffers; 3155 deUint32 maxPerStageDescriptorUpdateAfterBindSampledImages; 3156 deUint32 maxPerStageDescriptorUpdateAfterBindStorageImages; 3157 deUint32 maxPerStageDescriptorUpdateAfterBindInputAttachments; 3158 deUint32 maxPerStageUpdateAfterBindResources; 3159 deUint32 maxDescriptorSetUpdateAfterBindSamplers; 3160 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffers; 3161 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic; 3162 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffers; 3163 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic; 3164 deUint32 maxDescriptorSetUpdateAfterBindSampledImages; 3165 deUint32 maxDescriptorSetUpdateAfterBindStorageImages; 3166 deUint32 maxDescriptorSetUpdateAfterBindInputAttachments; 3167}; 3168 3169struct VkDescriptorSetVariableDescriptorCountAllocateInfoEXT 3170{ 3171 VkStructureType sType; 3172 const void* pNext; 3173 deUint32 descriptorSetCount; 3174 const deUint32* pDescriptorCounts; 3175}; 3176 3177struct VkDescriptorSetVariableDescriptorCountLayoutSupportEXT 3178{ 3179 VkStructureType sType; 3180 void* pNext; 3181 deUint32 maxVariableDescriptorCount; 3182}; 3183 3184struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT 3185{ 3186 VkStructureType sType; 3187 void* pNext; 3188 VkBool32 inlineUniformBlock; 3189 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind; 3190}; 3191 3192struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT 3193{ 3194 VkStructureType sType; 3195 void* pNext; 3196 deUint32 maxInlineUniformBlockSize; 3197 deUint32 maxPerStageDescriptorInlineUniformBlocks; 3198 deUint32 maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks; 3199 deUint32 maxDescriptorSetInlineUniformBlocks; 3200 deUint32 maxDescriptorSetUpdateAfterBindInlineUniformBlocks; 3201}; 3202 3203struct VkWriteDescriptorSetInlineUniformBlockEXT 3204{ 3205 VkStructureType sType; 3206 const void* pNext; 3207 deUint32 dataSize; 3208 const void* pData; 3209}; 3210 3211struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT 3212{ 3213 VkStructureType sType; 3214 const void* pNext; 3215 deUint32 maxInlineUniformBlockBindings; 3216}; 3217 3218struct VkPhysicalDeviceShaderAtomicInt64FeaturesKHR 3219{ 3220 VkStructureType sType; 3221 void* pNext; 3222 VkBool32 shaderBufferInt64Atomics; 3223 VkBool32 shaderSharedInt64Atomics; 3224}; 3225 3226struct VkPhysicalDeviceVulkanMemoryModelFeaturesKHR 3227{ 3228 VkStructureType sType; 3229 void* pNext; 3230 VkBool32 vulkanMemoryModel; 3231 VkBool32 vulkanMemoryModelDeviceScope; 3232 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains; 3233}; 3234 3235struct VkPhysicalDeviceScalarBlockLayoutFeaturesEXT 3236{ 3237 VkStructureType sType; 3238 void* pNext; 3239 VkBool32 scalarBlockLayout; 3240}; 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304