1import ctypes 2import dataclasses 3import enum 4from typing import List 5 6dataclass = dataclasses.dataclass 7Enum = enum.Enum 8 9# TODO(b/401184058): Automate this file for generating the vulkan structs graph from vk.xml 10VK_UUID_SIZE = 16 11VK_LUID_SIZE = 16 12 13VkImageLayout = Enum 14uint8_t = ctypes.c_uint8 15uint32_t = ctypes.c_uint32 16VkFlags = uint32_t 17VkMemoryPropertyFlags = VkFlags 18VkMemoryHeapFlags = VkFlags 19int32_t = int 20uint64_t = ctypes.c_uint64 21VkBool32 = bool 22VkDeviceSize = ctypes.c_uint64 23size_t = int 24VkSampleCountFlags = ctypes.c_uint32 25VkFormatFeatureFlags = ctypes.c_uint32 26VkQueueFlags = ctypes.c_uint32 27VkShaderStageFlags = ctypes.c_uint32 28VkSubgroupFeatureFlags = ctypes.c_uint32 29VkResolveModeFlags = ctypes.c_uint32 30float_t = ctypes.c_float 31VkShaderFloatControlsIndependence = Enum 32VkPointClippingBehavior = Enum 33VkPhysicalDeviceType = Enum 34VkDriverId = Enum 35VkPipelineRobustnessBufferBehavior = Enum 36 37 38@dataclass 39class ConformanceVersion: 40 major: uint8_t 41 minor: uint8_t 42 subminor: uint8_t 43 patch: uint8_t 44 45 46@dataclass 47class VkExtent3D: 48 width: uint32_t 49 height: uint32_t 50 depth: uint32_t 51 52 53@dataclass 54class VkPhysicalDeviceLimits: 55 maxImageDimension1D: uint32_t 56 maxImageDimension2D: uint32_t 57 maxImageDimension3D: uint32_t 58 maxImageDimensionCube: uint32_t 59 maxImageArrayLayers: uint32_t 60 maxTexelBufferElements: uint32_t 61 maxUniformBufferRange: uint32_t 62 maxStorageBufferRange: uint32_t 63 maxPushConstantsSize: uint32_t 64 maxMemoryAllocationCount: uint32_t 65 maxSamplerAllocationCount: uint32_t 66 bufferImageGranularity: VkDeviceSize 67 sparseAddressSpaceSize: VkDeviceSize 68 maxBoundDescriptorSets: uint32_t 69 maxPerStageDescriptorSamplers: uint32_t 70 maxPerStageDescriptorUniformBuffers: uint32_t 71 maxPerStageDescriptorStorageBuffers: uint32_t 72 maxPerStageDescriptorSampledImages: uint32_t 73 maxPerStageDescriptorStorageImages: uint32_t 74 maxPerStageDescriptorInputAttachments: uint32_t 75 maxPerStageResources: uint32_t 76 maxDescriptorSetSamplers: uint32_t 77 maxDescriptorSetUniformBuffers: uint32_t 78 maxDescriptorSetUniformBuffersDynamic: uint32_t 79 maxDescriptorSetStorageBuffers: uint32_t 80 maxDescriptorSetStorageBuffersDynamic: uint32_t 81 maxDescriptorSetSampledImages: uint32_t 82 maxDescriptorSetStorageImages: uint32_t 83 maxDescriptorSetInputAttachments: uint32_t 84 maxVertexInputAttributes: uint32_t 85 maxVertexInputBindings: uint32_t 86 maxVertexInputAttributeOffset: uint32_t 87 maxVertexInputBindingStride: uint32_t 88 maxVertexOutputComponents: uint32_t 89 maxTessellationGenerationLevel: uint32_t 90 maxTessellationPatchSize: uint32_t 91 maxTessellationControlPerVertexInputComponents: uint32_t 92 maxTessellationControlPerVertexOutputComponents: uint32_t 93 maxTessellationControlPerPatchOutputComponents: uint32_t 94 maxTessellationControlTotalOutputComponents: uint32_t 95 maxTessellationEvaluationInputComponents: uint32_t 96 maxTessellationEvaluationOutputComponents: uint32_t 97 maxGeometryShaderInvocations: uint32_t 98 maxGeometryInputComponents: uint32_t 99 maxGeometryOutputComponents: uint32_t 100 maxGeometryOutputVertices: uint32_t 101 maxGeometryTotalOutputComponents: uint32_t 102 maxFragmentInputComponents: uint32_t 103 maxFragmentOutputAttachments: uint32_t 104 maxFragmentDualSrcAttachments: uint32_t 105 maxFragmentCombinedOutputResources: uint32_t 106 maxComputeSharedMemorySize: uint32_t 107 maxComputeWorkGroupCount: uint32_t*3 108 maxComputeWorkGroupInvocations: uint32_t 109 maxComputeWorkGroupSize: uint32_t*3 110 subPixelPrecisionBits: uint32_t 111 subTexelPrecisionBits: uint32_t 112 mipmapPrecisionBits: uint32_t 113 maxDrawIndexedIndexValue: uint32_t 114 maxDrawIndirectCount: uint32_t 115 maxSamplerLodBias: float 116 maxSamplerAnisotropy: float 117 maxViewports: uint32_t 118 maxViewportDimensions: uint32_t*2 119 viewportBoundsRange: float_t*2 120 viewportSubPixelBits: uint32_t 121 minMemoryMapAlignment: size_t 122 minTexelBufferOffsetAlignment: VkDeviceSize 123 minUniformBufferOffsetAlignment: VkDeviceSize 124 minStorageBufferOffsetAlignment: VkDeviceSize 125 minTexelOffset: int32_t 126 maxTexelOffset: uint32_t 127 minTexelGatherOffset: int32_t 128 maxTexelGatherOffset: uint32_t 129 minInterpolationOffset: float 130 maxInterpolationOffset: float 131 subPixelInterpolationOffsetBits: uint32_t 132 maxFramebufferWidth: uint32_t 133 maxFramebufferHeight: uint32_t 134 maxFramebufferLayers: uint32_t 135 framebufferColorSampleCounts: VkSampleCountFlags 136 framebufferDepthSampleCounts: VkSampleCountFlags 137 framebufferStencilSampleCounts: VkSampleCountFlags 138 framebufferNoAttachmentsSampleCounts: VkSampleCountFlags 139 maxColorAttachments: uint32_t 140 sampledImageColorSampleCounts: VkSampleCountFlags 141 sampledImageIntegerSampleCounts: VkSampleCountFlags 142 sampledImageDepthSampleCounts: VkSampleCountFlags 143 sampledImageStencilSampleCounts: VkSampleCountFlags 144 storageImageSampleCounts: VkSampleCountFlags 145 maxSampleMaskWords: uint32_t 146 timestampComputeAndGraphics: VkBool32 147 timestampPeriod: float 148 maxClipDistances: uint32_t 149 maxCullDistances: uint32_t 150 maxCombinedClipAndCullDistances: uint32_t 151 discreteQueuePriorities: uint32_t 152 pointSizeRange: float_t*2 153 lineWidthRange: float_t*2 154 pointSizeGranularity: float 155 lineWidthGranularity: float 156 strictLines: VkBool32 157 standardSampleLocations: VkBool32 158 optimalBufferCopyOffsetAlignment: VkDeviceSize 159 optimalBufferCopyRowPitchAlignment: VkDeviceSize 160 nonCoherentAtomSize: VkDeviceSize 161 162 163@dataclass 164class VkPhysicalDeviceShaderDrawParameterFeatures: 165 shaderDrawParameters: VkBool32 166 167 168@dataclass 169class VkExtensionProperties: 170 extensionName: str 171 specVersion: uint32_t 172 173 174@dataclass 175class VkFormatProperties: 176 linearTilingFeatures: VkFormatFeatureFlags 177 optimalTilingFeatures: VkFormatFeatureFlags 178 bufferFeatures: VkFormatFeatureFlags 179 180 181@dataclass 182class VkLayerProperties: 183 layerName: str 184 specVersion: uint32_t 185 implementationVersion: uint32_t 186 description: str 187 188 189@dataclass 190class VkQueueFamilyProperties: 191 queueFlags: VkQueueFlags 192 queueCount: uint32_t 193 timestampValidBits: uint32_t 194 minImageTransferGranularity: VkExtent3D 195 196 197@dataclass 198class VkPhysicalDeviceSparseProperties: 199 residencyStandard2DBlockShape: VkBool32 200 residencyStandard2DMultisampleBlockShape: VkBool32 201 residencyStandard3DBlockShape: VkBool32 202 residencyAlignedMipSize: VkBool32 203 residencyNonResidentStrict: VkBool32 204 205 206@dataclass 207class VkImageFormatProperties: 208 maxExtent: VkExtent3D 209 maxMipLevels: uint32_t 210 maxArrayLayers: uint32_t 211 sampleCounts: VkSampleCountFlags 212 maxResourceSize: VkDeviceSize 213 214 215@dataclass 216class VkPhysicalDeviceSamplerYcbcrConversionFeatures: 217 samplerYcbcrConversion: VkBool32 218 219 220@dataclass 221class VkPhysicalDeviceIDProperties: 222 deviceUUID: uint8_t*VK_UUID_SIZE 223 driverUUID: uint8_t*VK_UUID_SIZE 224 deviceLUID: uint8_t*VK_LUID_SIZE 225 deviceNodeMask: uint32_t 226 deviceLUIDValid: VkBool32 227 228 229@dataclass 230class VkPhysicalDeviceMaintenance3Properties: 231 maxPerSetDescriptors: uint32_t 232 maxMemoryAllocationSize: VkDeviceSize 233 234 235@dataclass 236class VkPhysicalDevice16BitStorageFeatures: 237 storageBuffer16BitAccess: VkBool32 238 uniformAndStorageBuffer16BitAccess: VkBool32 239 storagePushConstant16: VkBool32 240 storageInputOutput16: VkBool32 241 242 243@dataclass 244class VkPhysicalDeviceMultiviewFeatures: 245 multiview: VkBool32 246 multiviewGeometryShader: VkBool32 247 multiviewTessellationShader: VkBool32 248 249 250@dataclass 251class VkPhysicalDeviceSubgroupProperties: 252 subgroupSize: uint32_t 253 supportedStages: VkShaderStageFlags 254 supportedOperations: VkSubgroupFeatureFlags 255 quadOperationsInAllStages: VkBool32 256 257 258@dataclass 259class VkPhysicalDevicePointClippingProperties: 260 pointClippingBehavior: VkPointClippingBehavior 261 262 263@dataclass 264class VkPhysicalDeviceMultiviewProperties: 265 maxMultiviewViewCount: uint32_t 266 maxMultiviewInstanceIndex: uint32_t 267 268 269@dataclass 270class VkMemoryType: 271 propertyFlags: VkMemoryPropertyFlags 272 heapIndex: uint32_t 273 274 275@dataclass 276class VkMemoryHeap: 277 size: VkDeviceSize 278 flags: VkMemoryHeapFlags 279 280 281@dataclass 282class VkPhysicalDeviceMemoryProperties: 283 memoryTypeCount: uint32_t 284 memoryTypes: List[VkMemoryType] 285 memoryHeapCount: uint32_t 286 memoryHeaps: List[VkMemoryHeap] 287 288 289@dataclass 290class VkPhysicalDeviceProperties: 291 apiVersion: uint32_t 292 driverVersion: uint32_t 293 vendorID: uint32_t 294 deviceID: uint32_t 295 deviceType: VkPhysicalDeviceType 296 deviceName: str 297 pipelineCacheUUID: uint8_t 298 limits: VkPhysicalDeviceLimits 299 sparseProperties: VkPhysicalDeviceSparseProperties 300 301 302@dataclass 303class VkPhysicalDeviceFeatures: 304 robustBufferAccess: VkBool32 305 fullDrawIndexUint32: VkBool32 306 imageCubeArray: VkBool32 307 independentBlend: VkBool32 308 geometryShader: VkBool32 309 tessellationShader: VkBool32 310 sampleRateShading: VkBool32 311 dualSrcBlend: VkBool32 312 logicOp: VkBool32 313 multiDrawIndirect: VkBool32 314 drawIndirectFirstInstance: VkBool32 315 depthClamp: VkBool32 316 depthBiasClamp: VkBool32 317 fillModeNonSolid: VkBool32 318 depthBounds: VkBool32 319 wideLines: VkBool32 320 largePoints: VkBool32 321 alphaToOne: VkBool32 322 multiViewport: VkBool32 323 samplerAnisotropy: VkBool32 324 textureCompressionETC2: VkBool32 325 textureCompressionASTC_LDR: VkBool32 326 textureCompressionBC: VkBool32 327 occlusionQueryPrecise: VkBool32 328 pipelineStatisticsQuery: VkBool32 329 vertexPipelineStoresAndAtomics: VkBool32 330 fragmentStoresAndAtomics: VkBool32 331 shaderTessellationAndGeometryPointSize: VkBool32 332 shaderImageGatherExtended: VkBool32 333 shaderStorageImageExtendedFormats: VkBool32 334 shaderStorageImageMultisample: VkBool32 335 shaderStorageImageReadWithoutFormat: VkBool32 336 shaderStorageImageWriteWithoutFormat: VkBool32 337 shaderUniformBufferArrayDynamicIndexing: VkBool32 338 shaderSampledImageArrayDynamicIndexing: VkBool32 339 shaderStorageBufferArrayDynamicIndexing: VkBool32 340 shaderStorageImageArrayDynamicIndexing: VkBool32 341 shaderClipDistance: VkBool32 342 shaderCullDistance: VkBool32 343 shaderFloat64: VkBool32 344 shaderInt64: VkBool32 345 shaderInt16: VkBool32 346 shaderResourceResidency: VkBool32 347 shaderResourceMinLod: VkBool32 348 sparseBinding: VkBool32 349 sparseResidencyBuffer: VkBool32 350 sparseResidencyImage2D: VkBool32 351 sparseResidencyImage3D: VkBool32 352 sparseResidency2Samples: VkBool32 353 sparseResidency4Samples: VkBool32 354 sparseResidency8Samples: VkBool32 355 sparseResidency16Samples: VkBool32 356 sparseResidencyAliased: VkBool32 357 variableMultisampleRate: VkBool32 358 inheritedQueries: VkBool32 359 360 361@dataclass 362class VkPhysicalDeviceShaderFloat16Int8Features: 363 shaderFloat16: VkBool32 364 shaderInt8: VkBool32 365 366 367@dataclass 368class VkPhysicalDeviceProtectedMemoryFeatures: 369 protectedMemory: VkBool32 370 371 372@dataclass 373class VkPhysicalDeviceVariablePointersFeatures: 374 variablePointersStorageBuffer: VkBool32 375 variablePointers: VkBool32 376 377 378@dataclass 379class VkPhysicalDeviceImage2DViewOf3DFeaturesEXT: 380 image2DViewOf3D: VkBool32 381 sampler2DViewOf3D: VkBool32 382 383 384@dataclass 385class VkPhysicalDeviceCustomBorderColorFeaturesEXT: 386 customBorderColors: VkBool32 387 customBorderColorWithoutFormat: VkBool32 388 389 390@dataclass 391class VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT: 392 primitiveTopologyListRestart: VkBool32 393 primitiveTopologyPatchListRestart: VkBool32 394 395 396@dataclass 397class VkPhysicalDeviceProvokingVertexFeaturesEXT: 398 provokingVertexLast: VkBool32 399 transformFeedbackPreservesProvokingVertex: VkBool32 400 401 402@dataclass 403class VkPhysicalDeviceIndexTypeUint8Features: 404 indexTypeUint8: VkBool32 405 406 407@dataclass 408class VkPhysicalDeviceVertexAttributeDivisorFeatures: 409 vertexAttributeInstanceRateDivisor: VkBool32 410 vertexAttributeInstanceRateZeroDivisor: VkBool32 411 412 413@dataclass 414class VkPhysicalDeviceTransformFeedbackFeaturesEXT: 415 transformFeedback: VkBool32 416 geometryStreams: VkBool32 417 418 419@dataclass 420class VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR: 421 shaderSubgroupUniformControlFlow: VkBool32 422 423 424@dataclass 425class VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures: 426 shaderSubgroupExtendedTypes: VkBool32 427 428 429@dataclass 430class VkPhysicalDevice8BitStorageFeatures: 431 storageBuffer8BitAccess: VkBool32 432 uniformAndStorageBuffer8BitAccess: VkBool32 433 storagePushConstant8: VkBool32 434 435 436@dataclass 437class VkPhysicalDeviceShaderIntegerDotProductFeatures: 438 shaderIntegerDotProduct: VkBool32 439 440 441@dataclass 442class VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG: 443 relaxedLineRasterization: VkBool32 444 445 446@dataclass 447class VkPhysicalDeviceLineRasterizationFeatures: 448 rectangularLines: VkBool32 449 bresenhamLines: VkBool32 450 smoothLines: VkBool32 451 stippledRectangularLines: VkBool32 452 stippledBresenhamLines: VkBool32 453 stippledSmoothLines: VkBool32 454 455 456@dataclass 457class VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT: 458 primitivesGeneratedQuery: VkBool32 459 primitivesGeneratedQueryWithRasterizerDiscard: VkBool32 460 primitivesGeneratedQueryWithNonZeroStreams: VkBool32 461 462 463@dataclass 464class VkPhysicalDeviceFloatControlsProperties: 465 denormBehaviorIndependence : VkShaderFloatControlsIndependence 466 roundingModeIndependence : VkShaderFloatControlsIndependence 467 shaderSignedZeroInfNanPreserveFloat16 : VkBool32 468 shaderSignedZeroInfNanPreserveFloat32 : VkBool32 469 shaderSignedZeroInfNanPreserveFloat64 : VkBool32 470 shaderDenormPreserveFloat16 : VkBool32 471 shaderDenormPreserveFloat32 : VkBool32 472 shaderDenormPreserveFloat64 : VkBool32 473 shaderDenormFlushToZeroFloat16 : VkBool32 474 shaderDenormFlushToZeroFloat32 : VkBool32 475 shaderDenormFlushToZeroFloat64 : VkBool32 476 shaderRoundingModeRTEFloat16 : VkBool32 477 shaderRoundingModeRTEFloat32 : VkBool32 478 shaderRoundingModeRTEFloat64 :VkBool32 479 shaderRoundingModeRTZFloat16 : VkBool32 480 shaderRoundingModeRTZFloat32 : VkBool32 481 shaderRoundingModeRTZFloat64 : VkBool32 482 483 484@dataclass 485class VkPhysicalDeviceVulkan11Properties: 486 deviceUUID : uint8_t*VK_UUID_SIZE 487 driverUUID : uint8_t*VK_UUID_SIZE 488 deviceLUID : uint8_t*VK_LUID_SIZE 489 deviceNodeMask : uint32_t 490 deviceLUIDValid : VkBool32 491 subgroupSize : uint32_t 492 subgroupSupportedStages : VkShaderStageFlags 493 subgroupSupportedOperations : VkSubgroupFeatureFlags 494 subgroupQuadOperationsInAllStages : VkBool32 495 pointClippingBehavior : VkPointClippingBehavior 496 maxMultiviewViewCount : uint32_t 497 maxMultiviewInstanceIndex :uint32_t 498 protectedNoFault : VkBool32 499 maxPerSetDescriptors : uint32_t 500 maxMemoryAllocationSize : VkDeviceSize 501 502 503@dataclass 504class VkPhysicalDeviceVulkan11Features: 505 storageBuffer16BitAccess: VkBool32 506 uniformAndStorageBuffer16BitAccess: VkBool32 507 storagePushConstant16: VkBool32 508 storageInputOutput16: VkBool32 509 multiview: VkBool32 510 multiviewGeometryShader: VkBool32 511 multiviewTessellationShader: VkBool32 512 variablePointersStorageBuffer: VkBool32 513 variablePointers: VkBool32 514 protectedMemory: VkBool32 515 samplerYcbcrConversion: VkBool32 516 shaderDrawParameters: VkBool32 517 518 519@dataclass 520class VkPhysicalDeviceVulkan12Properties: 521 driverID: VkDriverId 522 driverName: str 523 driverInfo: str 524 conformanceVersion: ConformanceVersion 525 denormBehaviorIndependence: VkShaderFloatControlsIndependence 526 roundingModeIndependence: VkShaderFloatControlsIndependence 527 shaderSignedZeroInfNanPreserveFloat16: VkBool32 528 shaderSignedZeroInfNanPreserveFloat32: VkBool32 529 shaderSignedZeroInfNanPreserveFloat64: VkBool32 530 shaderDenormPreserveFloat16: VkBool32 531 shaderDenormPreserveFloat32: VkBool32 532 shaderDenormPreserveFloat64: VkBool32 533 shaderDenormFlushToZeroFloat16: VkBool32 534 shaderDenormFlushToZeroFloat32: VkBool32 535 shaderDenormFlushToZeroFloat64: VkBool32 536 shaderRoundingModeRTEFloat16: VkBool32 537 shaderRoundingModeRTEFloat32: VkBool32 538 shaderRoundingModeRTEFloat64: VkBool32 539 shaderRoundingModeRTZFloat16: VkBool32 540 shaderRoundingModeRTZFloat32: VkBool32 541 shaderRoundingModeRTZFloat64: VkBool32 542 maxUpdateAfterBindDescriptorsInAllPools: uint32_t 543 shaderUniformBufferArrayNonUniformIndexingNative: VkBool32 544 shaderSampledImageArrayNonUniformIndexingNative: VkBool32 545 shaderStorageBufferArrayNonUniformIndexingNative: VkBool32 546 shaderStorageImageArrayNonUniformIndexingNative: VkBool32 547 shaderInputAttachmentArrayNonUniformIndexingNative: VkBool32 548 robustBufferAccessUpdateAfterBind: VkBool32 549 quadDivergentImplicitLod: VkBool32 550 maxPerStageDescriptorUpdateAfterBindSamplers: uint32_t 551 maxPerStageDescriptorUpdateAfterBindUniformBuffers: uint32_t 552 maxPerStageDescriptorUpdateAfterBindStorageBuffers: uint32_t 553 maxPerStageDescriptorUpdateAfterBindSampledImages: uint32_t 554 maxPerStageDescriptorUpdateAfterBindStorageImages: uint32_t 555 maxPerStageDescriptorUpdateAfterBindInputAttachments: uint32_t 556 maxPerStageUpdateAfterBindResources: uint32_t 557 maxDescriptorSetUpdateAfterBindSamplers: uint32_t 558 maxDescriptorSetUpdateAfterBindUniformBuffers: uint32_t 559 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic: uint32_t 560 maxDescriptorSetUpdateAfterBindStorageBuffers: uint32_t 561 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic: uint32_t 562 maxDescriptorSetUpdateAfterBindSampledImages: uint32_t 563 maxDescriptorSetUpdateAfterBindStorageImages: uint32_t 564 maxDescriptorSetUpdateAfterBindInputAttachments: uint32_t 565 supportedDepthResolveModes: VkResolveModeFlags 566 supportedStencilResolveModes: VkResolveModeFlags 567 independentResolveNone: VkBool32 568 independentResolve: VkBool32 569 filterMinmaxSingleComponentFormats: VkBool32 570 filterMinmaxImageComponentMapping: VkBool32 571 maxTimelineSemaphoreValueDifference: uint64_t 572 framebufferIntegerColorSampleCounts: VkSampleCountFlags 573 574 575@dataclass 576class VkPhysicalDeviceVulkan12Features: 577 samplerMirrorClampToEdge: VkBool32 578 drawIndirectCount: VkBool32 579 storageBuffer8BitAccess: VkBool32 580 uniformAndStorageBuffer8BitAccess: VkBool32 581 storagePushConstant8: VkBool32 582 shaderBufferInt64Atomics: VkBool32 583 shaderSharedInt64Atomics: VkBool32 584 shaderFloat16: VkBool32 585 shaderInt8: VkBool32 586 descriptorIndexing: VkBool32 587 shaderInputAttachmentArrayDynamicIndexing: VkBool32 588 shaderUniformTexelBufferArrayDynamicIndexing: VkBool32 589 shaderStorageTexelBufferArrayDynamicIndexing: VkBool32 590 shaderUniformBufferArrayNonUniformIndexing: VkBool32 591 shaderSampledImageArrayNonUniformIndexing: VkBool32 592 shaderStorageBufferArrayNonUniformIndexing: VkBool32 593 shaderStorageImageArrayNonUniformIndexing: VkBool32 594 shaderInputAttachmentArrayNonUniformIndexing: VkBool32 595 shaderUniformTexelBufferArrayNonUniformIndexing: VkBool32 596 shaderStorageTexelBufferArrayNonUniformIndexing: VkBool32 597 descriptorBindingUniformBufferUpdateAfterBind: VkBool32 598 descriptorBindingSampledImageUpdateAfterBind: VkBool32 599 descriptorBindingStorageImageUpdateAfterBind: VkBool32 600 descriptorBindingStorageBufferUpdateAfterBind: VkBool32 601 descriptorBindingUniformTexelBufferUpdateAfterBind: VkBool32 602 descriptorBindingStorageTexelBufferUpdateAfterBind: VkBool32 603 descriptorBindingUpdateUnusedWhilePending: VkBool32 604 descriptorBindingPartiallyBound: VkBool32 605 descriptorBindingVariableDescriptorCount: VkBool32 606 runtimeDescriptorArray: VkBool32 607 samplerFilterMinmax: VkBool32 608 scalarBlockLayout: VkBool32 609 imagelessFramebuffer: VkBool32 610 uniformBufferStandardLayout: VkBool32 611 shaderSubgroupExtendedTypes: VkBool32 612 separateDepthStencilLayouts: VkBool32 613 hostQueryReset: VkBool32 614 timelineSemaphore: VkBool32 615 bufferDeviceAddress: VkBool32 616 bufferDeviceAddressCaptureReplay: VkBool32 617 bufferDeviceAddressMultiDevice: VkBool32 618 vulkanMemoryModel: VkBool32 619 vulkanMemoryModelDeviceScope: VkBool32 620 vulkanMemoryModelAvailabilityVisibilityChains: VkBool32 621 shaderOutputViewportIndex: VkBool32 622 shaderOutputLayer: VkBool32 623 subgroupBroadcastDynamicId: VkBool32 624 625 626@dataclass 627class VkPhysicalDeviceVulkan13Properties: 628 minSubgroupSize: uint32_t 629 maxSubgroupSize: uint32_t 630 maxComputeWorkgroupSubgroups: uint32_t 631 requiredSubgroupSizeStages: VkShaderStageFlags 632 maxInlineUniformBlockSize: uint32_t 633 maxPerStageDescriptorInlineUniformBlocks: uint32_t 634 maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks: uint32_t 635 maxDescriptorSetInlineUniformBlocks: uint32_t 636 maxDescriptorSetUpdateAfterBindInlineUniformBlocks: uint32_t 637 maxInlineUniformTotalSize: uint32_t 638 integerDotProduct8BitUnsignedAccelerated: VkBool32 639 integerDotProduct8BitSignedAccelerated: VkBool32 640 integerDotProduct8BitMixedSignednessAccelerated: VkBool32 641 integerDotProduct4x8BitPackedUnsignedAccelerated: VkBool32 642 integerDotProduct4x8BitPackedSignedAccelerated: VkBool32 643 integerDotProduct4x8BitPackedMixedSignednessAccelerated: VkBool32 644 integerDotProduct16BitUnsignedAccelerated: VkBool32 645 integerDotProduct16BitSignedAccelerated: VkBool32 646 integerDotProduct16BitMixedSignednessAccelerated: VkBool32 647 integerDotProduct32BitUnsignedAccelerated: VkBool32 648 integerDotProduct32BitSignedAccelerated: VkBool32 649 integerDotProduct32BitMixedSignednessAccelerated: VkBool32 650 integerDotProduct64BitUnsignedAccelerated: VkBool32 651 integerDotProduct64BitSignedAccelerated: VkBool32 652 integerDotProduct64BitMixedSignednessAccelerated: VkBool32 653 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated: VkBool32 654 integerDotProductAccumulatingSaturating8BitSignedAccelerated: VkBool32 655 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated: VkBool32 656 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated: VkBool32 657 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated: VkBool32 658 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated: VkBool32 659 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated: VkBool32 660 integerDotProductAccumulatingSaturating16BitSignedAccelerated: VkBool32 661 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated: VkBool32 662 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated: VkBool32 663 integerDotProductAccumulatingSaturating32BitSignedAccelerated: VkBool32 664 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated: VkBool32 665 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated: VkBool32 666 integerDotProductAccumulatingSaturating64BitSignedAccelerated: VkBool32 667 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated: VkBool32 668 storageTexelBufferOffsetAlignmentBytes: VkDeviceSize 669 storageTexelBufferOffsetSingleTexelAlignment: VkBool32 670 uniformTexelBufferOffsetAlignmentBytes: VkDeviceSize 671 uniformTexelBufferOffsetSingleTexelAlignment: VkBool32 672 maxBufferSize: VkDeviceSize 673 674 675@dataclass 676class VkPhysicalDeviceVulkan13Features: 677 robustImageAccess: VkBool32 678 inlineUniformBlock: VkBool32 679 descriptorBindingInlineUniformBlockUpdateAfterBind: VkBool32 680 pipelineCreationCacheControl: VkBool32 681 privateData: VkBool32 682 shaderDemoteToHelperInvocation: VkBool32 683 shaderTerminateInvocation: VkBool32 684 subgroupSizeControl: VkBool32 685 computeFullSubgroups: VkBool32 686 synchronization2: VkBool32 687 textureCompressionASTC_HDR: VkBool32 688 shaderZeroInitializeWorkgroupMemory: VkBool32 689 dynamicRendering: VkBool32 690 shaderIntegerDotProduct: VkBool32 691 maintenance4: VkBool32 692 693 694@dataclass 695class VkPhysicalDeviceVulkan14Properties: 696 lineSubPixelPrecisionBits: uint32_t 697 maxVertexAttribDivisor: uint32_t 698 supportsNonZeroFirstInstance: VkBool32 699 maxPushDescriptors: uint32_t 700 dynamicRenderingLocalReadDepthStencilAttachments: VkBool32 701 dynamicRenderingLocalReadMultisampledAttachments: VkBool32 702 earlyFragmentMultisampleCoverageAfterSampleCounting: VkBool32 703 earlyFragmentSampleMaskTestBeforeSampleCounting: VkBool32 704 depthStencilSwizzleOneSupport: VkBool32 705 polygonModePointSize: VkBool32 706 nonStrictSinglePixelWideLinesUseParallelogram: VkBool32 707 nonStrictWideLinesUseParallelogram: VkBool32 708 blockTexelViewCompatibleMultipleLayers: VkBool32 709 maxCombinedImageSamplerDescriptorCount: uint32_t 710 fragmentShadingRateClampCombinerInputs: VkBool32 711 defaultRobustnessStorageBuffers: VkPipelineRobustnessBufferBehavior 712 defaultRobustnessUniformBuffers: VkPipelineRobustnessBufferBehavior 713 defaultRobustnessVertexInputs: VkPipelineRobustnessBufferBehavior 714 defaultRobustnessImages: VkPipelineRobustnessBufferBehavior 715 copySrcLayoutCount: uint32_t 716 pCopySrcLayouts: List[VkImageLayout] 717 copyDstLayoutCount: uint32_t 718 pCopyDstLayouts: List[VkImageLayout] 719 optimalTilingLayoutUUID: uint8_t 720 identicalMemoryTypeRequirements: VkBool32 721 722 723@dataclass 724class VkPhysicalDeviceVulkan14Features: 725 globalPriorityQuery: VkBool32 726 shaderSubgroupRotate: VkBool32 727 shaderSubgroupRotateClustered: VkBool32 728 shaderFloatControls2: VkBool32 729 shaderExpectAssume: VkBool32 730 rectangularLines: VkBool32 731 bresenhamLines: VkBool32 732 smoothLines: VkBool32 733 stippledRectangularLines: VkBool32 734 stippledBresenhamLines: VkBool32 735 stippledSmoothLines: VkBool32 736 vertexAttributeInstanceRateDivisor: VkBool32 737 vertexAttributeInstanceRateZeroDivisor: VkBool32 738 indexTypeUint8: VkBool32 739 dynamicRenderingLocalRead: VkBool32 740 maintenance5: VkBool32 741 maintenance6: VkBool32 742 pipelineProtectedAccess: VkBool32 743 pipelineRobustness: VkBool32 744 hostImageCopy: VkBool32 745 pushDescriptor: VkBool32 746 747 748@dataclass 749class VkPhysicalDeviceDriverProperties: 750 driverID: VkDriverId 751 driverName: str 752 driverInfo: str 753 conformanceVersion: ConformanceVersion 754 755# Defining alias for structures 756VkPhysicalDeviceLineRasterizationFeaturesEXT = VkPhysicalDeviceLineRasterizationFeatures 757VkPhysicalDeviceLineRasterizationFeaturesKHR = VkPhysicalDeviceLineRasterizationFeatures 758VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR = VkPhysicalDeviceShaderIntegerDotProductFeatures 759VkPhysicalDevice8BitStorageFeaturesKHR = VkPhysicalDevice8BitStorageFeatures 760VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR = VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures 761VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR = VkPhysicalDeviceVertexAttributeDivisorFeatures 762VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT = VkPhysicalDeviceVertexAttributeDivisorFeatures 763VkPhysicalDeviceIndexTypeUint8FeaturesKHR = VkPhysicalDeviceIndexTypeUint8Features 764VkPhysicalDeviceIndexTypeUint8FeaturesEXT = VkPhysicalDeviceIndexTypeUint8Features 765VkPhysicalDeviceVariablePointerFeatures = VkPhysicalDeviceVariablePointersFeatures 766VkPhysicalDeviceVariablePointersFeaturesKHR = VkPhysicalDeviceVariablePointersFeatures 767VkPhysicalDeviceVariablePointerFeaturesKHR = VkPhysicalDeviceVariablePointersFeatures 768VkPhysicalDeviceFloat16Int8FeaturesKHR = VkPhysicalDeviceShaderFloat16Int8Features 769VkPhysicalDeviceShaderFloat16Int8FeaturesKHR = VkPhysicalDeviceShaderFloat16Int8Features 770VkPhysicalDeviceFloatControlsPropertiesKHR = VkPhysicalDeviceFloatControlsProperties 771VkPhysicalDeviceShaderDrawParametersFeatures = VkPhysicalDeviceShaderDrawParameterFeatures 772VkPhysicalDeviceDriverPropertiesKHR = VkPhysicalDeviceDriverProperties 773 774# Defining dependency of structures on extensions 775VULKAN_EXTENSIONS_AND_STRUCTS_MAPPING = { 776 "extensions": { 777 "VK_KHR_variable_pointers": [ 778 { "VkPhysicalDeviceVariablePointerFeaturesKHR": "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES" }, 779 { "VkPhysicalDeviceVariablePointersFeaturesKHR" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES"}, 780 ], 781 "VK_KHR_shader_float16_int8": [ 782 { "VkPhysicalDeviceShaderFloat16Int8FeaturesKHR": "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES" }, 783 {"VkPhysicalDeviceFloat16Int8FeaturesKHR" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES"}, 784 ], 785 "VK_EXT_image_2d_view_of_3d" : [ 786 {"VkPhysicalDeviceImage2DViewOf3DFeaturesEXT" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT"}, 787 ], 788 "VK_EXT_custom_border_color" : [ 789 {"VkPhysicalDeviceCustomBorderColorFeaturesEXT" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT"}, 790 ], 791 "VK_EXT_primitive_topology_list_restart": [ 792 {"VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT"}, 793 ], 794 "VK_EXT_provoking_vertex" : [ 795 {"VkPhysicalDeviceProvokingVertexFeaturesEXT" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT"}, 796 ], 797 "VK_KHR_index_type_uint8" : [ 798 {"VkPhysicalDeviceIndexTypeUint8FeaturesKHR" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES"}, 799 ], 800 "VK_EXT_index_type_uint8" : [ 801 {"VkPhysicalDeviceIndexTypeUint8FeaturesEXT" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES"}, 802 ], 803 "VK_KHR_vertex_attribute_divisor" : [ 804 {"VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES"}, 805 ], 806 "VK_EXT_vertex_attribute_divisor" : [ 807 {"VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES"}, 808 ], 809 "VK_EXT_transform_feedback" : [ 810 {"VkPhysicalDeviceTransformFeedbackFeaturesEXT" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT"}, 811 ], 812 "VK_KHR_shader_subgroup_uniform_control_flow" : [ 813 {"VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR"}, 814 ], 815 "VK_KHR_shader_subgroup_extended_types" : [ 816 {"VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES"}, 817 ], 818 "VK_KHR_8bit_storage" : [ 819 {"VkPhysicalDevice8BitStorageFeaturesKHR" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES"}, 820 ], 821 "VK_KHR_shader_integer_dot_product" : [ 822 {"VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES"}, 823 ], 824 "VK_IMG_relaxed_line_rasterization" : [ 825 {"VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RELAXED_LINE_RASTERIZATION_FEATURES_IMG"}, 826 ], 827 "VK_KHR_line_rasterization" : [ 828 {"VkPhysicalDeviceLineRasterizationFeaturesKHR" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES"}, 829 ], 830 "VK_EXT_line_rasterization" : [ 831 {"VkPhysicalDeviceLineRasterizationFeaturesEXT" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES"}, 832 ], 833 "VK_EXT_primitives_generated_query" : [ 834 {"VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT"}, 835 ], 836 "VK_KHR_shader_float_controls" : [ 837 {"VkPhysicalDeviceFloatControlsPropertiesKHR" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES"}, 838 ], 839 "VK_KHR_driver_properties" : [ 840 {"VkPhysicalDeviceDriverPropertiesKHR" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES"}, 841 ] 842 } 843} 844 845# Defining dependency of structures on vulkan cores 846VULKAN_CORES_AND_STRUCTS_MAPPING = { 847 "versions" : { 848 "Core11" : [ 849 {"VkPhysicalDeviceVulkan11Properties" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES"}, 850 {"VkPhysicalDeviceVulkan11Features" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES"}, 851 ], 852 "Core12" : [ 853 {"VkPhysicalDeviceVulkan12Properties" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES"}, 854 {"VkPhysicalDeviceVulkan12Features" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES"}, 855 ], 856 "Core13" : [ 857 {"VkPhysicalDeviceVulkan13Properties" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES"}, 858 {"VkPhysicalDeviceVulkan13Features" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES"}, 859 ], 860 "Core14" : [ 861 {"VkPhysicalDeviceVulkan14Properties" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_PROPERTIES"}, 862 {"VkPhysicalDeviceVulkan14Features" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_FEATURES"}, 863 ] 864 } 865} 866 867# Defining map for list type members mapped to its size 868LIST_TYPE_FIELD_AND_SIZE_MAPPING = { 869 "pCopySrcLayouts": "copySrcLayoutCount", 870 "pCopyDstLayouts": "copyDstLayoutCount", 871 "memoryTypes": "memoryTypeCount", 872 "memoryHeaps": "memoryHeapCount", 873} 874 875# Defining dependency of structures on vulkan api version 876VULKAN_VERSIONS_AND_STRUCTS_MAPPING = { 877 "VK_VERSION_1_0" : [ 878 {"VkPhysicalDeviceProperties" : "" }, 879 {"VkPhysicalDeviceFeatures" : ""}, 880 {"VkPhysicalDeviceMemoryProperties" : ""}, 881 ], 882 "VK_VERSION_1_1" : [ 883 {"VkPhysicalDeviceSubgroupProperties" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES"}, 884 {"VkPhysicalDevicePointClippingProperties" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES"}, 885 {"VkPhysicalDeviceMultiviewProperties" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES"}, 886 {"VkPhysicalDeviceIDProperties" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES"}, 887 {"VkPhysicalDeviceMaintenance3Properties" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES"}, 888 {"VkPhysicalDeviceMultiviewFeatures" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES"}, 889 {"VkPhysicalDeviceVariablePointersFeatures" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES"}, 890 {"VkPhysicalDeviceProtectedMemoryFeatures" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES"}, 891 {"VkPhysicalDeviceSamplerYcbcrConversionFeatures" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES"}, 892 {"VkPhysicalDeviceShaderDrawParameterFeatures" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES"}, 893 {"VkPhysicalDevice16BitStorageFeatures" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES"}, 894 ] 895} 896 897# List of structures that are not dependent on extensions 898EXTENSION_INDEPENDENT_STRUCTS = [ 899 VkPhysicalDeviceProperties, 900 VkPhysicalDeviceFeatures, 901 VkPhysicalDeviceMemoryProperties, 902 VkPhysicalDeviceSubgroupProperties, 903 VkPhysicalDevicePointClippingProperties, 904 VkPhysicalDeviceMultiviewProperties, 905 VkPhysicalDeviceIDProperties, 906 VkPhysicalDeviceMaintenance3Properties, 907 VkPhysicalDevice16BitStorageFeatures, 908 VkPhysicalDeviceMultiviewFeatures, 909 VkPhysicalDeviceVariablePointersFeatures, 910 VkPhysicalDeviceProtectedMemoryFeatures, 911 VkPhysicalDeviceSamplerYcbcrConversionFeatures, 912 VkPhysicalDeviceShaderDrawParameterFeatures, 913] 914 915# List of all the structures for vkjson 916ALL_STRUCTS = [ 917 VkPhysicalDeviceFloatControlsPropertiesKHR, 918 VkPhysicalDeviceProperties, 919 VkPhysicalDeviceMemoryProperties, 920 VkPhysicalDeviceSubgroupProperties, 921 VkPhysicalDevicePointClippingProperties, 922 VkPhysicalDeviceMultiviewProperties, 923 VkPhysicalDeviceIDProperties, 924 VkPhysicalDeviceMaintenance3Properties, 925 VkPhysicalDeviceSparseProperties, 926 VkImageFormatProperties, 927 VkQueueFamilyProperties, 928 VkExtensionProperties, 929 VkLayerProperties, 930 VkFormatProperties, 931 VkPhysicalDeviceVariablePointerFeaturesKHR, 932 VkPhysicalDeviceVariablePointersFeaturesKHR, 933 VkPhysicalDeviceShaderFloat16Int8FeaturesKHR, 934 VkPhysicalDeviceFloat16Int8FeaturesKHR, 935 VkPhysicalDeviceImage2DViewOf3DFeaturesEXT, 936 VkPhysicalDeviceCustomBorderColorFeaturesEXT, 937 VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT, 938 VkPhysicalDeviceProvokingVertexFeaturesEXT, 939 VkPhysicalDeviceIndexTypeUint8FeaturesKHR, 940 VkPhysicalDeviceIndexTypeUint8FeaturesEXT, 941 VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR, 942 VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT, 943 VkPhysicalDeviceTransformFeedbackFeaturesEXT, 944 VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR, 945 VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR, 946 VkPhysicalDevice8BitStorageFeaturesKHR, 947 VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR, 948 VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG, 949 VkPhysicalDeviceLineRasterizationFeaturesKHR, 950 VkPhysicalDeviceLineRasterizationFeaturesEXT, 951 VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT, 952 VkPhysicalDevice16BitStorageFeatures, 953 VkPhysicalDeviceMultiviewFeatures, 954 VkPhysicalDeviceProtectedMemoryFeatures, 955 VkPhysicalDeviceSamplerYcbcrConversionFeatures, 956 VkPhysicalDeviceShaderDrawParameterFeatures, 957 VkPhysicalDeviceLimits, 958 VkPhysicalDeviceFeatures, 959 VkPhysicalDeviceVulkan11Properties, 960 VkPhysicalDeviceVulkan11Features, 961 VkPhysicalDeviceVulkan12Properties, 962 VkPhysicalDeviceVulkan12Features, 963 VkPhysicalDeviceVulkan13Properties, 964 VkPhysicalDeviceVulkan13Features, 965 VkPhysicalDeviceVulkan14Properties, 966 VkPhysicalDeviceVulkan14Features, 967 VkPhysicalDeviceDriverProperties, 968] 969