blob: a68a99dda7f7e5094207496d0d18d5124a5341f4 [file] [log] [blame] [edit]
import ctypes
import dataclasses
import enum
from typing import List
dataclass = dataclasses.dataclass
Enum = enum.Enum
# TODO(b/401184058): Automate this file for generating the vulkan structs graph from vk.xml
VK_UUID_SIZE = 16
VK_LUID_SIZE = 16
VkImageLayout = Enum
uint8_t = ctypes.c_uint8
uint32_t = ctypes.c_uint32
VkFlags = uint32_t
VkMemoryPropertyFlags = VkFlags
VkMemoryHeapFlags = VkFlags
int32_t = int
uint64_t = ctypes.c_uint64
VkBool32 = bool
VkDeviceSize = ctypes.c_uint64
size_t = int
VkSampleCountFlags = ctypes.c_uint32
VkFormatFeatureFlags = ctypes.c_uint32
VkQueueFlags = ctypes.c_uint32
VkShaderStageFlags = ctypes.c_uint32
VkSubgroupFeatureFlags = ctypes.c_uint32
VkResolveModeFlags = ctypes.c_uint32
float_t = ctypes.c_float
VkShaderFloatControlsIndependence = Enum
VkPointClippingBehavior = Enum
VkPhysicalDeviceType = Enum
VkDriverId = Enum
VkPipelineRobustnessBufferBehavior = Enum
@dataclass
class ConformanceVersion:
major: uint8_t
minor: uint8_t
subminor: uint8_t
patch: uint8_t
@dataclass
class VkExtent3D:
width: uint32_t
height: uint32_t
depth: uint32_t
@dataclass
class VkPhysicalDeviceLimits:
maxImageDimension1D: uint32_t
maxImageDimension2D: uint32_t
maxImageDimension3D: uint32_t
maxImageDimensionCube: uint32_t
maxImageArrayLayers: uint32_t
maxTexelBufferElements: uint32_t
maxUniformBufferRange: uint32_t
maxStorageBufferRange: uint32_t
maxPushConstantsSize: uint32_t
maxMemoryAllocationCount: uint32_t
maxSamplerAllocationCount: uint32_t
bufferImageGranularity: VkDeviceSize
sparseAddressSpaceSize: VkDeviceSize
maxBoundDescriptorSets: uint32_t
maxPerStageDescriptorSamplers: uint32_t
maxPerStageDescriptorUniformBuffers: uint32_t
maxPerStageDescriptorStorageBuffers: uint32_t
maxPerStageDescriptorSampledImages: uint32_t
maxPerStageDescriptorStorageImages: uint32_t
maxPerStageDescriptorInputAttachments: uint32_t
maxPerStageResources: uint32_t
maxDescriptorSetSamplers: uint32_t
maxDescriptorSetUniformBuffers: uint32_t
maxDescriptorSetUniformBuffersDynamic: uint32_t
maxDescriptorSetStorageBuffers: uint32_t
maxDescriptorSetStorageBuffersDynamic: uint32_t
maxDescriptorSetSampledImages: uint32_t
maxDescriptorSetStorageImages: uint32_t
maxDescriptorSetInputAttachments: uint32_t
maxVertexInputAttributes: uint32_t
maxVertexInputBindings: uint32_t
maxVertexInputAttributeOffset: uint32_t
maxVertexInputBindingStride: uint32_t
maxVertexOutputComponents: uint32_t
maxTessellationGenerationLevel: uint32_t
maxTessellationPatchSize: uint32_t
maxTessellationControlPerVertexInputComponents: uint32_t
maxTessellationControlPerVertexOutputComponents: uint32_t
maxTessellationControlPerPatchOutputComponents: uint32_t
maxTessellationControlTotalOutputComponents: uint32_t
maxTessellationEvaluationInputComponents: uint32_t
maxTessellationEvaluationOutputComponents: uint32_t
maxGeometryShaderInvocations: uint32_t
maxGeometryInputComponents: uint32_t
maxGeometryOutputComponents: uint32_t
maxGeometryOutputVertices: uint32_t
maxGeometryTotalOutputComponents: uint32_t
maxFragmentInputComponents: uint32_t
maxFragmentOutputAttachments: uint32_t
maxFragmentDualSrcAttachments: uint32_t
maxFragmentCombinedOutputResources: uint32_t
maxComputeSharedMemorySize: uint32_t
maxComputeWorkGroupCount: uint32_t*3
maxComputeWorkGroupInvocations: uint32_t
maxComputeWorkGroupSize: uint32_t*3
subPixelPrecisionBits: uint32_t
subTexelPrecisionBits: uint32_t
mipmapPrecisionBits: uint32_t
maxDrawIndexedIndexValue: uint32_t
maxDrawIndirectCount: uint32_t
maxSamplerLodBias: float
maxSamplerAnisotropy: float
maxViewports: uint32_t
maxViewportDimensions: uint32_t*2
viewportBoundsRange: float_t*2
viewportSubPixelBits: uint32_t
minMemoryMapAlignment: size_t
minTexelBufferOffsetAlignment: VkDeviceSize
minUniformBufferOffsetAlignment: VkDeviceSize
minStorageBufferOffsetAlignment: VkDeviceSize
minTexelOffset: int32_t
maxTexelOffset: uint32_t
minTexelGatherOffset: int32_t
maxTexelGatherOffset: uint32_t
minInterpolationOffset: float
maxInterpolationOffset: float
subPixelInterpolationOffsetBits: uint32_t
maxFramebufferWidth: uint32_t
maxFramebufferHeight: uint32_t
maxFramebufferLayers: uint32_t
framebufferColorSampleCounts: VkSampleCountFlags
framebufferDepthSampleCounts: VkSampleCountFlags
framebufferStencilSampleCounts: VkSampleCountFlags
framebufferNoAttachmentsSampleCounts: VkSampleCountFlags
maxColorAttachments: uint32_t
sampledImageColorSampleCounts: VkSampleCountFlags
sampledImageIntegerSampleCounts: VkSampleCountFlags
sampledImageDepthSampleCounts: VkSampleCountFlags
sampledImageStencilSampleCounts: VkSampleCountFlags
storageImageSampleCounts: VkSampleCountFlags
maxSampleMaskWords: uint32_t
timestampComputeAndGraphics: VkBool32
timestampPeriod: float
maxClipDistances: uint32_t
maxCullDistances: uint32_t
maxCombinedClipAndCullDistances: uint32_t
discreteQueuePriorities: uint32_t
pointSizeRange: float_t*2
lineWidthRange: float_t*2
pointSizeGranularity: float
lineWidthGranularity: float
strictLines: VkBool32
standardSampleLocations: VkBool32
optimalBufferCopyOffsetAlignment: VkDeviceSize
optimalBufferCopyRowPitchAlignment: VkDeviceSize
nonCoherentAtomSize: VkDeviceSize
@dataclass
class VkPhysicalDeviceShaderDrawParameterFeatures:
shaderDrawParameters: VkBool32
@dataclass
class VkExtensionProperties:
extensionName: str
specVersion: uint32_t
@dataclass
class VkFormatProperties:
linearTilingFeatures: VkFormatFeatureFlags
optimalTilingFeatures: VkFormatFeatureFlags
bufferFeatures: VkFormatFeatureFlags
@dataclass
class VkLayerProperties:
layerName: str
specVersion: uint32_t
implementationVersion: uint32_t
description: str
@dataclass
class VkQueueFamilyProperties:
queueFlags: VkQueueFlags
queueCount: uint32_t
timestampValidBits: uint32_t
minImageTransferGranularity: VkExtent3D
@dataclass
class VkPhysicalDeviceSparseProperties:
residencyStandard2DBlockShape: VkBool32
residencyStandard2DMultisampleBlockShape: VkBool32
residencyStandard3DBlockShape: VkBool32
residencyAlignedMipSize: VkBool32
residencyNonResidentStrict: VkBool32
@dataclass
class VkImageFormatProperties:
maxExtent: VkExtent3D
maxMipLevels: uint32_t
maxArrayLayers: uint32_t
sampleCounts: VkSampleCountFlags
maxResourceSize: VkDeviceSize
@dataclass
class VkPhysicalDeviceSamplerYcbcrConversionFeatures:
samplerYcbcrConversion: VkBool32
@dataclass
class VkPhysicalDeviceIDProperties:
deviceUUID: uint8_t*VK_UUID_SIZE
driverUUID: uint8_t*VK_UUID_SIZE
deviceLUID: uint8_t*VK_LUID_SIZE
deviceNodeMask: uint32_t
deviceLUIDValid: VkBool32
@dataclass
class VkPhysicalDeviceMaintenance3Properties:
maxPerSetDescriptors: uint32_t
maxMemoryAllocationSize: VkDeviceSize
@dataclass
class VkPhysicalDevice16BitStorageFeatures:
storageBuffer16BitAccess: VkBool32
uniformAndStorageBuffer16BitAccess: VkBool32
storagePushConstant16: VkBool32
storageInputOutput16: VkBool32
@dataclass
class VkPhysicalDeviceMultiviewFeatures:
multiview: VkBool32
multiviewGeometryShader: VkBool32
multiviewTessellationShader: VkBool32
@dataclass
class VkPhysicalDeviceSubgroupProperties:
subgroupSize: uint32_t
supportedStages: VkShaderStageFlags
supportedOperations: VkSubgroupFeatureFlags
quadOperationsInAllStages: VkBool32
@dataclass
class VkPhysicalDevicePointClippingProperties:
pointClippingBehavior: VkPointClippingBehavior
@dataclass
class VkPhysicalDeviceMultiviewProperties:
maxMultiviewViewCount: uint32_t
maxMultiviewInstanceIndex: uint32_t
@dataclass
class VkMemoryType:
propertyFlags: VkMemoryPropertyFlags
heapIndex: uint32_t
@dataclass
class VkMemoryHeap:
size: VkDeviceSize
flags: VkMemoryHeapFlags
@dataclass
class VkPhysicalDeviceMemoryProperties:
memoryTypeCount: uint32_t
memoryTypes: List[VkMemoryType]
memoryHeapCount: uint32_t
memoryHeaps: List[VkMemoryHeap]
@dataclass
class VkPhysicalDeviceProperties:
apiVersion: uint32_t
driverVersion: uint32_t
vendorID: uint32_t
deviceID: uint32_t
deviceType: VkPhysicalDeviceType
deviceName: str
pipelineCacheUUID: uint8_t
limits: VkPhysicalDeviceLimits
sparseProperties: VkPhysicalDeviceSparseProperties
@dataclass
class VkPhysicalDeviceFeatures:
robustBufferAccess: VkBool32
fullDrawIndexUint32: VkBool32
imageCubeArray: VkBool32
independentBlend: VkBool32
geometryShader: VkBool32
tessellationShader: VkBool32
sampleRateShading: VkBool32
dualSrcBlend: VkBool32
logicOp: VkBool32
multiDrawIndirect: VkBool32
drawIndirectFirstInstance: VkBool32
depthClamp: VkBool32
depthBiasClamp: VkBool32
fillModeNonSolid: VkBool32
depthBounds: VkBool32
wideLines: VkBool32
largePoints: VkBool32
alphaToOne: VkBool32
multiViewport: VkBool32
samplerAnisotropy: VkBool32
textureCompressionETC2: VkBool32
textureCompressionASTC_LDR: VkBool32
textureCompressionBC: VkBool32
occlusionQueryPrecise: VkBool32
pipelineStatisticsQuery: VkBool32
vertexPipelineStoresAndAtomics: VkBool32
fragmentStoresAndAtomics: VkBool32
shaderTessellationAndGeometryPointSize: VkBool32
shaderImageGatherExtended: VkBool32
shaderStorageImageExtendedFormats: VkBool32
shaderStorageImageMultisample: VkBool32
shaderStorageImageReadWithoutFormat: VkBool32
shaderStorageImageWriteWithoutFormat: VkBool32
shaderUniformBufferArrayDynamicIndexing: VkBool32
shaderSampledImageArrayDynamicIndexing: VkBool32
shaderStorageBufferArrayDynamicIndexing: VkBool32
shaderStorageImageArrayDynamicIndexing: VkBool32
shaderClipDistance: VkBool32
shaderCullDistance: VkBool32
shaderFloat64: VkBool32
shaderInt64: VkBool32
shaderInt16: VkBool32
shaderResourceResidency: VkBool32
shaderResourceMinLod: VkBool32
sparseBinding: VkBool32
sparseResidencyBuffer: VkBool32
sparseResidencyImage2D: VkBool32
sparseResidencyImage3D: VkBool32
sparseResidency2Samples: VkBool32
sparseResidency4Samples: VkBool32
sparseResidency8Samples: VkBool32
sparseResidency16Samples: VkBool32
sparseResidencyAliased: VkBool32
variableMultisampleRate: VkBool32
inheritedQueries: VkBool32
@dataclass
class VkPhysicalDeviceShaderFloat16Int8Features:
shaderFloat16: VkBool32
shaderInt8: VkBool32
@dataclass
class VkPhysicalDeviceProtectedMemoryFeatures:
protectedMemory: VkBool32
@dataclass
class VkPhysicalDeviceVariablePointersFeatures:
variablePointersStorageBuffer: VkBool32
variablePointers: VkBool32
@dataclass
class VkPhysicalDeviceImage2DViewOf3DFeaturesEXT:
image2DViewOf3D: VkBool32
sampler2DViewOf3D: VkBool32
@dataclass
class VkPhysicalDeviceCustomBorderColorFeaturesEXT:
customBorderColors: VkBool32
customBorderColorWithoutFormat: VkBool32
@dataclass
class VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT:
primitiveTopologyListRestart: VkBool32
primitiveTopologyPatchListRestart: VkBool32
@dataclass
class VkPhysicalDeviceProvokingVertexFeaturesEXT:
provokingVertexLast: VkBool32
transformFeedbackPreservesProvokingVertex: VkBool32
@dataclass
class VkPhysicalDeviceIndexTypeUint8Features:
indexTypeUint8: VkBool32
@dataclass
class VkPhysicalDeviceVertexAttributeDivisorFeatures:
vertexAttributeInstanceRateDivisor: VkBool32
vertexAttributeInstanceRateZeroDivisor: VkBool32
@dataclass
class VkPhysicalDeviceTransformFeedbackFeaturesEXT:
transformFeedback: VkBool32
geometryStreams: VkBool32
@dataclass
class VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR:
shaderSubgroupUniformControlFlow: VkBool32
@dataclass
class VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures:
shaderSubgroupExtendedTypes: VkBool32
@dataclass
class VkPhysicalDevice8BitStorageFeatures:
storageBuffer8BitAccess: VkBool32
uniformAndStorageBuffer8BitAccess: VkBool32
storagePushConstant8: VkBool32
@dataclass
class VkPhysicalDeviceShaderIntegerDotProductFeatures:
shaderIntegerDotProduct: VkBool32
@dataclass
class VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG:
relaxedLineRasterization: VkBool32
@dataclass
class VkPhysicalDeviceLineRasterizationFeatures:
rectangularLines: VkBool32
bresenhamLines: VkBool32
smoothLines: VkBool32
stippledRectangularLines: VkBool32
stippledBresenhamLines: VkBool32
stippledSmoothLines: VkBool32
@dataclass
class VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT:
primitivesGeneratedQuery: VkBool32
primitivesGeneratedQueryWithRasterizerDiscard: VkBool32
primitivesGeneratedQueryWithNonZeroStreams: VkBool32
@dataclass
class VkPhysicalDeviceFloatControlsProperties:
denormBehaviorIndependence : VkShaderFloatControlsIndependence
roundingModeIndependence : VkShaderFloatControlsIndependence
shaderSignedZeroInfNanPreserveFloat16 : VkBool32
shaderSignedZeroInfNanPreserveFloat32 : VkBool32
shaderSignedZeroInfNanPreserveFloat64 : VkBool32
shaderDenormPreserveFloat16 : VkBool32
shaderDenormPreserveFloat32 : VkBool32
shaderDenormPreserveFloat64 : VkBool32
shaderDenormFlushToZeroFloat16 : VkBool32
shaderDenormFlushToZeroFloat32 : VkBool32
shaderDenormFlushToZeroFloat64 : VkBool32
shaderRoundingModeRTEFloat16 : VkBool32
shaderRoundingModeRTEFloat32 : VkBool32
shaderRoundingModeRTEFloat64 :VkBool32
shaderRoundingModeRTZFloat16 : VkBool32
shaderRoundingModeRTZFloat32 : VkBool32
shaderRoundingModeRTZFloat64 : VkBool32
@dataclass
class VkPhysicalDeviceVulkan11Properties:
deviceUUID : uint8_t*VK_UUID_SIZE
driverUUID : uint8_t*VK_UUID_SIZE
deviceLUID : uint8_t*VK_LUID_SIZE
deviceNodeMask : uint32_t
deviceLUIDValid : VkBool32
subgroupSize : uint32_t
subgroupSupportedStages : VkShaderStageFlags
subgroupSupportedOperations : VkSubgroupFeatureFlags
subgroupQuadOperationsInAllStages : VkBool32
pointClippingBehavior : VkPointClippingBehavior
maxMultiviewViewCount : uint32_t
maxMultiviewInstanceIndex :uint32_t
protectedNoFault : VkBool32
maxPerSetDescriptors : uint32_t
maxMemoryAllocationSize : VkDeviceSize
@dataclass
class VkPhysicalDeviceVulkan11Features:
storageBuffer16BitAccess: VkBool32
uniformAndStorageBuffer16BitAccess: VkBool32
storagePushConstant16: VkBool32
storageInputOutput16: VkBool32
multiview: VkBool32
multiviewGeometryShader: VkBool32
multiviewTessellationShader: VkBool32
variablePointersStorageBuffer: VkBool32
variablePointers: VkBool32
protectedMemory: VkBool32
samplerYcbcrConversion: VkBool32
shaderDrawParameters: VkBool32
@dataclass
class VkPhysicalDeviceVulkan12Properties:
driverID: VkDriverId
driverName: str
driverInfo: str
conformanceVersion: ConformanceVersion
denormBehaviorIndependence: VkShaderFloatControlsIndependence
roundingModeIndependence: VkShaderFloatControlsIndependence
shaderSignedZeroInfNanPreserveFloat16: VkBool32
shaderSignedZeroInfNanPreserveFloat32: VkBool32
shaderSignedZeroInfNanPreserveFloat64: VkBool32
shaderDenormPreserveFloat16: VkBool32
shaderDenormPreserveFloat32: VkBool32
shaderDenormPreserveFloat64: VkBool32
shaderDenormFlushToZeroFloat16: VkBool32
shaderDenormFlushToZeroFloat32: VkBool32
shaderDenormFlushToZeroFloat64: VkBool32
shaderRoundingModeRTEFloat16: VkBool32
shaderRoundingModeRTEFloat32: VkBool32
shaderRoundingModeRTEFloat64: VkBool32
shaderRoundingModeRTZFloat16: VkBool32
shaderRoundingModeRTZFloat32: VkBool32
shaderRoundingModeRTZFloat64: VkBool32
maxUpdateAfterBindDescriptorsInAllPools: uint32_t
shaderUniformBufferArrayNonUniformIndexingNative: VkBool32
shaderSampledImageArrayNonUniformIndexingNative: VkBool32
shaderStorageBufferArrayNonUniformIndexingNative: VkBool32
shaderStorageImageArrayNonUniformIndexingNative: VkBool32
shaderInputAttachmentArrayNonUniformIndexingNative: VkBool32
robustBufferAccessUpdateAfterBind: VkBool32
quadDivergentImplicitLod: VkBool32
maxPerStageDescriptorUpdateAfterBindSamplers: uint32_t
maxPerStageDescriptorUpdateAfterBindUniformBuffers: uint32_t
maxPerStageDescriptorUpdateAfterBindStorageBuffers: uint32_t
maxPerStageDescriptorUpdateAfterBindSampledImages: uint32_t
maxPerStageDescriptorUpdateAfterBindStorageImages: uint32_t
maxPerStageDescriptorUpdateAfterBindInputAttachments: uint32_t
maxPerStageUpdateAfterBindResources: uint32_t
maxDescriptorSetUpdateAfterBindSamplers: uint32_t
maxDescriptorSetUpdateAfterBindUniformBuffers: uint32_t
maxDescriptorSetUpdateAfterBindUniformBuffersDynamic: uint32_t
maxDescriptorSetUpdateAfterBindStorageBuffers: uint32_t
maxDescriptorSetUpdateAfterBindStorageBuffersDynamic: uint32_t
maxDescriptorSetUpdateAfterBindSampledImages: uint32_t
maxDescriptorSetUpdateAfterBindStorageImages: uint32_t
maxDescriptorSetUpdateAfterBindInputAttachments: uint32_t
supportedDepthResolveModes: VkResolveModeFlags
supportedStencilResolveModes: VkResolveModeFlags
independentResolveNone: VkBool32
independentResolve: VkBool32
filterMinmaxSingleComponentFormats: VkBool32
filterMinmaxImageComponentMapping: VkBool32
maxTimelineSemaphoreValueDifference: uint64_t
framebufferIntegerColorSampleCounts: VkSampleCountFlags
@dataclass
class VkPhysicalDeviceVulkan12Features:
samplerMirrorClampToEdge: VkBool32
drawIndirectCount: VkBool32
storageBuffer8BitAccess: VkBool32
uniformAndStorageBuffer8BitAccess: VkBool32
storagePushConstant8: VkBool32
shaderBufferInt64Atomics: VkBool32
shaderSharedInt64Atomics: VkBool32
shaderFloat16: VkBool32
shaderInt8: VkBool32
descriptorIndexing: VkBool32
shaderInputAttachmentArrayDynamicIndexing: VkBool32
shaderUniformTexelBufferArrayDynamicIndexing: VkBool32
shaderStorageTexelBufferArrayDynamicIndexing: VkBool32
shaderUniformBufferArrayNonUniformIndexing: VkBool32
shaderSampledImageArrayNonUniformIndexing: VkBool32
shaderStorageBufferArrayNonUniformIndexing: VkBool32
shaderStorageImageArrayNonUniformIndexing: VkBool32
shaderInputAttachmentArrayNonUniformIndexing: VkBool32
shaderUniformTexelBufferArrayNonUniformIndexing: VkBool32
shaderStorageTexelBufferArrayNonUniformIndexing: VkBool32
descriptorBindingUniformBufferUpdateAfterBind: VkBool32
descriptorBindingSampledImageUpdateAfterBind: VkBool32
descriptorBindingStorageImageUpdateAfterBind: VkBool32
descriptorBindingStorageBufferUpdateAfterBind: VkBool32
descriptorBindingUniformTexelBufferUpdateAfterBind: VkBool32
descriptorBindingStorageTexelBufferUpdateAfterBind: VkBool32
descriptorBindingUpdateUnusedWhilePending: VkBool32
descriptorBindingPartiallyBound: VkBool32
descriptorBindingVariableDescriptorCount: VkBool32
runtimeDescriptorArray: VkBool32
samplerFilterMinmax: VkBool32
scalarBlockLayout: VkBool32
imagelessFramebuffer: VkBool32
uniformBufferStandardLayout: VkBool32
shaderSubgroupExtendedTypes: VkBool32
separateDepthStencilLayouts: VkBool32
hostQueryReset: VkBool32
timelineSemaphore: VkBool32
bufferDeviceAddress: VkBool32
bufferDeviceAddressCaptureReplay: VkBool32
bufferDeviceAddressMultiDevice: VkBool32
vulkanMemoryModel: VkBool32
vulkanMemoryModelDeviceScope: VkBool32
vulkanMemoryModelAvailabilityVisibilityChains: VkBool32
shaderOutputViewportIndex: VkBool32
shaderOutputLayer: VkBool32
subgroupBroadcastDynamicId: VkBool32
@dataclass
class VkPhysicalDeviceVulkan13Properties:
minSubgroupSize: uint32_t
maxSubgroupSize: uint32_t
maxComputeWorkgroupSubgroups: uint32_t
requiredSubgroupSizeStages: VkShaderStageFlags
maxInlineUniformBlockSize: uint32_t
maxPerStageDescriptorInlineUniformBlocks: uint32_t
maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks: uint32_t
maxDescriptorSetInlineUniformBlocks: uint32_t
maxDescriptorSetUpdateAfterBindInlineUniformBlocks: uint32_t
maxInlineUniformTotalSize: uint32_t
integerDotProduct8BitUnsignedAccelerated: VkBool32
integerDotProduct8BitSignedAccelerated: VkBool32
integerDotProduct8BitMixedSignednessAccelerated: VkBool32
integerDotProduct4x8BitPackedUnsignedAccelerated: VkBool32
integerDotProduct4x8BitPackedSignedAccelerated: VkBool32
integerDotProduct4x8BitPackedMixedSignednessAccelerated: VkBool32
integerDotProduct16BitUnsignedAccelerated: VkBool32
integerDotProduct16BitSignedAccelerated: VkBool32
integerDotProduct16BitMixedSignednessAccelerated: VkBool32
integerDotProduct32BitUnsignedAccelerated: VkBool32
integerDotProduct32BitSignedAccelerated: VkBool32
integerDotProduct32BitMixedSignednessAccelerated: VkBool32
integerDotProduct64BitUnsignedAccelerated: VkBool32
integerDotProduct64BitSignedAccelerated: VkBool32
integerDotProduct64BitMixedSignednessAccelerated: VkBool32
integerDotProductAccumulatingSaturating8BitUnsignedAccelerated: VkBool32
integerDotProductAccumulatingSaturating8BitSignedAccelerated: VkBool32
integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated: VkBool32
integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated: VkBool32
integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated: VkBool32
integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated: VkBool32
integerDotProductAccumulatingSaturating16BitUnsignedAccelerated: VkBool32
integerDotProductAccumulatingSaturating16BitSignedAccelerated: VkBool32
integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated: VkBool32
integerDotProductAccumulatingSaturating32BitUnsignedAccelerated: VkBool32
integerDotProductAccumulatingSaturating32BitSignedAccelerated: VkBool32
integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated: VkBool32
integerDotProductAccumulatingSaturating64BitUnsignedAccelerated: VkBool32
integerDotProductAccumulatingSaturating64BitSignedAccelerated: VkBool32
integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated: VkBool32
storageTexelBufferOffsetAlignmentBytes: VkDeviceSize
storageTexelBufferOffsetSingleTexelAlignment: VkBool32
uniformTexelBufferOffsetAlignmentBytes: VkDeviceSize
uniformTexelBufferOffsetSingleTexelAlignment: VkBool32
maxBufferSize: VkDeviceSize
@dataclass
class VkPhysicalDeviceVulkan13Features:
robustImageAccess: VkBool32
inlineUniformBlock: VkBool32
descriptorBindingInlineUniformBlockUpdateAfterBind: VkBool32
pipelineCreationCacheControl: VkBool32
privateData: VkBool32
shaderDemoteToHelperInvocation: VkBool32
shaderTerminateInvocation: VkBool32
subgroupSizeControl: VkBool32
computeFullSubgroups: VkBool32
synchronization2: VkBool32
textureCompressionASTC_HDR: VkBool32
shaderZeroInitializeWorkgroupMemory: VkBool32
dynamicRendering: VkBool32
shaderIntegerDotProduct: VkBool32
maintenance4: VkBool32
@dataclass
class VkPhysicalDeviceVulkan14Properties:
lineSubPixelPrecisionBits: uint32_t
maxVertexAttribDivisor: uint32_t
supportsNonZeroFirstInstance: VkBool32
maxPushDescriptors: uint32_t
dynamicRenderingLocalReadDepthStencilAttachments: VkBool32
dynamicRenderingLocalReadMultisampledAttachments: VkBool32
earlyFragmentMultisampleCoverageAfterSampleCounting: VkBool32
earlyFragmentSampleMaskTestBeforeSampleCounting: VkBool32
depthStencilSwizzleOneSupport: VkBool32
polygonModePointSize: VkBool32
nonStrictSinglePixelWideLinesUseParallelogram: VkBool32
nonStrictWideLinesUseParallelogram: VkBool32
blockTexelViewCompatibleMultipleLayers: VkBool32
maxCombinedImageSamplerDescriptorCount: uint32_t
fragmentShadingRateClampCombinerInputs: VkBool32
defaultRobustnessStorageBuffers: VkPipelineRobustnessBufferBehavior
defaultRobustnessUniformBuffers: VkPipelineRobustnessBufferBehavior
defaultRobustnessVertexInputs: VkPipelineRobustnessBufferBehavior
defaultRobustnessImages: VkPipelineRobustnessBufferBehavior
copySrcLayoutCount: uint32_t
pCopySrcLayouts: List[VkImageLayout]
copyDstLayoutCount: uint32_t
pCopyDstLayouts: List[VkImageLayout]
optimalTilingLayoutUUID: uint8_t
identicalMemoryTypeRequirements: VkBool32
@dataclass
class VkPhysicalDeviceVulkan14Features:
globalPriorityQuery: VkBool32
shaderSubgroupRotate: VkBool32
shaderSubgroupRotateClustered: VkBool32
shaderFloatControls2: VkBool32
shaderExpectAssume: VkBool32
rectangularLines: VkBool32
bresenhamLines: VkBool32
smoothLines: VkBool32
stippledRectangularLines: VkBool32
stippledBresenhamLines: VkBool32
stippledSmoothLines: VkBool32
vertexAttributeInstanceRateDivisor: VkBool32
vertexAttributeInstanceRateZeroDivisor: VkBool32
indexTypeUint8: VkBool32
dynamicRenderingLocalRead: VkBool32
maintenance5: VkBool32
maintenance6: VkBool32
pipelineProtectedAccess: VkBool32
pipelineRobustness: VkBool32
hostImageCopy: VkBool32
pushDescriptor: VkBool32
@dataclass
class VkPhysicalDeviceDriverProperties:
driverID: VkDriverId
driverName: str
driverInfo: str
conformanceVersion: ConformanceVersion
# Defining alias for structures
VkPhysicalDeviceLineRasterizationFeaturesEXT = VkPhysicalDeviceLineRasterizationFeatures
VkPhysicalDeviceLineRasterizationFeaturesKHR = VkPhysicalDeviceLineRasterizationFeatures
VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR = VkPhysicalDeviceShaderIntegerDotProductFeatures
VkPhysicalDevice8BitStorageFeaturesKHR = VkPhysicalDevice8BitStorageFeatures
VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR = VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures
VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR = VkPhysicalDeviceVertexAttributeDivisorFeatures
VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT = VkPhysicalDeviceVertexAttributeDivisorFeatures
VkPhysicalDeviceIndexTypeUint8FeaturesKHR = VkPhysicalDeviceIndexTypeUint8Features
VkPhysicalDeviceIndexTypeUint8FeaturesEXT = VkPhysicalDeviceIndexTypeUint8Features
VkPhysicalDeviceVariablePointerFeatures = VkPhysicalDeviceVariablePointersFeatures
VkPhysicalDeviceVariablePointersFeaturesKHR = VkPhysicalDeviceVariablePointersFeatures
VkPhysicalDeviceVariablePointerFeaturesKHR = VkPhysicalDeviceVariablePointersFeatures
VkPhysicalDeviceFloat16Int8FeaturesKHR = VkPhysicalDeviceShaderFloat16Int8Features
VkPhysicalDeviceShaderFloat16Int8FeaturesKHR = VkPhysicalDeviceShaderFloat16Int8Features
VkPhysicalDeviceFloatControlsPropertiesKHR = VkPhysicalDeviceFloatControlsProperties
VkPhysicalDeviceShaderDrawParametersFeatures = VkPhysicalDeviceShaderDrawParameterFeatures
VkPhysicalDeviceDriverPropertiesKHR = VkPhysicalDeviceDriverProperties
# Defining dependency of structures on extensions
VULKAN_EXTENSIONS_AND_STRUCTS_MAPPING = {
"extensions": {
"VK_KHR_variable_pointers": [
{ "VkPhysicalDeviceVariablePointerFeaturesKHR": "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES" },
{ "VkPhysicalDeviceVariablePointersFeaturesKHR" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES"},
],
"VK_KHR_shader_float16_int8": [
{ "VkPhysicalDeviceShaderFloat16Int8FeaturesKHR": "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES" },
{"VkPhysicalDeviceFloat16Int8FeaturesKHR" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES"},
],
"VK_EXT_image_2d_view_of_3d" : [
{"VkPhysicalDeviceImage2DViewOf3DFeaturesEXT" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT"},
],
"VK_EXT_custom_border_color" : [
{"VkPhysicalDeviceCustomBorderColorFeaturesEXT" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT"},
],
"VK_EXT_primitive_topology_list_restart": [
{"VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT"},
],
"VK_EXT_provoking_vertex" : [
{"VkPhysicalDeviceProvokingVertexFeaturesEXT" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT"},
],
"VK_KHR_index_type_uint8" : [
{"VkPhysicalDeviceIndexTypeUint8FeaturesKHR" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES"},
],
"VK_EXT_index_type_uint8" : [
{"VkPhysicalDeviceIndexTypeUint8FeaturesEXT" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES"},
],
"VK_KHR_vertex_attribute_divisor" : [
{"VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES"},
],
"VK_EXT_vertex_attribute_divisor" : [
{"VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES"},
],
"VK_EXT_transform_feedback" : [
{"VkPhysicalDeviceTransformFeedbackFeaturesEXT" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT"},
],
"VK_KHR_shader_subgroup_uniform_control_flow" : [
{"VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR"},
],
"VK_KHR_shader_subgroup_extended_types" : [
{"VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES"},
],
"VK_KHR_8bit_storage" : [
{"VkPhysicalDevice8BitStorageFeaturesKHR" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES"},
],
"VK_KHR_shader_integer_dot_product" : [
{"VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES"},
],
"VK_IMG_relaxed_line_rasterization" : [
{"VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RELAXED_LINE_RASTERIZATION_FEATURES_IMG"},
],
"VK_KHR_line_rasterization" : [
{"VkPhysicalDeviceLineRasterizationFeaturesKHR" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES"},
],
"VK_EXT_line_rasterization" : [
{"VkPhysicalDeviceLineRasterizationFeaturesEXT" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES"},
],
"VK_EXT_primitives_generated_query" : [
{"VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT"},
],
"VK_KHR_shader_float_controls" : [
{"VkPhysicalDeviceFloatControlsPropertiesKHR" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES"},
],
"VK_KHR_driver_properties" : [
{"VkPhysicalDeviceDriverPropertiesKHR" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES"},
]
}
}
# Defining dependency of structures on vulkan cores
VULKAN_CORES_AND_STRUCTS_MAPPING = {
"versions" : {
"Core11" : [
{"VkPhysicalDeviceVulkan11Properties" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES"},
{"VkPhysicalDeviceVulkan11Features" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES"},
],
"Core12" : [
{"VkPhysicalDeviceVulkan12Properties" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES"},
{"VkPhysicalDeviceVulkan12Features" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES"},
],
"Core13" : [
{"VkPhysicalDeviceVulkan13Properties" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES"},
{"VkPhysicalDeviceVulkan13Features" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES"},
],
"Core14" : [
{"VkPhysicalDeviceVulkan14Properties" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_PROPERTIES"},
{"VkPhysicalDeviceVulkan14Features" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_FEATURES"},
]
}
}
# Defining map for list type members mapped to its size
LIST_TYPE_FIELD_AND_SIZE_MAPPING = {
"pCopySrcLayouts": "copySrcLayoutCount",
"pCopyDstLayouts": "copyDstLayoutCount",
"memoryTypes": "memoryTypeCount",
"memoryHeaps": "memoryHeapCount",
}
# Defining dependency of structures on vulkan api version
VULKAN_VERSIONS_AND_STRUCTS_MAPPING = {
"VK_VERSION_1_0" : [
{"VkPhysicalDeviceProperties" : "" },
{"VkPhysicalDeviceFeatures" : ""},
{"VkPhysicalDeviceMemoryProperties" : ""},
],
"VK_VERSION_1_1" : [
{"VkPhysicalDeviceSubgroupProperties" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES"},
{"VkPhysicalDevicePointClippingProperties" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES"},
{"VkPhysicalDeviceMultiviewProperties" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES"},
{"VkPhysicalDeviceIDProperties" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES"},
{"VkPhysicalDeviceMaintenance3Properties" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES"},
{"VkPhysicalDeviceMultiviewFeatures" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES"},
{"VkPhysicalDeviceVariablePointersFeatures" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES"},
{"VkPhysicalDeviceProtectedMemoryFeatures" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES"},
{"VkPhysicalDeviceSamplerYcbcrConversionFeatures" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES"},
{"VkPhysicalDeviceShaderDrawParameterFeatures" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES"},
{"VkPhysicalDevice16BitStorageFeatures" : "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES"},
]
}
# List of structures that are not dependent on extensions
EXTENSION_INDEPENDENT_STRUCTS = [
VkPhysicalDeviceProperties,
VkPhysicalDeviceFeatures,
VkPhysicalDeviceMemoryProperties,
VkPhysicalDeviceSubgroupProperties,
VkPhysicalDevicePointClippingProperties,
VkPhysicalDeviceMultiviewProperties,
VkPhysicalDeviceIDProperties,
VkPhysicalDeviceMaintenance3Properties,
VkPhysicalDevice16BitStorageFeatures,
VkPhysicalDeviceMultiviewFeatures,
VkPhysicalDeviceVariablePointersFeatures,
VkPhysicalDeviceProtectedMemoryFeatures,
VkPhysicalDeviceSamplerYcbcrConversionFeatures,
VkPhysicalDeviceShaderDrawParameterFeatures,
]
# List of all the structures for vkjson
ALL_STRUCTS = [
VkPhysicalDeviceFloatControlsPropertiesKHR,
VkPhysicalDeviceProperties,
VkPhysicalDeviceMemoryProperties,
VkPhysicalDeviceSubgroupProperties,
VkPhysicalDevicePointClippingProperties,
VkPhysicalDeviceMultiviewProperties,
VkPhysicalDeviceIDProperties,
VkPhysicalDeviceMaintenance3Properties,
VkPhysicalDeviceSparseProperties,
VkImageFormatProperties,
VkQueueFamilyProperties,
VkExtensionProperties,
VkLayerProperties,
VkFormatProperties,
VkPhysicalDeviceVariablePointerFeaturesKHR,
VkPhysicalDeviceVariablePointersFeaturesKHR,
VkPhysicalDeviceShaderFloat16Int8FeaturesKHR,
VkPhysicalDeviceFloat16Int8FeaturesKHR,
VkPhysicalDeviceImage2DViewOf3DFeaturesEXT,
VkPhysicalDeviceCustomBorderColorFeaturesEXT,
VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
VkPhysicalDeviceProvokingVertexFeaturesEXT,
VkPhysicalDeviceIndexTypeUint8FeaturesKHR,
VkPhysicalDeviceIndexTypeUint8FeaturesEXT,
VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR,
VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT,
VkPhysicalDeviceTransformFeedbackFeaturesEXT,
VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR,
VkPhysicalDevice8BitStorageFeaturesKHR,
VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR,
VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG,
VkPhysicalDeviceLineRasterizationFeaturesKHR,
VkPhysicalDeviceLineRasterizationFeaturesEXT,
VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT,
VkPhysicalDevice16BitStorageFeatures,
VkPhysicalDeviceMultiviewFeatures,
VkPhysicalDeviceProtectedMemoryFeatures,
VkPhysicalDeviceSamplerYcbcrConversionFeatures,
VkPhysicalDeviceShaderDrawParameterFeatures,
VkPhysicalDeviceLimits,
VkPhysicalDeviceFeatures,
VkPhysicalDeviceVulkan11Properties,
VkPhysicalDeviceVulkan11Features,
VkPhysicalDeviceVulkan12Properties,
VkPhysicalDeviceVulkan12Features,
VkPhysicalDeviceVulkan13Properties,
VkPhysicalDeviceVulkan13Features,
VkPhysicalDeviceVulkan14Properties,
VkPhysicalDeviceVulkan14Features,
VkPhysicalDeviceDriverProperties,
]