diff options
Diffstat (limited to 'registry')
-rw-r--r-- | registry/generator.py | 15 | ||||
-rwxr-xr-x | registry/genvk.py | 11 | ||||
-rw-r--r-- | registry/reg.py | 45 | ||||
-rw-r--r-- | registry/validusage.json | 534 | ||||
-rw-r--r-- | registry/vk.xml | 1451 |
5 files changed, 1920 insertions, 136 deletions
diff --git a/registry/generator.py b/registry/generator.py index 7649be1..cb845a0 100644 --- a/registry/generator.py +++ b/registry/generator.py @@ -122,6 +122,7 @@ class GeneratorOptions: removeExtensions=None, emitExtensions=None, emitSpirv=None, + emitFormats=None, reparentEnums=True, sortProcedure=regSortFeatures, requireCommandAliases=False, @@ -157,6 +158,8 @@ class GeneratorOptions: to None. - emitSpirv - regex matching names of extensions and capabilities to actually emit interfaces for. + - emitFormats - regex matching names of formats to actually emit + interfaces for. - reparentEnums - move <enum> elements which extend an enumerated type from <feature> or <extension> elements to the target <enums> element. This is required for almost all purposes, but the @@ -222,6 +225,10 @@ class GeneratorOptions: """regex matching names of extensions and capabilities to actually emit interfaces for.""" + self.emitFormats = self.emptyRegex(emitFormats) + """regex matching names of formats + to actually emit interfaces for.""" + self.reparentEnums = reparentEnums """boolean specifying whether to remove <enum> elements from <feature> or <extension> when extending an <enums> type.""" @@ -906,6 +913,14 @@ class OutputGenerator: Extend to generate as desired in your derived class.""" return + def genFormat(self, format, formatinfo, alias): + """Generate interface for a format element. + + - formatinfo - FormatInfo + + Extend to generate as desired in your derived class.""" + return + def makeProtoName(self, name, tail): """Turn a `<proto>` `<name>` into C-language prototype and typedef declarations for that name. diff --git a/registry/genvk.py b/registry/genvk.py index aba1804..bc22127 100755 --- a/registry/genvk.py +++ b/registry/genvk.py @@ -78,6 +78,9 @@ def makeGenOpts(args): # SPIR-V capabilities / features to emit (list of extensions & capabilities) emitSpirv = args.emitSpirv + # Vulkan Formats to emit + emitFormats = args.emitFormats + # Features to include (list of features) features = args.feature @@ -98,13 +101,14 @@ def makeGenOpts(args): # Descriptive names for various regexp patterns used to select # versions and extensions - allSpirv = allFeatures = allExtensions = r'.*' + allFormats = allSpirv = allFeatures = allExtensions = r'.*' # Turn lists of names/patterns into matching regular expressions addExtensionsPat = makeREstring(extensions, None) removeExtensionsPat = makeREstring(removeExtensions, None) emitExtensionsPat = makeREstring(emitExtensions, allExtensions) emitSpirvPat = makeREstring(emitSpirv, allSpirv) + emitFormatsPat = makeREstring(emitFormats, allFormats) featuresPat = makeREstring(features, allFeatures) # Copyright text prefixing all headers (list of strings). @@ -578,6 +582,8 @@ def genTarget(args): logDiag('* options.addExtensions =', options.addExtensions) logDiag('* options.removeExtensions =', options.removeExtensions) logDiag('* options.emitExtensions =', options.emitExtensions) + logDiag('* options.emitSpirv =', options.emitSpirv) + logDiag('* options.emitFormats =', options.emitFormats) gen = createGenerator(errFile=errWarn, warnFile=errWarn, @@ -610,6 +616,9 @@ if __name__ == '__main__': parser.add_argument('-emitSpirv', action='append', default=[], help='Specify a SPIR-V extension or capability to emit in targets') + parser.add_argument('-emitFormats', action='append', + default=[], + help='Specify Vulkan Formats to emit in targets') parser.add_argument('-feature', action='append', default=[], help='Specify a core API feature name or names to add to targets') diff --git a/registry/reg.py b/registry/reg.py index 254cfbd..e8de774 100644 --- a/registry/reg.py +++ b/registry/reg.py @@ -260,6 +260,12 @@ class SpirvInfo(BaseInfo): def __init__(self, elem): BaseInfo.__init__(self, elem) +class FormatInfo(BaseInfo): + """Registry information about an API <format>.""" + + def __init__(self, elem): + BaseInfo.__init__(self, elem) + class Registry: """Object representing an API registry, loaded from an XML file.""" @@ -311,6 +317,9 @@ class Registry: self.spirvcapdict = {} "dictionary of FeatureInfo objects for `<spirvcapability>` elements keyed by spirv capability name" + self.formatsdict = {} + "dictionary of FeatureInfo objects for `<format>` elements keyed by VkFormat name" + self.emitFeatures = False """True to actually emit features for a version / extension, or False to just treat them as emitted""" @@ -356,10 +365,10 @@ class Registry: Intended for internal use only. - - elem - `<type>`/`<enums>`/`<enum>`/`<command>`/`<feature>`/`<extension>`/`<spirvextension>`/`<spirvcapability>` Element + - elem - `<type>`/`<enums>`/`<enum>`/`<command>`/`<feature>`/`<extension>`/`<spirvextension>`/`<spirvcapability>`/`<format>` Element - info - corresponding {Type|Group|Enum|Cmd|Feature|Spirv}Info object - - infoName - 'type' / 'group' / 'enum' / 'command' / 'feature' / 'extension' / 'spirvextension' / 'spirvcapability' - - dictionary - self.{type|group|enum|cmd|api|ext|spirvext|spirvcap}dict + - infoName - 'type' / 'group' / 'enum' / 'command' / 'feature' / 'extension' / 'spirvextension' / 'spirvcapability' / 'format' + - dictionary - self.{type|group|enum|cmd|api|ext|format|spirvext|spirvcap}dict If the Element has an 'api' attribute, the dictionary key is the tuple (name,api). If not, the key is the name. 'name' is an @@ -612,6 +621,10 @@ class Registry: spirvInfo = SpirvInfo(spirv) self.addElementInfo(spirv, spirvInfo, 'spirvcapability', self.spirvcapdict) + for format in self.reg.findall('formats/format'): + formatInfo = FormatInfo(format) + self.addElementInfo(format, formatInfo, 'format', self.formatsdict) + def dumpReg(self, maxlen=120, filehandle=sys.stdout): """Dump all the dictionaries constructed from the Registry object. @@ -651,6 +664,10 @@ class Registry: for key in self.spirvcapdict: write(' SPIR-V Capability', key, '->', etree.tostring(self.spirvcapdict[key].elem)[0:maxlen], file=filehandle) + write('// VkFormat', file=filehandle) + for key in self.formatsdict: + write(' VkFormat', key, '->', + etree.tostring(self.formatsdict[key].elem)[0:maxlen], file=filehandle) def markTypeRequired(self, typename, required): """Require (along with its dependencies) or remove (but not its dependencies) a type. @@ -1216,6 +1233,19 @@ class Registry: if stripped: eleminfo.elem.set(attribute, ','.join(apis)) + def generateFormat(self, format, dictionary): + if format is None: + self.gen.logMsg('diag', 'No entry found for format element', + 'returning!') + return + + name = format.elem.get('name') + # No known alias for VkFormat elements + alias = None + if format.emit: + genProc = self.gen.genFormat + genProc(format, name, alias) + def apiGen(self): """Generate interface for specified versions using the current generator and generator options""" @@ -1241,6 +1271,7 @@ class Registry: regRemoveExtensions = re.compile(self.genOpts.removeExtensions) regEmitExtensions = re.compile(self.genOpts.emitExtensions) regEmitSpirv = re.compile(self.genOpts.emitSpirv) + regEmitFormats = re.compile(self.genOpts.emitFormats) # Get all matching API feature names & add to list of FeatureInfo # Note we used to select on feature version attributes, not names. @@ -1349,6 +1380,12 @@ class Registry: si.emit = (regEmitSpirv.match(key) is not None) spirvcaps.append(si) + formats = [] + for key in self.formatsdict: + si = self.formatsdict[key] + si.emit = (regEmitFormats.match(key) is not None) + formats.append(si) + # Sort the features list, if a sort procedure is defined if self.genOpts.sortProcedure: self.genOpts.sortProcedure(features) @@ -1407,6 +1444,8 @@ class Registry: self.generateSpirv(s, self.spirvextdict) for s in spirvcaps: self.generateSpirv(s, self.spirvcapdict) + for s in formats: + self.generateFormat(s, self.formatsdict) self.gen.endFile() def apiReset(self): diff --git a/registry/validusage.json b/registry/validusage.json index 4aaf037..4314302 100644 --- a/registry/validusage.json +++ b/registry/validusage.json @@ -1,9 +1,9 @@ { "version info": { "schema version": 2, - "api version": "1.2.198", - "comment": "from git branch: github-main commit: 3a4dc41cc86b4215e9995f20f2be744a106887d5", - "date": "2021-11-09 07:58:02Z" + "api version": "1.2.199", + "comment": "from git branch: github-main commit: 83c7507600618d8748bb911dfd8c3d9b4fabaca0", + "date": "2021-11-16 13:35:27Z" }, "validation": { "vkGetInstanceProcAddr": { @@ -626,7 +626,7 @@ }, { "vuid": "VUID-VkDeviceCreateInfo-pNext-pNext", - "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkDeviceDeviceMemoryReportCreateInfoEXT\">VkDeviceDeviceMemoryReportCreateInfoEXT</a>, <a href=\"#VkDeviceDiagnosticsConfigCreateInfoNV\">VkDeviceDiagnosticsConfigCreateInfoNV</a>, <a href=\"#VkDeviceGroupDeviceCreateInfo\">VkDeviceGroupDeviceCreateInfo</a>, <a href=\"#VkDeviceMemoryOverallocationCreateInfoAMD\">VkDeviceMemoryOverallocationCreateInfoAMD</a>, <a href=\"#VkDevicePrivateDataCreateInfoEXT\">VkDevicePrivateDataCreateInfoEXT</a>, <a href=\"#VkPhysicalDevice16BitStorageFeatures\">VkPhysicalDevice16BitStorageFeatures</a>, <a href=\"#VkPhysicalDevice4444FormatsFeaturesEXT\">VkPhysicalDevice4444FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDevice8BitStorageFeatures\">VkPhysicalDevice8BitStorageFeatures</a>, <a href=\"#VkPhysicalDeviceASTCDecodeFeaturesEXT\">VkPhysicalDeviceASTCDecodeFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceAccelerationStructureFeaturesKHR\">VkPhysicalDeviceAccelerationStructureFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT\">VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBorderColorSwizzleFeaturesEXT\">VkPhysicalDeviceBorderColorSwizzleFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBufferDeviceAddressFeatures\">VkPhysicalDeviceBufferDeviceAddressFeatures</a>, <a href=\"#VkPhysicalDeviceBufferDeviceAddressFeaturesEXT\">VkPhysicalDeviceBufferDeviceAddressFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceCoherentMemoryFeaturesAMD\">VkPhysicalDeviceCoherentMemoryFeaturesAMD</a>, <a href=\"#VkPhysicalDeviceColorWriteEnableFeaturesEXT\">VkPhysicalDeviceColorWriteEnableFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceComputeShaderDerivativesFeaturesNV\">VkPhysicalDeviceComputeShaderDerivativesFeaturesNV</a>, <a href=\"#VkPhysicalDeviceConditionalRenderingFeaturesEXT\">VkPhysicalDeviceConditionalRenderingFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceCooperativeMatrixFeaturesNV\">VkPhysicalDeviceCooperativeMatrixFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCornerSampledImageFeaturesNV\">VkPhysicalDeviceCornerSampledImageFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCoverageReductionModeFeaturesNV\">VkPhysicalDeviceCoverageReductionModeFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCustomBorderColorFeaturesEXT\">VkPhysicalDeviceCustomBorderColorFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV\">VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDepthClipEnableFeaturesEXT\">VkPhysicalDeviceDepthClipEnableFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDescriptorIndexingFeatures\">VkPhysicalDeviceDescriptorIndexingFeatures</a>, <a href=\"#VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV\">VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDeviceMemoryReportFeaturesEXT\">VkPhysicalDeviceDeviceMemoryReportFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDiagnosticsConfigFeaturesNV\">VkPhysicalDeviceDiagnosticsConfigFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDynamicRenderingFeaturesKHR\">VkPhysicalDeviceDynamicRenderingFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceExclusiveScissorFeaturesNV\">VkPhysicalDeviceExclusiveScissorFeaturesNV</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicState2FeaturesEXT\">VkPhysicalDeviceExtendedDynamicState2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicStateFeaturesEXT\">VkPhysicalDeviceExtendedDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExternalMemoryRDMAFeaturesNV\">VkPhysicalDeviceExternalMemoryRDMAFeaturesNV</a>, <a href=\"#VkPhysicalDeviceFeatures2\">VkPhysicalDeviceFeatures2</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMap2FeaturesEXT\">VkPhysicalDeviceFragmentDensityMap2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapFeaturesEXT\">VkPhysicalDeviceFragmentDensityMapFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV\">VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV</a>, <a href=\"#VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT\">VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV\">VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateFeaturesKHR\">VkPhysicalDeviceFragmentShadingRateFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT\">VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceHostQueryResetFeatures\">VkPhysicalDeviceHostQueryResetFeatures</a>, <a href=\"#VkPhysicalDeviceImageRobustnessFeaturesEXT\">VkPhysicalDeviceImageRobustnessFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImagelessFramebufferFeatures\">VkPhysicalDeviceImagelessFramebufferFeatures</a>, <a href=\"#VkPhysicalDeviceIndexTypeUint8FeaturesEXT\">VkPhysicalDeviceIndexTypeUint8FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceInheritedViewportScissorFeaturesNV\">VkPhysicalDeviceInheritedViewportScissorFeaturesNV</a>, <a href=\"#VkPhysicalDeviceInlineUniformBlockFeaturesEXT\">VkPhysicalDeviceInlineUniformBlockFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceInvocationMaskFeaturesHUAWEI\">VkPhysicalDeviceInvocationMaskFeaturesHUAWEI</a>, <a href=\"#VkPhysicalDeviceLineRasterizationFeaturesEXT\">VkPhysicalDeviceLineRasterizationFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMaintenance4FeaturesKHR\">VkPhysicalDeviceMaintenance4FeaturesKHR</a>, <a href=\"#VkPhysicalDeviceMemoryPriorityFeaturesEXT\">VkPhysicalDeviceMemoryPriorityFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMeshShaderFeaturesNV\">VkPhysicalDeviceMeshShaderFeaturesNV</a>, <a href=\"#VkPhysicalDeviceMultiDrawFeaturesEXT\">VkPhysicalDeviceMultiDrawFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMultiviewFeatures\">VkPhysicalDeviceMultiviewFeatures</a>, <a href=\"#VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE\">VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE</a>, <a href=\"#VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT\">VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePerformanceQueryFeaturesKHR\">VkPhysicalDevicePerformanceQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT\">VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR\">VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePresentIdFeaturesKHR\">VkPhysicalDevicePresentIdFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePresentWaitFeaturesKHR\">VkPhysicalDevicePresentWaitFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT\">VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePrivateDataFeaturesEXT\">VkPhysicalDevicePrivateDataFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceProtectedMemoryFeatures\">VkPhysicalDeviceProtectedMemoryFeatures</a>, <a href=\"#VkPhysicalDeviceProvokingVertexFeaturesEXT\">VkPhysicalDeviceProvokingVertexFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT\">VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceRayQueryFeaturesKHR\">VkPhysicalDeviceRayQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingMotionBlurFeaturesNV\">VkPhysicalDeviceRayTracingMotionBlurFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRayTracingPipelineFeaturesKHR\">VkPhysicalDeviceRayTracingPipelineFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV\">VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRobustness2FeaturesEXT\">VkPhysicalDeviceRobustness2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSamplerYcbcrConversionFeatures\">VkPhysicalDeviceSamplerYcbcrConversionFeatures</a>, <a href=\"#VkPhysicalDeviceScalarBlockLayoutFeatures\">VkPhysicalDeviceScalarBlockLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures\">VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures</a>, <a href=\"#VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT\">VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderAtomicFloatFeaturesEXT\">VkPhysicalDeviceShaderAtomicFloatFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderAtomicInt64Features\">VkPhysicalDeviceShaderAtomicInt64Features</a>, <a href=\"#VkPhysicalDeviceShaderClockFeaturesKHR\">VkPhysicalDeviceShaderClockFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT\">VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderDrawParametersFeatures\">VkPhysicalDeviceShaderDrawParametersFeatures</a>, <a href=\"#VkPhysicalDeviceShaderFloat16Int8Features\">VkPhysicalDeviceShaderFloat16Int8Features</a>, <a href=\"#VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT\">VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderImageFootprintFeaturesNV\">VkPhysicalDeviceShaderImageFootprintFeaturesNV</a>, <a href=\"#VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR\">VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL\">VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL</a>, <a href=\"#VkPhysicalDeviceShaderSMBuiltinsFeaturesNV\">VkPhysicalDeviceShaderSMBuiltinsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures\">VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures</a>, <a href=\"#VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR\">VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR\">VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShadingRateImageFeaturesNV\">VkPhysicalDeviceShadingRateImageFeaturesNV</a>, <a href=\"#VkPhysicalDeviceSubgroupSizeControlFeaturesEXT\">VkPhysicalDeviceSubgroupSizeControlFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSubpassShadingFeaturesHUAWEI\">VkPhysicalDeviceSubpassShadingFeaturesHUAWEI</a>, <a href=\"#VkPhysicalDeviceSynchronization2FeaturesKHR\">VkPhysicalDeviceSynchronization2FeaturesKHR</a>, <a href=\"#VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT\">VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT\">VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceTimelineSemaphoreFeatures\">VkPhysicalDeviceTimelineSemaphoreFeatures</a>, <a href=\"#VkPhysicalDeviceTransformFeedbackFeaturesEXT\">VkPhysicalDeviceTransformFeedbackFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceUniformBufferStandardLayoutFeatures\">VkPhysicalDeviceUniformBufferStandardLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceVariablePointersFeatures\">VkPhysicalDeviceVariablePointersFeatures</a>, <a href=\"#VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT\">VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT\">VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceVulkan11Features\">VkPhysicalDeviceVulkan11Features</a>, <a href=\"#VkPhysicalDeviceVulkan12Features\">VkPhysicalDeviceVulkan12Features</a>, <a href=\"#VkPhysicalDeviceVulkanMemoryModelFeatures\">VkPhysicalDeviceVulkanMemoryModelFeatures</a>, <a href=\"#VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR\">VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT\">VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceYcbcrImageArraysFeaturesEXT\">VkPhysicalDeviceYcbcrImageArraysFeaturesEXT</a>, or <a href=\"#VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR\">VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR</a>" + "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkDeviceDeviceMemoryReportCreateInfoEXT\">VkDeviceDeviceMemoryReportCreateInfoEXT</a>, <a href=\"#VkDeviceDiagnosticsConfigCreateInfoNV\">VkDeviceDiagnosticsConfigCreateInfoNV</a>, <a href=\"#VkDeviceGroupDeviceCreateInfo\">VkDeviceGroupDeviceCreateInfo</a>, <a href=\"#VkDeviceMemoryOverallocationCreateInfoAMD\">VkDeviceMemoryOverallocationCreateInfoAMD</a>, <a href=\"#VkDevicePrivateDataCreateInfoEXT\">VkDevicePrivateDataCreateInfoEXT</a>, <a href=\"#VkPhysicalDevice16BitStorageFeatures\">VkPhysicalDevice16BitStorageFeatures</a>, <a href=\"#VkPhysicalDevice4444FormatsFeaturesEXT\">VkPhysicalDevice4444FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDevice8BitStorageFeatures\">VkPhysicalDevice8BitStorageFeatures</a>, <a href=\"#VkPhysicalDeviceASTCDecodeFeaturesEXT\">VkPhysicalDeviceASTCDecodeFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceAccelerationStructureFeaturesKHR\">VkPhysicalDeviceAccelerationStructureFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT\">VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBorderColorSwizzleFeaturesEXT\">VkPhysicalDeviceBorderColorSwizzleFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBufferDeviceAddressFeatures\">VkPhysicalDeviceBufferDeviceAddressFeatures</a>, <a href=\"#VkPhysicalDeviceBufferDeviceAddressFeaturesEXT\">VkPhysicalDeviceBufferDeviceAddressFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceCoherentMemoryFeaturesAMD\">VkPhysicalDeviceCoherentMemoryFeaturesAMD</a>, <a href=\"#VkPhysicalDeviceColorWriteEnableFeaturesEXT\">VkPhysicalDeviceColorWriteEnableFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceComputeShaderDerivativesFeaturesNV\">VkPhysicalDeviceComputeShaderDerivativesFeaturesNV</a>, <a href=\"#VkPhysicalDeviceConditionalRenderingFeaturesEXT\">VkPhysicalDeviceConditionalRenderingFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceCooperativeMatrixFeaturesNV\">VkPhysicalDeviceCooperativeMatrixFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCornerSampledImageFeaturesNV\">VkPhysicalDeviceCornerSampledImageFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCoverageReductionModeFeaturesNV\">VkPhysicalDeviceCoverageReductionModeFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCustomBorderColorFeaturesEXT\">VkPhysicalDeviceCustomBorderColorFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV\">VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDepthClipEnableFeaturesEXT\">VkPhysicalDeviceDepthClipEnableFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDescriptorIndexingFeatures\">VkPhysicalDeviceDescriptorIndexingFeatures</a>, <a href=\"#VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV\">VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDeviceMemoryReportFeaturesEXT\">VkPhysicalDeviceDeviceMemoryReportFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDiagnosticsConfigFeaturesNV\">VkPhysicalDeviceDiagnosticsConfigFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDynamicRenderingFeaturesKHR\">VkPhysicalDeviceDynamicRenderingFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceExclusiveScissorFeaturesNV\">VkPhysicalDeviceExclusiveScissorFeaturesNV</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicState2FeaturesEXT\">VkPhysicalDeviceExtendedDynamicState2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicStateFeaturesEXT\">VkPhysicalDeviceExtendedDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExternalMemoryRDMAFeaturesNV\">VkPhysicalDeviceExternalMemoryRDMAFeaturesNV</a>, <a href=\"#VkPhysicalDeviceFeatures2\">VkPhysicalDeviceFeatures2</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMap2FeaturesEXT\">VkPhysicalDeviceFragmentDensityMap2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapFeaturesEXT\">VkPhysicalDeviceFragmentDensityMapFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV\">VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV</a>, <a href=\"#VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT\">VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV\">VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateFeaturesKHR\">VkPhysicalDeviceFragmentShadingRateFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT\">VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceHostQueryResetFeatures\">VkPhysicalDeviceHostQueryResetFeatures</a>, <a href=\"#VkPhysicalDeviceImageRobustnessFeaturesEXT\">VkPhysicalDeviceImageRobustnessFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImageViewMinLodFeaturesEXT\">VkPhysicalDeviceImageViewMinLodFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImagelessFramebufferFeatures\">VkPhysicalDeviceImagelessFramebufferFeatures</a>, <a href=\"#VkPhysicalDeviceIndexTypeUint8FeaturesEXT\">VkPhysicalDeviceIndexTypeUint8FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceInheritedViewportScissorFeaturesNV\">VkPhysicalDeviceInheritedViewportScissorFeaturesNV</a>, <a href=\"#VkPhysicalDeviceInlineUniformBlockFeaturesEXT\">VkPhysicalDeviceInlineUniformBlockFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceInvocationMaskFeaturesHUAWEI\">VkPhysicalDeviceInvocationMaskFeaturesHUAWEI</a>, <a href=\"#VkPhysicalDeviceLineRasterizationFeaturesEXT\">VkPhysicalDeviceLineRasterizationFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMaintenance4FeaturesKHR\">VkPhysicalDeviceMaintenance4FeaturesKHR</a>, <a href=\"#VkPhysicalDeviceMemoryPriorityFeaturesEXT\">VkPhysicalDeviceMemoryPriorityFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMeshShaderFeaturesNV\">VkPhysicalDeviceMeshShaderFeaturesNV</a>, <a href=\"#VkPhysicalDeviceMultiDrawFeaturesEXT\">VkPhysicalDeviceMultiDrawFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMultiviewFeatures\">VkPhysicalDeviceMultiviewFeatures</a>, <a href=\"#VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE\">VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE</a>, <a href=\"#VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT\">VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePerformanceQueryFeaturesKHR\">VkPhysicalDevicePerformanceQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT\">VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR\">VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePresentIdFeaturesKHR\">VkPhysicalDevicePresentIdFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePresentWaitFeaturesKHR\">VkPhysicalDevicePresentWaitFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT\">VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePrivateDataFeaturesEXT\">VkPhysicalDevicePrivateDataFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceProtectedMemoryFeatures\">VkPhysicalDeviceProtectedMemoryFeatures</a>, <a href=\"#VkPhysicalDeviceProvokingVertexFeaturesEXT\">VkPhysicalDeviceProvokingVertexFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT\">VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceRayQueryFeaturesKHR\">VkPhysicalDeviceRayQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingMotionBlurFeaturesNV\">VkPhysicalDeviceRayTracingMotionBlurFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRayTracingPipelineFeaturesKHR\">VkPhysicalDeviceRayTracingPipelineFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV\">VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRobustness2FeaturesEXT\">VkPhysicalDeviceRobustness2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSamplerYcbcrConversionFeatures\">VkPhysicalDeviceSamplerYcbcrConversionFeatures</a>, <a href=\"#VkPhysicalDeviceScalarBlockLayoutFeatures\">VkPhysicalDeviceScalarBlockLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures\">VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures</a>, <a href=\"#VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT\">VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderAtomicFloatFeaturesEXT\">VkPhysicalDeviceShaderAtomicFloatFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderAtomicInt64Features\">VkPhysicalDeviceShaderAtomicInt64Features</a>, <a href=\"#VkPhysicalDeviceShaderClockFeaturesKHR\">VkPhysicalDeviceShaderClockFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT\">VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderDrawParametersFeatures\">VkPhysicalDeviceShaderDrawParametersFeatures</a>, <a href=\"#VkPhysicalDeviceShaderFloat16Int8Features\">VkPhysicalDeviceShaderFloat16Int8Features</a>, <a href=\"#VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT\">VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderImageFootprintFeaturesNV\">VkPhysicalDeviceShaderImageFootprintFeaturesNV</a>, <a href=\"#VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR\">VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL\">VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL</a>, <a href=\"#VkPhysicalDeviceShaderSMBuiltinsFeaturesNV\">VkPhysicalDeviceShaderSMBuiltinsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures\">VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures</a>, <a href=\"#VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR\">VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR\">VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShadingRateImageFeaturesNV\">VkPhysicalDeviceShadingRateImageFeaturesNV</a>, <a href=\"#VkPhysicalDeviceSubgroupSizeControlFeaturesEXT\">VkPhysicalDeviceSubgroupSizeControlFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSubpassShadingFeaturesHUAWEI\">VkPhysicalDeviceSubpassShadingFeaturesHUAWEI</a>, <a href=\"#VkPhysicalDeviceSynchronization2FeaturesKHR\">VkPhysicalDeviceSynchronization2FeaturesKHR</a>, <a href=\"#VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT\">VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT\">VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceTimelineSemaphoreFeatures\">VkPhysicalDeviceTimelineSemaphoreFeatures</a>, <a href=\"#VkPhysicalDeviceTransformFeedbackFeaturesEXT\">VkPhysicalDeviceTransformFeedbackFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceUniformBufferStandardLayoutFeatures\">VkPhysicalDeviceUniformBufferStandardLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceVariablePointersFeatures\">VkPhysicalDeviceVariablePointersFeatures</a>, <a href=\"#VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT\">VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT\">VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceVulkan11Features\">VkPhysicalDeviceVulkan11Features</a>, <a href=\"#VkPhysicalDeviceVulkan12Features\">VkPhysicalDeviceVulkan12Features</a>, <a href=\"#VkPhysicalDeviceVulkanMemoryModelFeatures\">VkPhysicalDeviceVulkanMemoryModelFeatures</a>, <a href=\"#VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR\">VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT\">VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceYcbcrImageArraysFeaturesEXT\">VkPhysicalDeviceYcbcrImageArraysFeaturesEXT</a>, or <a href=\"#VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR\">VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR</a>" }, { "vuid": "VUID-VkDeviceCreateInfo-sType-unique", @@ -1811,16 +1811,16 @@ "VkSubmitInfo": { "core": [ { - "vuid": "VUID-VkSubmitInfo-pCommandBuffers-00075", - "text": " Each element of <code>pCommandBuffers</code> <strong class=\"purple\">must</strong> not have been allocated with <code>VK_COMMAND_BUFFER_LEVEL_SECONDARY</code>" + "vuid": "VUID-VkSubmitInfo-pWaitDstStageMask-04090", + "text": " If the <a href=\"#features-geometryShader\">geometry shaders</a> feature is not enabled, pname:pWaitDstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT</code>" }, { - "vuid": "VUID-VkSubmitInfo-pWaitDstStageMask-00076", - "text": " If the <a href=\"#features-geometryShader\">geometry shaders</a> feature is not enabled, each element of <code>pWaitDstStageMask</code> <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT</code>" + "vuid": "VUID-VkSubmitInfo-pWaitDstStageMask-04091", + "text": " If the <a href=\"#features-tessellationShader\">tessellation shaders</a> feature is not enabled, pname:pWaitDstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT</code> or <code>VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT</code>" }, { - "vuid": "VUID-VkSubmitInfo-pWaitDstStageMask-00077", - "text": " If the <a href=\"#features-tessellationShader\">tessellation shaders</a> feature is not enabled, each element of <code>pWaitDstStageMask</code> <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT</code> or <code>VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT</code>" + "vuid": "VUID-VkSubmitInfo-pCommandBuffers-00075", + "text": " Each element of <code>pCommandBuffers</code> <strong class=\"purple\">must</strong> not have been allocated with <code>VK_COMMAND_BUFFER_LEVEL_SECONDARY</code>" }, { "vuid": "VUID-VkSubmitInfo-pWaitDstStageMask-00078", @@ -1863,6 +1863,52 @@ "text": " Each of the elements of <code>pCommandBuffers</code>, the elements of <code>pSignalSemaphores</code>, and the elements of <code>pWaitSemaphores</code> that are valid handles of non-ignored parameters <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>" } ], + "(VK_EXT_conditional_rendering)": [ + { + "vuid": "VUID-VkSubmitInfo-pWaitDstStageMask-04092", + "text": " If the <a href=\"#features-conditionalRendering\">conditional rendering</a> feature is not enabled, pname:pWaitDstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT</code>" + } + ], + "(VK_EXT_fragment_density_map)": [ + { + "vuid": "VUID-VkSubmitInfo-pWaitDstStageMask-04093", + "text": " If the <a href=\"#features-fragmentDensityMap\">fragment density map</a> feature is not enabled, pname:pWaitDstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT</code>" + } + ], + "(VK_EXT_transform_feedback)": [ + { + "vuid": "VUID-VkSubmitInfo-pWaitDstStageMask-04094", + "text": " If the <a href=\"#features-transformFeedback\">transform feedback</a> feature is not enabled, pname:pWaitDstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT</code>" + } + ], + "(VK_NV_mesh_shader)": [ + { + "vuid": "VUID-VkSubmitInfo-pWaitDstStageMask-04095", + "text": " If the <a href=\"#features-meshShader\">mesh shaders</a> feature is not enabled, pname:pWaitDstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV</code>" + }, + { + "vuid": "VUID-VkSubmitInfo-pWaitDstStageMask-04096", + "text": " If the <a href=\"#features-taskShader\">task shaders</a> feature is not enabled, pname:pWaitDstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV</code>" + } + ], + "(VK_NV_shading_rate_image)": [ + { + "vuid": "VUID-VkSubmitInfo-pWaitDstStageMask-04097", + "text": " If the <a href=\"#features-shadingRateImage\">shading rate image</a> feature is not enabled, pname:pWaitDstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV</code>" + } + ], + "(VK_KHR_synchronization2)": [ + { + "vuid": "VUID-VkSubmitInfo-pWaitDstStageMask-03937", + "text": " If the <a href=\"#features-synchronization2\"><code>synchronization2</code></a> feature is not enabled, pname:pWaitDstStageMask <strong class=\"purple\">must</strong> not be <code>0</code>" + } + ], + "!(VK_KHR_synchronization2)": [ + { + "vuid": "VUID-VkSubmitInfo-pWaitDstStageMask-04996", + "text": " pname:pWaitDstStageMask <strong class=\"purple\">must</strong> not be <code>0</code>" + } + ], "(VK_VERSION_1_2,VK_KHR_timeline_semaphore)": [ { "vuid": "VUID-VkSubmitInfo-pWaitSemaphores-03239", @@ -1889,16 +1935,6 @@ "text": " For each element of <code>pSignalSemaphores</code> created with a <a href=\"#VkSemaphoreType\">VkSemaphoreType</a> of <code>VK_SEMAPHORE_TYPE_TIMELINE</code> the corresponding element of <a href=\"#VkTimelineSemaphoreSubmitInfo\">VkTimelineSemaphoreSubmitInfo</a>::<code>pSignalSemaphoreValues</code> <strong class=\"purple\">must</strong> have a value which does not differ from the current value of the semaphore or the value of any outstanding semaphore wait or signal operation on that semaphore by more than <a href=\"#limits-maxTimelineSemaphoreValueDifference\"><code>maxTimelineSemaphoreValueDifference</code></a>" } ], - "(VK_NV_mesh_shader)": [ - { - "vuid": "VUID-VkSubmitInfo-pWaitDstStageMask-02089", - "text": " If the <a href=\"#features-meshShader\">mesh shaders</a> feature is not enabled, each element of <code>pWaitDstStageMask</code> <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV</code>" - }, - { - "vuid": "VUID-VkSubmitInfo-pWaitDstStageMask-02090", - "text": " If the <a href=\"#features-taskShader\">task shaders</a> feature is not enabled, each element of <code>pWaitDstStageMask</code> <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV</code>" - } - ], "(VK_VERSION_1_1)": [ { "vuid": "VUID-VkSubmitInfo-pNext-04120", @@ -3691,8 +3727,8 @@ "text": " If the <a href=\"#features-tessellationShader\">tessellation shaders</a> feature is not enabled, pname:stageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT</code> or <code>VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT</code>" }, { - "vuid": "VUID-vkCmdSetEvent-stageMask-04098", - "text": " Any pipeline stage included in pname:stageMask <strong class=\"purple\">must</strong> be supported by the capabilities of the queue family specified by the <code>queueFamilyIndex</code> member of the <a href=\"#VkCommandPoolCreateInfo\">VkCommandPoolCreateInfo</a> structure that was used to create the <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from, as specified in the <a href=\"#synchronization-pipeline-stages-supported\">table of supported pipeline stages</a>" + "vuid": "VUID-vkCmdSetEvent-stageMask-06457", + "text": " Any pipeline stage included in <code>stageMask</code> <strong class=\"purple\">must</strong> be supported by the capabilities of the queue family specified by the <code>queueFamilyIndex</code> member of the <a href=\"#VkCommandPoolCreateInfo\">VkCommandPoolCreateInfo</a> structure that was used to create the <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from, as specified in the <a href=\"#synchronization-pipeline-stages-supported\">table of supported pipeline stages</a>" }, { "vuid": "VUID-vkCmdSetEvent-stageMask-01149", @@ -3903,8 +3939,8 @@ "text": " If the <a href=\"#features-tessellationShader\">tessellation shaders</a> feature is not enabled, pname:stageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT</code> or <code>VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT</code>" }, { - "vuid": "VUID-vkCmdResetEvent-stageMask-04098", - "text": " Any pipeline stage included in pname:stageMask <strong class=\"purple\">must</strong> be supported by the capabilities of the queue family specified by the <code>queueFamilyIndex</code> member of the <a href=\"#VkCommandPoolCreateInfo\">VkCommandPoolCreateInfo</a> structure that was used to create the <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from, as specified in the <a href=\"#synchronization-pipeline-stages-supported\">table of supported pipeline stages</a>" + "vuid": "VUID-vkCmdResetEvent-stageMask-06458", + "text": " Any pipeline stage included in <code>stageMask</code> <strong class=\"purple\">must</strong> be supported by the capabilities of the queue family specified by the <code>queueFamilyIndex</code> member of the <a href=\"#VkCommandPoolCreateInfo\">VkCommandPoolCreateInfo</a> structure that was used to create the <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from, as specified in the <a href=\"#synchronization-pipeline-stages-supported\">table of supported pipeline stages</a>" }, { "vuid": "VUID-vkCmdResetEvent-stageMask-01153", @@ -4087,10 +4123,6 @@ "text": " If the <a href=\"#features-tessellationShader\">tessellation shaders</a> feature is not enabled, pname:srcStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT</code> or <code>VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT</code>" }, { - "vuid": "VUID-vkCmdWaitEvents-srcStageMask-04098", - "text": " Any pipeline stage included in pname:srcStageMask <strong class=\"purple\">must</strong> be supported by the capabilities of the queue family specified by the <code>queueFamilyIndex</code> member of the <a href=\"#VkCommandPoolCreateInfo\">VkCommandPoolCreateInfo</a> structure that was used to create the <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from, as specified in the <a href=\"#synchronization-pipeline-stages-supported\">table of supported pipeline stages</a>" - }, - { "vuid": "VUID-vkCmdWaitEvents-dstStageMask-04090", "text": " If the <a href=\"#features-geometryShader\">geometry shaders</a> feature is not enabled, pname:dstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT</code>" }, @@ -4099,10 +4131,6 @@ "text": " If the <a href=\"#features-tessellationShader\">tessellation shaders</a> feature is not enabled, pname:dstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT</code> or <code>VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT</code>" }, { - "vuid": "VUID-vkCmdWaitEvents-dstStageMask-04098", - "text": " Any pipeline stage included in pname:dstStageMask <strong class=\"purple\">must</strong> be supported by the capabilities of the queue family specified by the <code>queueFamilyIndex</code> member of the <a href=\"#VkCommandPoolCreateInfo\">VkCommandPoolCreateInfo</a> structure that was used to create the <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from, as specified in the <a href=\"#synchronization-pipeline-stages-supported\">table of supported pipeline stages</a>" - }, - { "vuid": "VUID-vkCmdWaitEvents-srcAccessMask-02815", "text": " The <code>srcAccessMask</code> member of each element of <code>pMemoryBarriers</code> <strong class=\"purple\">must</strong> only include access flags that are supported by one or more of the pipeline stages in <code>srcStageMask</code>, as specified in the <a href=\"#synchronization-access-types-supported\">table of supported access types</a>" }, @@ -4127,6 +4155,14 @@ "text": " For any element of <code>pImageMemoryBarriers</code>, if its <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> members are equal, or if its <code>dstQueueFamilyIndex</code> is the queue family index that was used to create the command pool that <code>commandBuffer</code> was allocated from, then its <code>dstAccessMask</code> member <strong class=\"purple\">must</strong> only contain access flags that are supported by one or more of the pipeline stages in <code>dstStageMask</code>, as specified in the <a href=\"#synchronization-access-types-supported\">table of supported access types</a>" }, { + "vuid": "VUID-vkCmdWaitEvents-srcStageMask-06459", + "text": " Any pipeline stage included in <code>srcStageMask</code> <strong class=\"purple\">must</strong> be supported by the capabilities of the queue family specified by the <code>queueFamilyIndex</code> member of the <a href=\"#VkCommandPoolCreateInfo\">VkCommandPoolCreateInfo</a> structure that was used to create the <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from, as specified in the <a href=\"#synchronization-pipeline-stages-supported\">table of supported pipeline stages</a>" + }, + { + "vuid": "VUID-vkCmdWaitEvents-dstStageMask-06460", + "text": " Any pipeline stage included in <code>dstStageMask</code> <strong class=\"purple\">must</strong> be supported by the capabilities of the queue family specified by the <code>queueFamilyIndex</code> member of the <a href=\"#VkCommandPoolCreateInfo\">VkCommandPoolCreateInfo</a> structure that was used to create the <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from, as specified in the <a href=\"#synchronization-pipeline-stages-supported\">table of supported pipeline stages</a>" + }, + { "vuid": "VUID-vkCmdWaitEvents-srcStageMask-01158", "text": " <code>srcStageMask</code> <strong class=\"purple\">must</strong> be the bitwise OR of the <code>stageMask</code> parameter used in previous calls to <code>vkCmdSetEvent</code> with any of the elements of <code>pEvents</code> and <code>VK_PIPELINE_STAGE_HOST_BIT</code> if any of the elements of <code>pEvents</code> was set using <code>vkSetEvent</code>" }, @@ -4347,10 +4383,6 @@ "text": " If the <a href=\"#features-tessellationShader\">tessellation shaders</a> feature is not enabled, pname:srcStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT</code> or <code>VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT</code>" }, { - "vuid": "VUID-vkCmdPipelineBarrier-srcStageMask-04098", - "text": " Any pipeline stage included in pname:srcStageMask <strong class=\"purple\">must</strong> be supported by the capabilities of the queue family specified by the <code>queueFamilyIndex</code> member of the <a href=\"#VkCommandPoolCreateInfo\">VkCommandPoolCreateInfo</a> structure that was used to create the <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from, as specified in the <a href=\"#synchronization-pipeline-stages-supported\">table of supported pipeline stages</a>" - }, - { "vuid": "VUID-vkCmdPipelineBarrier-dstStageMask-04090", "text": " If the <a href=\"#features-geometryShader\">geometry shaders</a> feature is not enabled, pname:dstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT</code>" }, @@ -4359,10 +4391,6 @@ "text": " If the <a href=\"#features-tessellationShader\">tessellation shaders</a> feature is not enabled, pname:dstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT</code> or <code>VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT</code>" }, { - "vuid": "VUID-vkCmdPipelineBarrier-dstStageMask-04098", - "text": " Any pipeline stage included in pname:dstStageMask <strong class=\"purple\">must</strong> be supported by the capabilities of the queue family specified by the <code>queueFamilyIndex</code> member of the <a href=\"#VkCommandPoolCreateInfo\">VkCommandPoolCreateInfo</a> structure that was used to create the <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from, as specified in the <a href=\"#synchronization-pipeline-stages-supported\">table of supported pipeline stages</a>" - }, - { "vuid": "VUID-vkCmdPipelineBarrier-srcAccessMask-02815", "text": " The <code>srcAccessMask</code> member of each element of <code>pMemoryBarriers</code> <strong class=\"purple\">must</strong> only include access flags that are supported by one or more of the pipeline stages in <code>srcStageMask</code>, as specified in the <a href=\"#synchronization-access-types-supported\">table of supported access types</a>" }, @@ -4407,6 +4435,14 @@ "text": " If fname:vkCmdPipelineBarrier is called within a render pass instance, the <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> members of any image memory barrier included in this command <strong class=\"purple\">must</strong> be equal" }, { + "vuid": "VUID-vkCmdPipelineBarrier-srcStageMask-06461", + "text": " Any pipeline stage included in <code>srcStageMask</code> <strong class=\"purple\">must</strong> be supported by the capabilities of the queue family specified by the <code>queueFamilyIndex</code> member of the <a href=\"#VkCommandPoolCreateInfo\">VkCommandPoolCreateInfo</a> structure that was used to create the <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from, as specified in the <a href=\"#synchronization-pipeline-stages-supported\">table of supported pipeline stages</a>" + }, + { + "vuid": "VUID-vkCmdPipelineBarrier-dstStageMask-06462", + "text": " Any pipeline stage included in <code>dstStageMask</code> <strong class=\"purple\">must</strong> be supported by the capabilities of the queue family specified by the <code>queueFamilyIndex</code> member of the <a href=\"#VkCommandPoolCreateInfo\">VkCommandPoolCreateInfo</a> structure that was used to create the <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from, as specified in the <a href=\"#synchronization-pipeline-stages-supported\">table of supported pipeline stages</a>" + }, + { "vuid": "VUID-vkCmdPipelineBarrier-commandBuffer-parameter", "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle" }, @@ -7505,20 +7541,20 @@ "VkSubpassDependency": { "core": [ { - "vuid": "VUID-VkSubpassDependency-srcStageMask-00860", - "text": " If the <a href=\"#features-geometryShader\">geometry shaders</a> feature is not enabled, <code>srcStageMask</code> <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT</code>" + "vuid": "VUID-VkSubpassDependency-srcStageMask-04090", + "text": " If the <a href=\"#features-geometryShader\">geometry shaders</a> feature is not enabled, pname:srcStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT</code>" }, { - "vuid": "VUID-VkSubpassDependency-dstStageMask-00861", - "text": " If the <a href=\"#features-geometryShader\">geometry shaders</a> feature is not enabled, <code>dstStageMask</code> <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT</code>" + "vuid": "VUID-VkSubpassDependency-srcStageMask-04091", + "text": " If the <a href=\"#features-tessellationShader\">tessellation shaders</a> feature is not enabled, pname:srcStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT</code> or <code>VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT</code>" }, { - "vuid": "VUID-VkSubpassDependency-srcStageMask-00862", - "text": " If the <a href=\"#features-tessellationShader\">tessellation shaders</a> feature is not enabled, <code>srcStageMask</code> <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT</code> or <code>VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT</code>" + "vuid": "VUID-VkSubpassDependency-dstStageMask-04090", + "text": " If the <a href=\"#features-geometryShader\">geometry shaders</a> feature is not enabled, pname:dstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT</code>" }, { - "vuid": "VUID-VkSubpassDependency-dstStageMask-00863", - "text": " If the <a href=\"#features-tessellationShader\">tessellation shaders</a> feature is not enabled, <code>dstStageMask</code> <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT</code> or <code>VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT</code>" + "vuid": "VUID-VkSubpassDependency-dstStageMask-04091", + "text": " If the <a href=\"#features-tessellationShader\">tessellation shaders</a> feature is not enabled, pname:dstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT</code> or <code>VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT</code>" }, { "vuid": "VUID-VkSubpassDependency-srcSubpass-00864", @@ -7565,56 +7601,96 @@ "text": " <code>dependencyFlags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkDependencyFlagBits\">VkDependencyFlagBits</a> values" } ], - "(VK_VERSION_1_1,VK_KHR_multiview)": [ + "(VK_EXT_conditional_rendering)": [ { - "vuid": "VUID-VkSubpassDependency-dependencyFlags-02520", - "text": " If <code>dependencyFlags</code> includes <code>VK_DEPENDENCY_VIEW_LOCAL_BIT</code>, <code>srcSubpass</code> <strong class=\"purple\">must</strong> not be equal to <code>VK_SUBPASS_EXTERNAL</code>" + "vuid": "VUID-VkSubpassDependency-srcStageMask-04092", + "text": " If the <a href=\"#features-conditionalRendering\">conditional rendering</a> feature is not enabled, pname:srcStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT</code>" }, { - "vuid": "VUID-VkSubpassDependency-dependencyFlags-02521", - "text": " If <code>dependencyFlags</code> includes <code>VK_DEPENDENCY_VIEW_LOCAL_BIT</code>, <code>dstSubpass</code> <strong class=\"purple\">must</strong> not be equal to <code>VK_SUBPASS_EXTERNAL</code>" + "vuid": "VUID-VkSubpassDependency-dstStageMask-04092", + "text": " If the <a href=\"#features-conditionalRendering\">conditional rendering</a> feature is not enabled, pname:dstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT</code>" + } + ], + "(VK_EXT_fragment_density_map)": [ + { + "vuid": "VUID-VkSubpassDependency-srcStageMask-04093", + "text": " If the <a href=\"#features-fragmentDensityMap\">fragment density map</a> feature is not enabled, pname:srcStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT</code>" }, { - "vuid": "VUID-VkSubpassDependency-srcSubpass-00872", - "text": " If <code>srcSubpass</code> equals <code>dstSubpass</code> and that subpass has more than one bit set in the view mask, then <code>dependencyFlags</code> <strong class=\"purple\">must</strong> include <code>VK_DEPENDENCY_VIEW_LOCAL_BIT</code>" + "vuid": "VUID-VkSubpassDependency-dstStageMask-04093", + "text": " If the <a href=\"#features-fragmentDensityMap\">fragment density map</a> feature is not enabled, pname:dstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT</code>" + } + ], + "(VK_EXT_transform_feedback)": [ + { + "vuid": "VUID-VkSubpassDependency-srcStageMask-04094", + "text": " If the <a href=\"#features-transformFeedback\">transform feedback</a> feature is not enabled, pname:srcStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT</code>" + }, + { + "vuid": "VUID-VkSubpassDependency-dstStageMask-04094", + "text": " If the <a href=\"#features-transformFeedback\">transform feedback</a> feature is not enabled, pname:dstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT</code>" } ], "(VK_NV_mesh_shader)": [ { - "vuid": "VUID-VkSubpassDependency-srcStageMask-02099", - "text": " If the <a href=\"#features-meshShader\">mesh shaders</a> feature is not enabled, <code>srcStageMask</code> <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV</code>" + "vuid": "VUID-VkSubpassDependency-srcStageMask-04095", + "text": " If the <a href=\"#features-meshShader\">mesh shaders</a> feature is not enabled, pname:srcStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV</code>" }, { - "vuid": "VUID-VkSubpassDependency-srcStageMask-02100", - "text": " If the <a href=\"#features-taskShader\">task shaders</a> feature is not enabled, <code>srcStageMask</code> <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV</code>" + "vuid": "VUID-VkSubpassDependency-srcStageMask-04096", + "text": " If the <a href=\"#features-taskShader\">task shaders</a> feature is not enabled, pname:srcStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV</code>" + }, + { + "vuid": "VUID-VkSubpassDependency-dstStageMask-04095", + "text": " If the <a href=\"#features-meshShader\">mesh shaders</a> feature is not enabled, pname:dstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV</code>" }, { - "vuid": "VUID-VkSubpassDependency-dstStageMask-02101", - "text": " If the <a href=\"#features-meshShader\">mesh shaders</a> feature is not enabled, <code>dstStageMask</code> <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV</code>" + "vuid": "VUID-VkSubpassDependency-dstStageMask-04096", + "text": " If the <a href=\"#features-taskShader\">task shaders</a> feature is not enabled, pname:dstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV</code>" + } + ], + "(VK_NV_shading_rate_image)": [ + { + "vuid": "VUID-VkSubpassDependency-srcStageMask-04097", + "text": " If the <a href=\"#features-shadingRateImage\">shading rate image</a> feature is not enabled, pname:srcStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV</code>" }, { - "vuid": "VUID-VkSubpassDependency-dstStageMask-02102", - "text": " If the <a href=\"#features-taskShader\">task shaders</a> feature is not enabled, <code>dstStageMask</code> <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV</code>" + "vuid": "VUID-VkSubpassDependency-dstStageMask-04097", + "text": " If the <a href=\"#features-shadingRateImage\">shading rate image</a> feature is not enabled, pname:dstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV</code>" } ], "(VK_KHR_synchronization2)": [ { - "vuid": "VUID-VkSubpassDependency-synchronization2-04984", - "text": " If the <a href=\"#features-synchronization2\"><code>synchronization2</code></a> feature is not enabled, <code>srcStageMask</code> <strong class=\"purple\">must</strong> not be <code>0</code>" + "vuid": "VUID-VkSubpassDependency-srcStageMask-03937", + "text": " If the <a href=\"#features-synchronization2\"><code>synchronization2</code></a> feature is not enabled, pname:srcStageMask <strong class=\"purple\">must</strong> not be <code>0</code>" }, { - "vuid": "VUID-VkSubpassDependency-synchronization2-04985", - "text": " If the <a href=\"#features-synchronization2\"><code>synchronization2</code></a> feature is not enabled, <code>dstStageMask</code> <strong class=\"purple\">must</strong> not be <code>0</code>" + "vuid": "VUID-VkSubpassDependency-dstStageMask-03937", + "text": " If the <a href=\"#features-synchronization2\"><code>synchronization2</code></a> feature is not enabled, pname:dstStageMask <strong class=\"purple\">must</strong> not be <code>0</code>" } ], "!(VK_KHR_synchronization2)": [ { - "vuid": "VUID-VkSubpassDependency-srcStageMask-04986", - "text": " <code>srcStageMask</code> <strong class=\"purple\">must</strong> not be <code>0</code>" + "vuid": "VUID-VkSubpassDependency-srcStageMask-04996", + "text": " pname:srcStageMask <strong class=\"purple\">must</strong> not be <code>0</code>" }, { - "vuid": "VUID-VkSubpassDependency-dstStageMask-04987", - "text": " <code>dstStageMask</code> <strong class=\"purple\">must</strong> not be <code>0</code>" + "vuid": "VUID-VkSubpassDependency-dstStageMask-04996", + "text": " pname:dstStageMask <strong class=\"purple\">must</strong> not be <code>0</code>" + } + ], + "(VK_VERSION_1_1,VK_KHR_multiview)": [ + { + "vuid": "VUID-VkSubpassDependency-dependencyFlags-02520", + "text": " If <code>dependencyFlags</code> includes <code>VK_DEPENDENCY_VIEW_LOCAL_BIT</code>, <code>srcSubpass</code> <strong class=\"purple\">must</strong> not be equal to <code>VK_SUBPASS_EXTERNAL</code>" + }, + { + "vuid": "VUID-VkSubpassDependency-dependencyFlags-02521", + "text": " If <code>dependencyFlags</code> includes <code>VK_DEPENDENCY_VIEW_LOCAL_BIT</code>, <code>dstSubpass</code> <strong class=\"purple\">must</strong> not be equal to <code>VK_SUBPASS_EXTERNAL</code>" + }, + { + "vuid": "VUID-VkSubpassDependency-srcSubpass-00872", + "text": " If <code>srcSubpass</code> equals <code>dstSubpass</code> and that subpass has more than one bit set in the view mask, then <code>dependencyFlags</code> <strong class=\"purple\">must</strong> include <code>VK_DEPENDENCY_VIEW_LOCAL_BIT</code>" } ] }, @@ -8249,20 +8325,20 @@ "VkSubpassDependency2": { "(VK_VERSION_1_2,VK_KHR_create_renderpass2)": [ { - "vuid": "VUID-VkSubpassDependency2-srcStageMask-03080", - "text": " If the <a href=\"#features-geometryShader\">geometry shaders</a> feature is not enabled, <code>srcStageMask</code> <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT</code>" + "vuid": "VUID-VkSubpassDependency2-srcStageMask-04090", + "text": " If the <a href=\"#features-geometryShader\">geometry shaders</a> feature is not enabled, pname:srcStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT</code>" }, { - "vuid": "VUID-VkSubpassDependency2-dstStageMask-03081", - "text": " If the <a href=\"#features-geometryShader\">geometry shaders</a> feature is not enabled, <code>dstStageMask</code> <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT</code>" + "vuid": "VUID-VkSubpassDependency2-srcStageMask-04091", + "text": " If the <a href=\"#features-tessellationShader\">tessellation shaders</a> feature is not enabled, pname:srcStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT</code> or <code>VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT</code>" }, { - "vuid": "VUID-VkSubpassDependency2-srcStageMask-03082", - "text": " If the <a href=\"#features-tessellationShader\">tessellation shaders</a> feature is not enabled, <code>srcStageMask</code> <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT</code> or <code>VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT</code>" + "vuid": "VUID-VkSubpassDependency2-dstStageMask-04090", + "text": " If the <a href=\"#features-geometryShader\">geometry shaders</a> feature is not enabled, pname:dstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT</code>" }, { - "vuid": "VUID-VkSubpassDependency2-dstStageMask-03083", - "text": " If the <a href=\"#features-tessellationShader\">tessellation shaders</a> feature is not enabled, <code>dstStageMask</code> <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT</code> or <code>VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT</code>" + "vuid": "VUID-VkSubpassDependency2-dstStageMask-04091", + "text": " If the <a href=\"#features-tessellationShader\">tessellation shaders</a> feature is not enabled, pname:dstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT</code> or <code>VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT</code>" }, { "vuid": "VUID-VkSubpassDependency2-srcSubpass-03084", @@ -8337,42 +8413,82 @@ "text": " <code>dependencyFlags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkDependencyFlagBits\">VkDependencyFlagBits</a> values" } ], + "(VK_VERSION_1_2,VK_KHR_create_renderpass2)+(VK_EXT_conditional_rendering)": [ + { + "vuid": "VUID-VkSubpassDependency2-srcStageMask-04092", + "text": " If the <a href=\"#features-conditionalRendering\">conditional rendering</a> feature is not enabled, pname:srcStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT</code>" + }, + { + "vuid": "VUID-VkSubpassDependency2-dstStageMask-04092", + "text": " If the <a href=\"#features-conditionalRendering\">conditional rendering</a> feature is not enabled, pname:dstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT</code>" + } + ], + "(VK_VERSION_1_2,VK_KHR_create_renderpass2)+(VK_EXT_fragment_density_map)": [ + { + "vuid": "VUID-VkSubpassDependency2-srcStageMask-04093", + "text": " If the <a href=\"#features-fragmentDensityMap\">fragment density map</a> feature is not enabled, pname:srcStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT</code>" + }, + { + "vuid": "VUID-VkSubpassDependency2-dstStageMask-04093", + "text": " If the <a href=\"#features-fragmentDensityMap\">fragment density map</a> feature is not enabled, pname:dstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT</code>" + } + ], + "(VK_VERSION_1_2,VK_KHR_create_renderpass2)+(VK_EXT_transform_feedback)": [ + { + "vuid": "VUID-VkSubpassDependency2-srcStageMask-04094", + "text": " If the <a href=\"#features-transformFeedback\">transform feedback</a> feature is not enabled, pname:srcStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT</code>" + }, + { + "vuid": "VUID-VkSubpassDependency2-dstStageMask-04094", + "text": " If the <a href=\"#features-transformFeedback\">transform feedback</a> feature is not enabled, pname:dstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT</code>" + } + ], "(VK_VERSION_1_2,VK_KHR_create_renderpass2)+(VK_NV_mesh_shader)": [ { - "vuid": "VUID-VkSubpassDependency2-srcStageMask-02103", - "text": " If the <a href=\"#features-meshShader\">mesh shaders</a> feature is not enabled, <code>srcStageMask</code> <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV</code>" + "vuid": "VUID-VkSubpassDependency2-srcStageMask-04095", + "text": " If the <a href=\"#features-meshShader\">mesh shaders</a> feature is not enabled, pname:srcStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV</code>" }, { - "vuid": "VUID-VkSubpassDependency2-srcStageMask-02104", - "text": " If the <a href=\"#features-taskShader\">task shaders</a> feature is not enabled, <code>srcStageMask</code> <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV</code>" + "vuid": "VUID-VkSubpassDependency2-srcStageMask-04096", + "text": " If the <a href=\"#features-taskShader\">task shaders</a> feature is not enabled, pname:srcStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV</code>" }, { - "vuid": "VUID-VkSubpassDependency2-dstStageMask-02105", - "text": " If the <a href=\"#features-meshShader\">mesh shaders</a> feature is not enabled, <code>dstStageMask</code> <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV</code>" + "vuid": "VUID-VkSubpassDependency2-dstStageMask-04095", + "text": " If the <a href=\"#features-meshShader\">mesh shaders</a> feature is not enabled, pname:dstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV</code>" }, { - "vuid": "VUID-VkSubpassDependency2-dstStageMask-02106", - "text": " If the <a href=\"#features-taskShader\">task shaders</a> feature is not enabled, <code>dstStageMask</code> <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV</code>" + "vuid": "VUID-VkSubpassDependency2-dstStageMask-04096", + "text": " If the <a href=\"#features-taskShader\">task shaders</a> feature is not enabled, pname:dstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV</code>" + } + ], + "(VK_VERSION_1_2,VK_KHR_create_renderpass2)+(VK_NV_shading_rate_image)": [ + { + "vuid": "VUID-VkSubpassDependency2-srcStageMask-04097", + "text": " If the <a href=\"#features-shadingRateImage\">shading rate image</a> feature is not enabled, pname:srcStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV</code>" + }, + { + "vuid": "VUID-VkSubpassDependency2-dstStageMask-04097", + "text": " If the <a href=\"#features-shadingRateImage\">shading rate image</a> feature is not enabled, pname:dstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV</code>" } ], "(VK_VERSION_1_2,VK_KHR_create_renderpass2)+(VK_KHR_synchronization2)": [ { - "vuid": "VUID-VkSubpassDependency2-synchronization2-04988", - "text": " If the <a href=\"#features-synchronization2\"><code>synchronization2</code></a> feature is not enabled, <code>srcStageMask</code> <strong class=\"purple\">must</strong> not be <code>0</code>" + "vuid": "VUID-VkSubpassDependency2-srcStageMask-03937", + "text": " If the <a href=\"#features-synchronization2\"><code>synchronization2</code></a> feature is not enabled, pname:srcStageMask <strong class=\"purple\">must</strong> not be <code>0</code>" }, { - "vuid": "VUID-VkSubpassDependency2-synchronization2-04989", - "text": " If the <a href=\"#features-synchronization2\"><code>synchronization2</code></a> feature is not enabled, <code>dstStageMask</code> <strong class=\"purple\">must</strong> not be <code>0</code>" + "vuid": "VUID-VkSubpassDependency2-dstStageMask-03937", + "text": " If the <a href=\"#features-synchronization2\"><code>synchronization2</code></a> feature is not enabled, pname:dstStageMask <strong class=\"purple\">must</strong> not be <code>0</code>" } ], "(VK_VERSION_1_2,VK_KHR_create_renderpass2)+!(VK_KHR_synchronization2)": [ { - "vuid": "VUID-VkSubpassDependency2-srcStageMask-04990", - "text": " <code>srcStageMask</code> <strong class=\"purple\">must</strong> not be <code>0</code>" + "vuid": "VUID-VkSubpassDependency2-srcStageMask-04996", + "text": " pname:srcStageMask <strong class=\"purple\">must</strong> not be <code>0</code>" }, { - "vuid": "VUID-VkSubpassDependency2-dstStageMask-04991", - "text": " <code>dstStageMask</code> <strong class=\"purple\">must</strong> not be <code>0</code>" + "vuid": "VUID-VkSubpassDependency2-dstStageMask-04996", + "text": " pname:dstStageMask <strong class=\"purple\">must</strong> not be <code>0</code>" } ] }, @@ -8805,8 +8921,12 @@ "text": " If the <code>initialLayout</code> member of any of the <code>VkAttachmentDescription</code> structures specified when creating the render pass specified in the <code>renderPass</code> member of <code>pRenderPassBegin</code> is not <code>VK_IMAGE_LAYOUT_UNDEFINED</code>, then each such <code>initialLayout</code> <strong class=\"purple\">must</strong> be equal to the current layout of the corresponding attachment image subresource of the framebuffer specified in the <code>framebuffer</code> member of <code>pRenderPassBegin</code>" }, { - "vuid": "VUID-vkCmdBeginRenderPass-srcStageMask-00901", - "text": " The <code>srcStageMask</code> and <code>dstStageMask</code> members of any element of the <code>pDependencies</code> member of <a href=\"#VkRenderPassCreateInfo\">VkRenderPassCreateInfo</a> used to create <code>renderPass</code> <strong class=\"purple\">must</strong> be supported by the capabilities of the queue family identified by the <code>queueFamilyIndex</code> member of the <a href=\"#VkCommandPoolCreateInfo\">VkCommandPoolCreateInfo</a> used to create the command pool which <code>commandBuffer</code> was allocated from" + "vuid": "VUID-vkCmdBeginRenderPass-srcStageMask-06451", + "text": " The <code>srcStageMask</code> members of any element of the <code>pDependencies</code> member of <a href=\"#VkRenderPassCreateInfo\">VkRenderPassCreateInfo</a> used to create <code>renderPass</code> <strong class=\"purple\">must</strong> be supported by the capabilities of the queue family identified by the <code>queueFamilyIndex</code> member of the <a href=\"#VkCommandPoolCreateInfo\">VkCommandPoolCreateInfo</a> used to create the command pool which <code>commandBuffer</code> was allocated from" + }, + { + "vuid": "VUID-vkCmdBeginRenderPass-dstStageMask-06452", + "text": " The <code>dstStageMask</code> members of any element of the <code>pDependencies</code> member of <a href=\"#VkRenderPassCreateInfo\">VkRenderPassCreateInfo</a> used to create <code>renderPass</code> <strong class=\"purple\">must</strong> be supported by the capabilities of the queue family identified by the <code>queueFamilyIndex</code> member of the <a href=\"#VkCommandPoolCreateInfo\">VkCommandPoolCreateInfo</a> used to create the command pool which <code>commandBuffer</code> was allocated from" }, { "vuid": "VUID-vkCmdBeginRenderPass-framebuffer-02532", @@ -8895,8 +9015,12 @@ "text": " If the <code>initialLayout</code> member of any of the <code>VkAttachmentDescription</code> structures specified when creating the render pass specified in the <code>renderPass</code> member of <code>pRenderPassBegin</code> is not <code>VK_IMAGE_LAYOUT_UNDEFINED</code>, then each such <code>initialLayout</code> <strong class=\"purple\">must</strong> be equal to the current layout of the corresponding attachment image subresource of the framebuffer specified in the <code>framebuffer</code> member of <code>pRenderPassBegin</code>" }, { - "vuid": "VUID-vkCmdBeginRenderPass2-srcStageMask-03101", - "text": " The <code>srcStageMask</code> and <code>dstStageMask</code> members of any element of the <code>pDependencies</code> member of <a href=\"#VkRenderPassCreateInfo\">VkRenderPassCreateInfo</a> used to create <code>renderPass</code> <strong class=\"purple\">must</strong> be supported by the capabilities of the queue family identified by the <code>queueFamilyIndex</code> member of the <a href=\"#VkCommandPoolCreateInfo\">VkCommandPoolCreateInfo</a> used to create the command pool which <code>commandBuffer</code> was allocated from" + "vuid": "VUID-vkCmdBeginRenderPass2-srcStageMask-06453", + "text": " The <code>srcStageMask</code> members of any element of the <code>pDependencies</code> member of <a href=\"#VkRenderPassCreateInfo\">VkRenderPassCreateInfo</a> used to create <code>renderPass</code> <strong class=\"purple\">must</strong> be supported by the capabilities of the queue family identified by the <code>queueFamilyIndex</code> member of the <a href=\"#VkCommandPoolCreateInfo\">VkCommandPoolCreateInfo</a> used to create the command pool which <code>commandBuffer</code> was allocated from" + }, + { + "vuid": "VUID-vkCmdBeginRenderPass2-dstStageMask-06454", + "text": " The <code>dstStageMask</code> members of any element of the <code>pDependencies</code> member of <a href=\"#VkRenderPassCreateInfo\">VkRenderPassCreateInfo</a> used to create <code>renderPass</code> <strong class=\"purple\">must</strong> be supported by the capabilities of the queue family identified by the <code>queueFamilyIndex</code> member of the <a href=\"#VkCommandPoolCreateInfo\">VkCommandPoolCreateInfo</a> used to create the command pool which <code>commandBuffer</code> was allocated from" }, { "vuid": "VUID-vkCmdBeginRenderPass2-framebuffer-02533", @@ -15252,7 +15376,7 @@ }, { "vuid": "VUID-VkImageViewCreateInfo-pNext-pNext", - "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkImageViewASTCDecodeModeEXT\">VkImageViewASTCDecodeModeEXT</a>, <a href=\"#VkImageViewUsageCreateInfo\">VkImageViewUsageCreateInfo</a>, <a href=\"#VkSamplerYcbcrConversionInfo\">VkSamplerYcbcrConversionInfo</a>, <a href=\"#VkVideoDecodeH264ProfileEXT\">VkVideoDecodeH264ProfileEXT</a>, <a href=\"#VkVideoDecodeH265ProfileEXT\">VkVideoDecodeH265ProfileEXT</a>, <a href=\"#VkVideoEncodeH264ProfileEXT\">VkVideoEncodeH264ProfileEXT</a>, <a href=\"#VkVideoEncodeH265ProfileEXT\">VkVideoEncodeH265ProfileEXT</a>, <a href=\"#VkVideoProfileKHR\">VkVideoProfileKHR</a>, or <a href=\"#VkVideoProfilesKHR\">VkVideoProfilesKHR</a>" + "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkImageViewASTCDecodeModeEXT\">VkImageViewASTCDecodeModeEXT</a>, <a href=\"#VkImageViewMinLodCreateInfoEXT\">VkImageViewMinLodCreateInfoEXT</a>, <a href=\"#VkImageViewUsageCreateInfo\">VkImageViewUsageCreateInfo</a>, <a href=\"#VkSamplerYcbcrConversionInfo\">VkSamplerYcbcrConversionInfo</a>, <a href=\"#VkVideoDecodeH264ProfileEXT\">VkVideoDecodeH264ProfileEXT</a>, <a href=\"#VkVideoDecodeH265ProfileEXT\">VkVideoDecodeH265ProfileEXT</a>, <a href=\"#VkVideoEncodeH264ProfileEXT\">VkVideoEncodeH264ProfileEXT</a>, <a href=\"#VkVideoEncodeH265ProfileEXT\">VkVideoEncodeH265ProfileEXT</a>, <a href=\"#VkVideoProfileKHR\">VkVideoProfileKHR</a>, or <a href=\"#VkVideoProfilesKHR\">VkVideoProfilesKHR</a>" }, { "vuid": "VUID-VkImageViewCreateInfo-sType-unique", @@ -15732,6 +15856,22 @@ } ] }, + "VkImageViewMinLodCreateInfoEXT": { + "(VK_EXT_image_view_min_lod)": [ + { + "vuid": "VUID-VkImageViewMinLodCreateInfoEXT-minLod-06455", + "text": " If the <a href=\"#features-minLod\"><code>minLod</code></a> feature is not enabled, <code>minLod</code> <strong class=\"purple\">must</strong> be <code>0.0</code>." + }, + { + "vuid": "VUID-VkImageViewMinLodCreateInfoEXT-minLod-06456", + "text": " <code>minLod</code> <strong class=\"purple\">must</strong> be less or equal to the index of the last mipmap level accessible to the view." + }, + { + "vuid": "VUID-VkImageViewMinLodCreateInfoEXT-sType-sType", + "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT</code>" + } + ] + }, "vkCreateAccelerationStructureNV": { "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)+(VK_NV_ray_tracing)": [ { @@ -19416,6 +19556,12 @@ "vuid": "VUID-VkWriteDescriptorSet-dstSet-04611", "text": " If the <code>VkDescriptorSetLayoutBinding</code> for <code>dstSet</code> at <code>dstBinding</code> is <code>VK_DESCRIPTOR_TYPE_MUTABLE_VALVE</code>, the new active descriptor type <code>descriptorType</code> <strong class=\"purple\">must</strong> exist in the corresponding <code>pMutableDescriptorTypeLists</code> list for <code>dstBinding</code>" } + ], + "(VK_EXT_image_view_min_lod)": [ + { + "vuid": "VUID-VkWriteDescriptorSet-descriptorType-06450", + "text": " If <code>descriptorType</code> is <code>VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT</code>, the <code>imageView</code> member of each element of <code>pImageInfo</code> <strong class=\"purple\">must</strong> have either been created without a <a href=\"#VkImageViewMinLodCreateInfoEXT\">VkImageViewMinLodCreateInfoEXT</a> present in the <code>pNext</code> chain or with a <a href=\"#VkImageViewMinLodCreateInfoEXT\">VkImageViewMinLodCreateInfoEXT</a>::<code>minLod</code> of <code>0.0</code>" + } ] }, "VkDescriptorBufferInfo": { @@ -45362,6 +45508,14 @@ } ] }, + "VkPhysicalDeviceImageViewMinLodFeaturesEXT": { + "(VK_EXT_image_view_min_lod)": [ + { + "vuid": "VUID-VkPhysicalDeviceImageViewMinLodFeaturesEXT-sType-sType", + "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT</code>" + } + ] + }, "VkPhysicalDevicePushDescriptorPropertiesKHR": { "(VK_KHR_push_descriptor)": [ { @@ -47427,14 +47581,14 @@ { "vuid": "VUID-RuntimeSpirv-OpTypeImage-06270", "text": " If <a href=\"#features-shaderStorageImageReadWithoutFormat\">shaderStorageImageReadWithoutFormat</a> is not enabled, any variable created with a “Type” of <code>OpTypeImage</code> that has a “Sampled” operand of 2 and an “Image Format” operand of <code>Unknown</code> <strong class=\"purple\">must</strong> be decorated with <code>NonReadable</code>." - }, - { - "vuid": "VUID-RuntimeSpirv-BuiltIn-06271", - "text": " Any <code>BuiltIn</code> decoration that corresponds only to Vulkan features or" } ], "core": [ { + "vuid": "VUID-RuntimeSpirv-BuiltIn-06271", + "text": " Any <code>BuiltIn</code> decoration that corresponds only to Vulkan features or extensions that have not been enabled <strong class=\"purple\">must</strong> not be used." + }, + { "vuid": "VUID-RuntimeSpirv-Location-06272", "text": " The sum of <code>Location</code> and the number of locations the variable it decorates consumes <strong class=\"purple\">must</strong> be less than or equal to the value for the matching {ExecutionModel} defined in <a href=\"#interfaces-iointerfaces-limits\">Shader Input and Output Locations</a>" }, @@ -47943,6 +48097,178 @@ "text": " The execution mode <code>SubgroupUniformControlFlowKHR</code> <strong class=\"purple\">must</strong> not be applied to an entry point unless <a href=\"#features-shaderSubgroupUniformControlFlow\"><code>shaderSubgroupUniformControlFlow</code></a> is enabled and the corresponding shader stage bit is set in subgroup <a href=\"#limits-subgroup-supportedStages\"><code>supportedStages</code></a> and the entry point does not execute any <a href=\"#ray-tracing-repack\"><em>invocation repack instructions</em></a>." } ] + }, + "vkCreateCuFunctionNVX": { + "(VK_NVX_binary_import)": [ + { + "vuid": "VUID-vkCreateCuFunctionNVX-device-parameter", + "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle" + }, + { + "vuid": "VUID-vkCreateCuFunctionNVX-pCreateInfo-parameter", + "text": " <code>pCreateInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkCuFunctionCreateInfoNVX\">VkCuFunctionCreateInfoNVX</a> structure" + }, + { + "vuid": "VUID-vkCreateCuFunctionNVX-pAllocator-parameter", + "text": " If <code>pAllocator</code> is not <code>NULL</code>, <code>pAllocator</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkAllocationCallbacks\">VkAllocationCallbacks</a> structure" + }, + { + "vuid": "VUID-vkCreateCuFunctionNVX-pFunction-parameter", + "text": " <code>pFunction</code> <strong class=\"purple\">must</strong> be a valid pointer to a <a href=\"#VkCuFunctionNVX\">VkCuFunctionNVX</a> handle" + } + ] + }, + "VkCuFunctionCreateInfoNVX": { + "(VK_NVX_binary_import)": [ + { + "vuid": "VUID-VkCuFunctionCreateInfoNVX-sType-sType", + "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX</code>" + }, + { + "vuid": "VUID-VkCuFunctionCreateInfoNVX-pNext-pNext", + "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>" + }, + { + "vuid": "VUID-VkCuFunctionCreateInfoNVX-module-parameter", + "text": " <code>module</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCuModuleNVX\">VkCuModuleNVX</a> handle" + }, + { + "vuid": "VUID-VkCuFunctionCreateInfoNVX-pName-parameter", + "text": " <code>pName</code> <strong class=\"purple\">must</strong> be a null-terminated UTF-8 string" + } + ] + }, + "vkDestroyCuFunctionNVX": { + "(VK_NVX_binary_import)": [ + { + "vuid": "VUID-vkDestroyCuFunctionNVX-device-parameter", + "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle" + }, + { + "vuid": "VUID-vkDestroyCuFunctionNVX-function-parameter", + "text": " <code>function</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCuFunctionNVX\">VkCuFunctionNVX</a> handle" + }, + { + "vuid": "VUID-vkDestroyCuFunctionNVX-pAllocator-parameter", + "text": " If <code>pAllocator</code> is not <code>NULL</code>, <code>pAllocator</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkAllocationCallbacks\">VkAllocationCallbacks</a> structure" + }, + { + "vuid": "VUID-vkDestroyCuFunctionNVX-function-parent", + "text": " <code>function</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>" + } + ] + }, + "vkCreateCuModuleNVX": { + "(VK_NVX_binary_import)": [ + { + "vuid": "VUID-vkCreateCuModuleNVX-device-parameter", + "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle" + }, + { + "vuid": "VUID-vkCreateCuModuleNVX-pCreateInfo-parameter", + "text": " <code>pCreateInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkCuModuleCreateInfoNVX\">VkCuModuleCreateInfoNVX</a> structure" + }, + { + "vuid": "VUID-vkCreateCuModuleNVX-pAllocator-parameter", + "text": " If <code>pAllocator</code> is not <code>NULL</code>, <code>pAllocator</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkAllocationCallbacks\">VkAllocationCallbacks</a> structure" + }, + { + "vuid": "VUID-vkCreateCuModuleNVX-pModule-parameter", + "text": " <code>pModule</code> <strong class=\"purple\">must</strong> be a valid pointer to a <a href=\"#VkCuModuleNVX\">VkCuModuleNVX</a> handle" + } + ] + }, + "VkCuModuleCreateInfoNVX": { + "(VK_NVX_binary_import)": [ + { + "vuid": "VUID-VkCuModuleCreateInfoNVX-sType-sType", + "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX</code>" + }, + { + "vuid": "VUID-VkCuModuleCreateInfoNVX-pNext-pNext", + "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>" + }, + { + "vuid": "VUID-VkCuModuleCreateInfoNVX-pData-parameter", + "text": " <code>pData</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>dataSize</code> bytes" + }, + { + "vuid": "VUID-VkCuModuleCreateInfoNVX-dataSize-arraylength", + "text": " <code>dataSize</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>" + } + ] + }, + "vkDestroyCuModuleNVX": { + "(VK_NVX_binary_import)": [ + { + "vuid": "VUID-vkDestroyCuModuleNVX-device-parameter", + "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle" + }, + { + "vuid": "VUID-vkDestroyCuModuleNVX-module-parameter", + "text": " <code>module</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCuModuleNVX\">VkCuModuleNVX</a> handle" + }, + { + "vuid": "VUID-vkDestroyCuModuleNVX-pAllocator-parameter", + "text": " If <code>pAllocator</code> is not <code>NULL</code>, <code>pAllocator</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkAllocationCallbacks\">VkAllocationCallbacks</a> structure" + }, + { + "vuid": "VUID-vkDestroyCuModuleNVX-module-parent", + "text": " <code>module</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>" + } + ] + }, + "vkCmdCuLaunchKernelNVX": { + "(VK_NVX_binary_import)": [ + { + "vuid": "VUID-vkCmdCuLaunchKernelNVX-commandBuffer-parameter", + "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle" + }, + { + "vuid": "VUID-vkCmdCuLaunchKernelNVX-pLaunchInfo-parameter", + "text": " <code>pLaunchInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkCuLaunchInfoNVX\">VkCuLaunchInfoNVX</a> structure" + }, + { + "vuid": "VUID-vkCmdCuLaunchKernelNVX-commandBuffer-recording", + "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>" + }, + { + "vuid": "VUID-vkCmdCuLaunchKernelNVX-commandBuffer-cmdpool", + "text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support graphics, or compute operations" + } + ] + }, + "VkCuLaunchInfoNVX": { + "(VK_NVX_binary_import)": [ + { + "vuid": "VUID-VkCuLaunchInfoNVX-sType-sType", + "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX</code>" + }, + { + "vuid": "VUID-VkCuLaunchInfoNVX-pNext-pNext", + "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>" + }, + { + "vuid": "VUID-VkCuLaunchInfoNVX-function-parameter", + "text": " <code>function</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCuFunctionNVX\">VkCuFunctionNVX</a> handle" + }, + { + "vuid": "VUID-VkCuLaunchInfoNVX-pParams-parameter", + "text": " <code>pParams</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>paramCount</code> bytes" + }, + { + "vuid": "VUID-VkCuLaunchInfoNVX-pExtras-parameter", + "text": " <code>pExtras</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>extraCount</code> bytes" + }, + { + "vuid": "VUID-VkCuLaunchInfoNVX-paramCount-arraylength", + "text": " <code>paramCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>" + }, + { + "vuid": "VUID-VkCuLaunchInfoNVX-extraCount-arraylength", + "text": " <code>extraCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>" + } + ] } } }
\ No newline at end of file diff --git a/registry/vk.xml b/registry/vk.xml index 4995c6f..c753e0a 100644 --- a/registry/vk.xml +++ b/registry/vk.xml @@ -155,7 +155,7 @@ branch of the member gitlab server. <type category="define" requires="VK_MAKE_API_VERSION">// Vulkan 1.2 version number #define <name>VK_API_VERSION_1_2</name> <type>VK_MAKE_API_VERSION</type>(0, 1, 2, 0)// Patch version should always be set to 0</type> <type category="define">// Version of this file -#define <name>VK_HEADER_VERSION</name> 198</type> +#define <name>VK_HEADER_VERSION</name> 199</type> <type category="define" requires="VK_HEADER_VERSION">// Complete version of this file #define <name>VK_HEADER_VERSION_COMPLETE</name> <type>VK_MAKE_API_VERSION</type>(0, 1, 2, VK_HEADER_VERSION)</type> @@ -6008,7 +6008,6 @@ typedef void <name>CAMetalLayer</name>; </type> <type category="include" name="vk_video/vulkan_video_codec_h265std_encode.h">#include "vk_video/vulkan_video_codec_h265std_encode.h"</type> <type requires="vk_video/vulkan_video_codec_h265std_encode.h" name="StdVideoEncodeH265PictureInfoFlags"/> - <type requires="vk_video/vulkan_video_codec_h265std_encode.h" name="StdVideoEncodeH265SliceSegmentHeader"/> <type requires="vk_video/vulkan_video_codec_h265std_encode.h" name="StdVideoEncodeH265PictureInfo"/> <type requires="vk_video/vulkan_video_codec_h265std_encode.h" name="StdVideoEncodeH265SliceHeader"/> <type requires="vk_video/vulkan_video_codec_h265std_encode.h" name="StdVideoEncodeH265ReferenceInfo"/> @@ -6451,6 +6450,16 @@ typedef void <name>CAMetalLayer</name>; <member><type>VkBool32</type> <name>perViewAttributes</name></member> <member><type>VkBool32</type> <name>perViewAttributesPositionXOnly</name></member> </type> + <type category="struct" name="VkPhysicalDeviceImageViewMinLodFeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo"> + <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true" noautovalidity="true"><type>void</type>* <name>pNext</name></member> + <member><type>VkBool32</type> <name>minLod</name></member> + </type> + <type category="struct" name="VkImageViewMinLodCreateInfoEXT" structextends="VkImageViewCreateInfo"> + <member values="VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true">const <type>void</type>* <name>pNext</name></member> + <member><type>float</type> <name>minLod</name></member> + </type> </types> <comment>Vulkan enumerant (token) definitions</comment> @@ -7622,6 +7631,7 @@ typedef void <name>CAMetalLayer</name>; <enum value="18" name="VK_DRIVER_ID_MESA_TURNIP" comment="Mesa open source project"/> <enum value="19" name="VK_DRIVER_ID_MESA_V3DV" comment="Mesa open source project"/> <enum value="20" name="VK_DRIVER_ID_MESA_PANVK" comment="Mesa open source project"/> + <enum value="21" name="VK_DRIVER_ID_SAMSUNG_PROPRIETARY" comment="Samsung Electronics Co., Ltd."/> </enums> <enums name="VkConditionalRenderingFlagBitsEXT" type="bitmask"> <enum bitpos="0" name="VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT"/> @@ -16505,6 +16515,7 @@ typedef void <name>CAMetalLayer</name>; <enum bitpos="5" extends="VkBufferCreateFlagBits" name="VK_BUFFER_CREATE_RESERVED_5_BIT_AMD"/> <enum bitpos="16" extends="VkImageCreateFlagBits" name="VK_IMAGE_CREATE_RESERVED_16_BIT_AMD"/> <enum bitpos="3" extends="VkSamplerCreateFlagBits" name="VK_SAMPLER_CREATE_RESERVED_3_BIT_AMD"/> + <enum bitpos="41" extends="VkAccessFlagBits2KHR" name="VK_ACCESS_2_RESERVED_41_BIT_AMD"/> </require> </extension> <extension name="VK_AMD_extension_318" number="318" author="AMD" contact="Martin Dinkov @mdinkov" supported="disabled"> @@ -17167,10 +17178,14 @@ typedef void <name>CAMetalLayer</name>; <enum value=""VK_EXT_extension_391"" name="VK_EXT_EXTENSION_391_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_EXT_extension_392" number="392" author="EXT" contact="Joshua Ashton @Joshua-Ashton" supported="disabled"> + <extension name="VK_EXT_image_view_min_lod" number="392" type="device" requires="VK_KHR_get_physical_device_properties2" author="EXT" contact="Joshua Ashton @Joshua-Ashton" supported="vulkan"> <require> - <enum value="0" name="VK_EXT_EXTENSION_392_SPEC_VERSION"/> - <enum value=""VK_EXT_extension_392"" name="VK_EXT_EXTENSION_392_EXTENSION_NAME"/> + <enum value="1" name="VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION"/> + <enum value=""VK_EXT_image_view_min_lod"" name="VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME"/> + <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT"/> + <enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT"/> + <type name="VkPhysicalDeviceImageViewMinLodFeaturesEXT"/> + <type name="VkImageViewMinLodCreateInfoEXT"/> </require> </extension> <extension name="VK_EXT_multi_draw" number="393" author="EXT" contact="Mike Blumenkrantz @zmike" type="device" supported="vulkan"> @@ -17450,10 +17465,1390 @@ typedef void <name>CAMetalLayer</name>; <enum value=""VK_NV_extension_433"" name="VK_NV_EXTENSION_433_EXTENSION_NAME"/> </require> </extension> + <extension name="VK_EXT_extension_434" number="434" author="EXT" contact="Shahbaz Youssefi @syoussefi" supported="disabled"> + <require> + <enum value="0" name="VK_EXT_EXTENSION_434_SPEC_VERSION"/> + <enum value=""VK_EXT_extension_434"" name="VK_EXT_EXTENSION_434_EXTENSION_NAME"/> + </require> + </extension> + <extension name="VK_KHR_extension_435" number="435" author="KHR" contact="Alan Baker @alan-baker" supported="disabled"> + <require> + <enum value="0" name="VK_KHR_EXTENSION_435_SPEC_VERSION"/> + <enum value=""VK_KHR_extension_435"" name="VK_KHR_EXTENSION_435_EXTENSION_NAME"/> + </require> + </extension> </extensions> + <formats> + <format name="VK_FORMAT_R4G4_UNORM_PACK8" class="8-bit" blockSize="1" texelsPerBlock="1" packed="8"> + <component name="R" bits="4" numericFormat="UNORM"/> + <component name="G" bits="4" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_R4G4B4A4_UNORM_PACK16" class="16-bit" blockSize="2" texelsPerBlock="1" packed="16"> + <component name="R" bits="4" numericFormat="UNORM"/> + <component name="G" bits="4" numericFormat="UNORM"/> + <component name="B" bits="4" numericFormat="UNORM"/> + <component name="A" bits="4" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_B4G4R4A4_UNORM_PACK16" class="16-bit" blockSize="2" texelsPerBlock="1" packed="16"> + <component name="B" bits="4" numericFormat="UNORM"/> + <component name="G" bits="4" numericFormat="UNORM"/> + <component name="R" bits="4" numericFormat="UNORM"/> + <component name="A" bits="4" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_R5G6B5_UNORM_PACK16" class="16-bit" blockSize="2" texelsPerBlock="1" packed="16"> + <component name="R" bits="5" numericFormat="UNORM"/> + <component name="G" bits="6" numericFormat="UNORM"/> + <component name="B" bits="5" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_B5G6R5_UNORM_PACK16" class="16-bit" blockSize="2" texelsPerBlock="1" packed="16"> + <component name="B" bits="5" numericFormat="UNORM"/> + <component name="G" bits="6" numericFormat="UNORM"/> + <component name="R" bits="5" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_R5G5B5A1_UNORM_PACK16" class="16-bit" blockSize="2" texelsPerBlock="1" packed="16"> + <component name="R" bits="5" numericFormat="UNORM"/> + <component name="G" bits="5" numericFormat="UNORM"/> + <component name="B" bits="5" numericFormat="UNORM"/> + <component name="A" bits="1" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_B5G5R5A1_UNORM_PACK16" class="16-bit" blockSize="2" texelsPerBlock="1" packed="16"> + <component name="B" bits="5" numericFormat="UNORM"/> + <component name="R" bits="5" numericFormat="UNORM"/> + <component name="G" bits="5" numericFormat="UNORM"/> + <component name="A" bits="1" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_A1R5G5B5_UNORM_PACK16" class="16-bit" blockSize="2" texelsPerBlock="1" packed="16"> + <component name="A" bits="1" numericFormat="UNORM"/> + <component name="R" bits="5" numericFormat="UNORM"/> + <component name="G" bits="5" numericFormat="UNORM"/> + <component name="B" bits="5" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_R8_UNORM" class="8-bit" blockSize="1" texelsPerBlock="1"> + <component name="R" bits="8" numericFormat="UNORM"/> + <spirvimageformat name="R8"/> + </format> + <format name="VK_FORMAT_R8_SNORM" class="8-bit" blockSize="1" texelsPerBlock="1"> + <component name="R" bits="8" numericFormat="SNORM"/> + <spirvimageformat name="R8Snorm"/> + </format> + <format name="VK_FORMAT_R8_USCALED" class="8-bit" blockSize="1" texelsPerBlock="1"> + <component name="R" bits="8" numericFormat="USCALED"/> + </format> + <format name="VK_FORMAT_R8_SSCALED" class="8-bit" blockSize="1" texelsPerBlock="1"> + <component name="R" bits="8" numericFormat="SSCALED"/> + </format> + <format name="VK_FORMAT_R8_UINT" class="8-bit" blockSize="1" texelsPerBlock="1"> + <component name="R" bits="8" numericFormat="UINT"/> + <spirvimageformat name="R8ui"/> + </format> + <format name="VK_FORMAT_R8_SINT" class="8-bit" blockSize="1" texelsPerBlock="1"> + <component name="R" bits="8" numericFormat="SINT"/> + <spirvimageformat name="R8i"/> + </format> + <format name="VK_FORMAT_R8_SRGB" class="8-bit" blockSize="1" texelsPerBlock="1"> + <component name="R" bits="8" numericFormat="SRGB"/> + </format> + <format name="VK_FORMAT_R8G8_UNORM" class="16-bit" blockSize="2" texelsPerBlock="1"> + <component name="R" bits="8" numericFormat="UNORM"/> + <component name="G" bits="8" numericFormat="UNORM"/> + <spirvimageformat name="Rg8"/> + </format> + <format name="VK_FORMAT_R8G8_SNORM" class="16-bit" blockSize="2" texelsPerBlock="1"> + <component name="R" bits="8" numericFormat="SNORM"/> + <component name="G" bits="8" numericFormat="SNORM"/> + <spirvimageformat name="Rg8Snorm"/> + </format> + <format name="VK_FORMAT_R8G8_USCALED" class="16-bit" blockSize="2" texelsPerBlock="1"> + <component name="R" bits="8" numericFormat="USCALED"/> + <component name="G" bits="8" numericFormat="USCALED"/> + </format> + <format name="VK_FORMAT_R8G8_SSCALED" class="16-bit" blockSize="2" texelsPerBlock="1"> + <component name="R" bits="8" numericFormat="SSCALED"/> + <component name="G" bits="8" numericFormat="SSCALED"/> + </format> + <format name="VK_FORMAT_R8G8_UINT" class="16-bit" blockSize="2" texelsPerBlock="1"> + <component name="R" bits="8" numericFormat="UINT"/> + <component name="G" bits="8" numericFormat="UINT"/> + <spirvimageformat name="Rg8ui"/> + </format> + <format name="VK_FORMAT_R8G8_SINT" class="16-bit" blockSize="2" texelsPerBlock="1"> + <component name="R" bits="8" numericFormat="SINT"/> + <component name="G" bits="8" numericFormat="SINT"/> + <spirvimageformat name="Rg8i"/> + </format> + <format name="VK_FORMAT_R8G8_SRGB" class="16-bit" blockSize="2" texelsPerBlock="1"> + <component name="R" bits="8" numericFormat="SRGB"/> + <component name="G" bits="8" numericFormat="SRGB"/> + </format> + <format name="VK_FORMAT_R8G8B8_UNORM" class="24-bit" blockSize="3" texelsPerBlock="1"> + <component name="R" bits="8" numericFormat="UNORM"/> + <component name="G" bits="8" numericFormat="UNORM"/> + <component name="B" bits="8" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_R8G8B8_SNORM" class="24-bit" blockSize="3" texelsPerBlock="1"> + <component name="R" bits="8" numericFormat="SNORM"/> + <component name="G" bits="8" numericFormat="SNORM"/> + <component name="B" bits="8" numericFormat="SNORM"/> + </format> + <format name="VK_FORMAT_R8G8B8_USCALED" class="24-bit" blockSize="3" texelsPerBlock="1"> + <component name="R" bits="8" numericFormat="USCALED"/> + <component name="G" bits="8" numericFormat="USCALED"/> + <component name="B" bits="8" numericFormat="USCALED"/> + </format> + <format name="VK_FORMAT_R8G8B8_SSCALED" class="24-bit" blockSize="3" texelsPerBlock="1"> + <component name="R" bits="8" numericFormat="SSCALED"/> + <component name="G" bits="8" numericFormat="SSCALED"/> + <component name="B" bits="8" numericFormat="SSCALED"/> + </format> + <format name="VK_FORMAT_R8G8B8_UINT" class="24-bit" blockSize="3" texelsPerBlock="1"> + <component name="R" bits="8" numericFormat="UINT"/> + <component name="G" bits="8" numericFormat="UINT"/> + <component name="B" bits="8" numericFormat="UINT"/> + </format> + <format name="VK_FORMAT_R8G8B8_SINT" class="24-bit" blockSize="3" texelsPerBlock="1"> + <component name="R" bits="8" numericFormat="SINT"/> + <component name="G" bits="8" numericFormat="SINT"/> + <component name="B" bits="8" numericFormat="SINT"/> + </format> + <format name="VK_FORMAT_R8G8B8_SRGB" class="24-bit" blockSize="3" texelsPerBlock="1"> + <component name="R" bits="8" numericFormat="SRGB"/> + <component name="G" bits="8" numericFormat="SRGB"/> + <component name="B" bits="8" numericFormat="SRGB"/> + </format> + <format name="VK_FORMAT_B8G8R8_UNORM" class="24-bit" blockSize="3" texelsPerBlock="1"> + <component name="B" bits="8" numericFormat="UNORM"/> + <component name="G" bits="8" numericFormat="UNORM"/> + <component name="R" bits="8" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_B8G8R8_SNORM" class="24-bit" blockSize="3" texelsPerBlock="1"> + <component name="B" bits="8" numericFormat="SNORM"/> + <component name="G" bits="8" numericFormat="SNORM"/> + <component name="R" bits="8" numericFormat="SNORM"/> + </format> + <format name="VK_FORMAT_B8G8R8_USCALED" class="24-bit" blockSize="3" texelsPerBlock="1"> + <component name="B" bits="8" numericFormat="USCALED"/> + <component name="G" bits="8" numericFormat="USCALED"/> + <component name="R" bits="8" numericFormat="USCALED"/> + </format> + <format name="VK_FORMAT_B8G8R8_SSCALED" class="24-bit" blockSize="3" texelsPerBlock="1"> + <component name="B" bits="8" numericFormat="SSCALED"/> + <component name="G" bits="8" numericFormat="SSCALED"/> + <component name="R" bits="8" numericFormat="SSCALED"/> + </format> + <format name="VK_FORMAT_B8G8R8_UINT" class="24-bit" blockSize="3" texelsPerBlock="1"> + <component name="B" bits="8" numericFormat="UINT"/> + <component name="G" bits="8" numericFormat="UINT"/> + <component name="R" bits="8" numericFormat="UINT"/> + </format> + <format name="VK_FORMAT_B8G8R8_SINT" class="24-bit" blockSize="3" texelsPerBlock="1"> + <component name="B" bits="8" numericFormat="SINT"/> + <component name="G" bits="8" numericFormat="SINT"/> + <component name="R" bits="8" numericFormat="SINT"/> + </format> + <format name="VK_FORMAT_B8G8R8_SRGB" class="24-bit" blockSize="3" texelsPerBlock="1"> + <component name="B" bits="8" numericFormat="SRGB"/> + <component name="G" bits="8" numericFormat="SRGB"/> + <component name="R" bits="8" numericFormat="SRGB"/> + </format> + <format name="VK_FORMAT_R8G8B8A8_UNORM" class="32-bit" blockSize="4" texelsPerBlock="1"> + <component name="R" bits="8" numericFormat="UNORM"/> + <component name="G" bits="8" numericFormat="UNORM"/> + <component name="B" bits="8" numericFormat="UNORM"/> + <component name="A" bits="8" numericFormat="UNORM"/> + <spirvimageformat name="Rgba8"/> + </format> + <format name="VK_FORMAT_R8G8B8A8_SNORM" class="32-bit" blockSize="4" texelsPerBlock="1"> + <component name="R" bits="8" numericFormat="SNORM"/> + <component name="G" bits="8" numericFormat="SNORM"/> + <component name="B" bits="8" numericFormat="SNORM"/> + <component name="A" bits="8" numericFormat="SNORM"/> + <spirvimageformat name="Rgba8Snorm"/> + </format> + <format name="VK_FORMAT_R8G8B8A8_USCALED" class="32-bit" blockSize="4" texelsPerBlock="1"> + <component name="R" bits="8" numericFormat="USCALED"/> + <component name="G" bits="8" numericFormat="USCALED"/> + <component name="B" bits="8" numericFormat="USCALED"/> + <component name="A" bits="8" numericFormat="USCALED"/> + </format> + <format name="VK_FORMAT_R8G8B8A8_SSCALED" class="32-bit" blockSize="4" texelsPerBlock="1"> + <component name="R" bits="8" numericFormat="SSCALED"/> + <component name="G" bits="8" numericFormat="SSCALED"/> + <component name="B" bits="8" numericFormat="SSCALED"/> + <component name="A" bits="8" numericFormat="SSCALED"/> + </format> + <format name="VK_FORMAT_R8G8B8A8_UINT" class="32-bit" blockSize="4" texelsPerBlock="1"> + <component name="R" bits="8" numericFormat="UINT"/> + <component name="G" bits="8" numericFormat="UINT"/> + <component name="B" bits="8" numericFormat="UINT"/> + <component name="A" bits="8" numericFormat="UINT"/> + <spirvimageformat name="Rgba8ui"/> + </format> + <format name="VK_FORMAT_R8G8B8A8_SINT" class="32-bit" blockSize="4" texelsPerBlock="1"> + <component name="R" bits="8" numericFormat="SINT"/> + <component name="G" bits="8" numericFormat="SINT"/> + <component name="B" bits="8" numericFormat="SINT"/> + <component name="A" bits="8" numericFormat="SINT"/> + <spirvimageformat name="Rgba8i"/> + </format> + <format name="VK_FORMAT_R8G8B8A8_SRGB" class="32-bit" blockSize="4" texelsPerBlock="1"> + <component name="R" bits="8" numericFormat="SRGB"/> + <component name="G" bits="8" numericFormat="SRGB"/> + <component name="B" bits="8" numericFormat="SRGB"/> + <component name="A" bits="8" numericFormat="SRGB"/> + </format> + <format name="VK_FORMAT_B8G8R8A8_UNORM" class="32-bit" blockSize="4" texelsPerBlock="1"> + <component name="B" bits="8" numericFormat="UNORM"/> + <component name="G" bits="8" numericFormat="UNORM"/> + <component name="R" bits="8" numericFormat="UNORM"/> + <component name="A" bits="8" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_B8G8R8A8_SNORM" class="32-bit" blockSize="4" texelsPerBlock="1"> + <component name="B" bits="8" numericFormat="SNORM"/> + <component name="G" bits="8" numericFormat="SNORM"/> + <component name="R" bits="8" numericFormat="SNORM"/> + <component name="A" bits="8" numericFormat="SNORM"/> + </format> + <format name="VK_FORMAT_B8G8R8A8_USCALED" class="32-bit" blockSize="4" texelsPerBlock="1"> + <component name="B" bits="8" numericFormat="USCALED"/> + <component name="G" bits="8" numericFormat="USCALED"/> + <component name="R" bits="8" numericFormat="USCALED"/> + <component name="A" bits="8" numericFormat="USCALED"/> + </format> + <format name="VK_FORMAT_B8G8R8A8_SSCALED" class="32-bit" blockSize="4" texelsPerBlock="1"> + <component name="B" bits="8" numericFormat="SSCALED"/> + <component name="G" bits="8" numericFormat="SSCALED"/> + <component name="R" bits="8" numericFormat="SSCALED"/> + <component name="A" bits="8" numericFormat="SSCALED"/> + </format> + <format name="VK_FORMAT_B8G8R8A8_UINT" class="32-bit" blockSize="4" texelsPerBlock="1"> + <component name="B" bits="8" numericFormat="UINT"/> + <component name="G" bits="8" numericFormat="UINT"/> + <component name="R" bits="8" numericFormat="UINT"/> + <component name="A" bits="8" numericFormat="UINT"/> + </format> + <format name="VK_FORMAT_B8G8R8A8_SINT" class="32-bit" blockSize="4" texelsPerBlock="1"> + <component name="B" bits="8" numericFormat="SINT"/> + <component name="G" bits="8" numericFormat="SINT"/> + <component name="R" bits="8" numericFormat="SINT"/> + <component name="A" bits="8" numericFormat="SINT"/> + </format> + <format name="VK_FORMAT_B8G8R8A8_SRGB" class="32-bit" blockSize="4" texelsPerBlock="1"> + <component name="B" bits="8" numericFormat="SRGB"/> + <component name="G" bits="8" numericFormat="SRGB"/> + <component name="R" bits="8" numericFormat="SRGB"/> + <component name="A" bits="8" numericFormat="SRGB"/> + </format> + <format name="VK_FORMAT_A8B8G8R8_UNORM_PACK32" class="32-bit" blockSize="4" texelsPerBlock="1" packed="32"> + <component name="A" bits="8" numericFormat="UNORM"/> + <component name="B" bits="8" numericFormat="UNORM"/> + <component name="G" bits="8" numericFormat="UNORM"/> + <component name="R" bits="8" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_A8B8G8R8_SNORM_PACK32" class="32-bit" blockSize="4" texelsPerBlock="1" packed="32"> + <component name="A" bits="8" numericFormat="SNORM"/> + <component name="B" bits="8" numericFormat="SNORM"/> + <component name="G" bits="8" numericFormat="SNORM"/> + <component name="R" bits="8" numericFormat="SNORM"/> + </format> + <format name="VK_FORMAT_A8B8G8R8_USCALED_PACK32" class="32-bit" blockSize="4" texelsPerBlock="1" packed="32"> + <component name="A" bits="8" numericFormat="USCALED"/> + <component name="B" bits="8" numericFormat="USCALED"/> + <component name="G" bits="8" numericFormat="USCALED"/> + <component name="R" bits="8" numericFormat="USCALED"/> + </format> + <format name="VK_FORMAT_A8B8G8R8_SSCALED_PACK32" class="32-bit" blockSize="4" texelsPerBlock="1" packed="32"> + <component name="A" bits="8" numericFormat="SSCALED"/> + <component name="B" bits="8" numericFormat="SSCALED"/> + <component name="G" bits="8" numericFormat="SSCALED"/> + <component name="R" bits="8" numericFormat="SSCALED"/> + </format> + <format name="VK_FORMAT_A8B8G8R8_UINT_PACK32" class="32-bit" blockSize="4" texelsPerBlock="1" packed="32"> + <component name="A" bits="8" numericFormat="UINT"/> + <component name="B" bits="8" numericFormat="UINT"/> + <component name="G" bits="8" numericFormat="UINT"/> + <component name="R" bits="8" numericFormat="UINT"/> + </format> + <format name="VK_FORMAT_A8B8G8R8_SINT_PACK32" class="32-bit" blockSize="4" texelsPerBlock="1" packed="32"> + <component name="A" bits="8" numericFormat="SINT"/> + <component name="B" bits="8" numericFormat="SINT"/> + <component name="G" bits="8" numericFormat="SINT"/> + <component name="R" bits="8" numericFormat="SINT"/> + </format> + <format name="VK_FORMAT_A8B8G8R8_SRGB_PACK32" class="32-bit" blockSize="4" texelsPerBlock="1" packed="32"> + <component name="A" bits="8" numericFormat="SRGB"/> + <component name="B" bits="8" numericFormat="SRGB"/> + <component name="G" bits="8" numericFormat="SRGB"/> + <component name="R" bits="8" numericFormat="SRGB"/> + </format> + <format name="VK_FORMAT_A2R10G10B10_UNORM_PACK32" class="32-bit" blockSize="4" texelsPerBlock="1" packed="32"> + <component name="A" bits="2" numericFormat="UNORM"/> + <component name="R" bits="10" numericFormat="UNORM"/> + <component name="G" bits="10" numericFormat="UNORM"/> + <component name="B" bits="10" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_A2R10G10B10_SNORM_PACK32" class="32-bit" blockSize="4" texelsPerBlock="1" packed="32"> + <component name="A" bits="2" numericFormat="SNORM"/> + <component name="R" bits="10" numericFormat="SNORM"/> + <component name="G" bits="10" numericFormat="SNORM"/> + <component name="B" bits="10" numericFormat="SNORM"/> + </format> + <format name="VK_FORMAT_A2R10G10B10_USCALED_PACK32" class="32-bit" blockSize="4" texelsPerBlock="1" packed="32"> + <component name="A" bits="2" numericFormat="USCALED"/> + <component name="R" bits="10" numericFormat="USCALED"/> + <component name="G" bits="10" numericFormat="USCALED"/> + <component name="B" bits="10" numericFormat="USCALED"/> + </format> + <format name="VK_FORMAT_A2R10G10B10_SSCALED_PACK32" class="32-bit" blockSize="4" texelsPerBlock="1" packed="32"> + <component name="A" bits="2" numericFormat="SSCALED"/> + <component name="R" bits="10" numericFormat="SSCALED"/> + <component name="G" bits="10" numericFormat="SSCALED"/> + <component name="B" bits="10" numericFormat="SSCALED"/> + </format> + <format name="VK_FORMAT_A2R10G10B10_UINT_PACK32" class="32-bit" blockSize="4" texelsPerBlock="1" packed="32"> + <component name="A" bits="2" numericFormat="UINT"/> + <component name="R" bits="10" numericFormat="UINT"/> + <component name="G" bits="10" numericFormat="UINT"/> + <component name="B" bits="10" numericFormat="UINT"/> + </format> + <format name="VK_FORMAT_A2R10G10B10_SINT_PACK32" class="32-bit" blockSize="4" texelsPerBlock="1" packed="32"> + <component name="A" bits="2" numericFormat="SINT"/> + <component name="R" bits="10" numericFormat="SINT"/> + <component name="G" bits="10" numericFormat="SINT"/> + <component name="B" bits="10" numericFormat="SINT"/> + </format> + <format name="VK_FORMAT_A2B10G10R10_UNORM_PACK32" class="32-bit" blockSize="4" texelsPerBlock="1" packed="32"> + <component name="A" bits="2" numericFormat="UNORM"/> + <component name="B" bits="10" numericFormat="UNORM"/> + <component name="G" bits="10" numericFormat="UNORM"/> + <component name="R" bits="10" numericFormat="UNORM"/> + <spirvimageformat name="Rgb10A2"/> + </format> + <format name="VK_FORMAT_A2B10G10R10_SNORM_PACK32" class="32-bit" blockSize="4" texelsPerBlock="1" packed="32"> + <component name="A" bits="2" numericFormat="SNORM"/> + <component name="B" bits="10" numericFormat="SNORM"/> + <component name="G" bits="10" numericFormat="SNORM"/> + <component name="R" bits="10" numericFormat="SNORM"/> + </format> + <format name="VK_FORMAT_A2B10G10R10_USCALED_PACK32" class="32-bit" blockSize="4" texelsPerBlock="1" packed="32"> + <component name="A" bits="2" numericFormat="USCALED"/> + <component name="B" bits="10" numericFormat="USCALED"/> + <component name="G" bits="10" numericFormat="USCALED"/> + <component name="R" bits="10" numericFormat="USCALED"/> + </format> + <format name="VK_FORMAT_A2B10G10R10_SSCALED_PACK32" class="32-bit" blockSize="4" texelsPerBlock="1" packed="32"> + <component name="A" bits="2" numericFormat="SSCALED"/> + <component name="B" bits="10" numericFormat="SSCALED"/> + <component name="G" bits="10" numericFormat="SSCALED"/> + <component name="R" bits="10" numericFormat="SSCALED"/> + </format> + <format name="VK_FORMAT_A2B10G10R10_UINT_PACK32" class="32-bit" blockSize="4" texelsPerBlock="1" packed="32"> + <component name="A" bits="2" numericFormat="UINT"/> + <component name="B" bits="10" numericFormat="UINT"/> + <component name="G" bits="10" numericFormat="UINT"/> + <component name="R" bits="10" numericFormat="UINT"/> + <spirvimageformat name="Rgb10a2ui"/> + </format> + <format name="VK_FORMAT_A2B10G10R10_SINT_PACK32" class="32-bit" blockSize="4" texelsPerBlock="1" packed="32"> + <component name="A" bits="2" numericFormat="SINT"/> + <component name="B" bits="10" numericFormat="SINT"/> + <component name="G" bits="10" numericFormat="SINT"/> + <component name="R" bits="10" numericFormat="SINT"/> + </format> + <format name="VK_FORMAT_R16_UNORM" class="16-bit" blockSize="2" texelsPerBlock="1"> + <component name="R" bits="16" numericFormat="UNORM"/> + <spirvimageformat name="R16"/> + </format> + <format name="VK_FORMAT_R16_SNORM" class="16-bit" blockSize="2" texelsPerBlock="1"> + <component name="R" bits="16" numericFormat="SNORM"/> + <spirvimageformat name="R16Snorm"/> + </format> + <format name="VK_FORMAT_R16_USCALED" class="16-bit" blockSize="2" texelsPerBlock="1"> + <component name="R" bits="16" numericFormat="USCALED"/> + </format> + <format name="VK_FORMAT_R16_SSCALED" class="16-bit" blockSize="2" texelsPerBlock="1"> + <component name="R" bits="16" numericFormat="SSCALED"/> + </format> + <format name="VK_FORMAT_R16_UINT" class="16-bit" blockSize="2" texelsPerBlock="1"> + <component name="R" bits="16" numericFormat="UINT"/> + <spirvimageformat name="R16ui"/> + </format> + <format name="VK_FORMAT_R16_SINT" class="16-bit" blockSize="2" texelsPerBlock="1"> + <component name="R" bits="16" numericFormat="SINT"/> + <spirvimageformat name="R16i"/> + </format> + <format name="VK_FORMAT_R16_SFLOAT" class="16-bit" blockSize="2" texelsPerBlock="1"> + <component name="R" bits="16" numericFormat="SFLOAT"/> + <spirvimageformat name="R16f"/> + </format> + <format name="VK_FORMAT_R16G16_UNORM" class="32-bit" blockSize="4" texelsPerBlock="1"> + <component name="R" bits="16" numericFormat="UNORM"/> + <component name="G" bits="16" numericFormat="UNORM"/> + <spirvimageformat name="Rg16"/> + </format> + <format name="VK_FORMAT_R16G16_SNORM" class="32-bit" blockSize="4" texelsPerBlock="1"> + <component name="R" bits="16" numericFormat="SNORM"/> + <component name="G" bits="16" numericFormat="SNORM"/> + <spirvimageformat name="Rg16Snorm"/> + </format> + <format name="VK_FORMAT_R16G16_USCALED" class="32-bit" blockSize="4" texelsPerBlock="1"> + <component name="R" bits="16" numericFormat="USCALED"/> + <component name="G" bits="16" numericFormat="USCALED"/> + </format> + <format name="VK_FORMAT_R16G16_SSCALED" class="32-bit" blockSize="4" texelsPerBlock="1"> + <component name="R" bits="16" numericFormat="SSCALED"/> + <component name="G" bits="16" numericFormat="SSCALED"/> + </format> + <format name="VK_FORMAT_R16G16_UINT" class="32-bit" blockSize="4" texelsPerBlock="1"> + <component name="R" bits="16" numericFormat="UINT"/> + <component name="G" bits="16" numericFormat="UINT"/> + <spirvimageformat name="Rg16ui"/> + </format> + <format name="VK_FORMAT_R16G16_SINT" class="32-bit" blockSize="4" texelsPerBlock="1"> + <component name="R" bits="16" numericFormat="SINT"/> + <component name="G" bits="16" numericFormat="SINT"/> + <spirvimageformat name="Rg16i"/> + </format> + <format name="VK_FORMAT_R16G16_SFLOAT" class="32-bit" blockSize="4" texelsPerBlock="1"> + <component name="R" bits="16" numericFormat="SFLOAT"/> + <component name="G" bits="16" numericFormat="SFLOAT"/> + <spirvimageformat name="Rg16f"/> + </format> + <format name="VK_FORMAT_R16G16B16_UNORM" class="48-bit" blockSize="6" texelsPerBlock="1"> + <component name="R" bits="16" numericFormat="UNORM"/> + <component name="G" bits="16" numericFormat="UNORM"/> + <component name="B" bits="16" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_R16G16B16_SNORM" class="48-bit" blockSize="6" texelsPerBlock="1"> + <component name="R" bits="16" numericFormat="SNORM"/> + <component name="G" bits="16" numericFormat="SNORM"/> + <component name="B" bits="16" numericFormat="SNORM"/> + </format> + <format name="VK_FORMAT_R16G16B16_USCALED" class="48-bit" blockSize="6" texelsPerBlock="1"> + <component name="R" bits="16" numericFormat="USCALED"/> + <component name="G" bits="16" numericFormat="USCALED"/> + <component name="B" bits="16" numericFormat="USCALED"/> + </format> + <format name="VK_FORMAT_R16G16B16_SSCALED" class="48-bit" blockSize="6" texelsPerBlock="1"> + <component name="R" bits="16" numericFormat="SSCALED"/> + <component name="G" bits="16" numericFormat="SSCALED"/> + <component name="B" bits="16" numericFormat="SSCALED"/> + </format> + <format name="VK_FORMAT_R16G16B16_UINT" class="48-bit" blockSize="6" texelsPerBlock="1"> + <component name="R" bits="16" numericFormat="UINT"/> + <component name="G" bits="16" numericFormat="UINT"/> + <component name="B" bits="16" numericFormat="UINT"/> + </format> + <format name="VK_FORMAT_R16G16B16_SINT" class="48-bit" blockSize="6" texelsPerBlock="1"> + <component name="R" bits="16" numericFormat="SINT"/> + <component name="G" bits="16" numericFormat="SINT"/> + <component name="B" bits="16" numericFormat="SINT"/> + </format> + <format name="VK_FORMAT_R16G16B16_SFLOAT" class="48-bit" blockSize="6" texelsPerBlock="1"> + <component name="R" bits="16" numericFormat="SFLOAT"/> + <component name="G" bits="16" numericFormat="SFLOAT"/> + <component name="B" bits="16" numericFormat="SFLOAT"/> + </format> + <format name="VK_FORMAT_R16G16B16A16_UNORM" class="64-bit" blockSize="8" texelsPerBlock="1"> + <component name="R" bits="16" numericFormat="UNORM"/> + <component name="G" bits="16" numericFormat="UNORM"/> + <component name="B" bits="16" numericFormat="UNORM"/> + <component name="A" bits="16" numericFormat="UNORM"/> + <spirvimageformat name="Rgba16"/> + </format> + <format name="VK_FORMAT_R16G16B16A16_SNORM" class="64-bit" blockSize="8" texelsPerBlock="1"> + <component name="R" bits="16" numericFormat="SNORM"/> + <component name="G" bits="16" numericFormat="SNORM"/> + <component name="B" bits="16" numericFormat="SNORM"/> + <component name="A" bits="16" numericFormat="SNORM"/> + <spirvimageformat name="Rgba16Snorm"/> + </format> + <format name="VK_FORMAT_R16G16B16A16_USCALED" class="64-bit" blockSize="8" texelsPerBlock="1"> + <component name="R" bits="16" numericFormat="USCALED"/> + <component name="G" bits="16" numericFormat="USCALED"/> + <component name="B" bits="16" numericFormat="USCALED"/> + <component name="A" bits="16" numericFormat="USCALED"/> + </format> + <format name="VK_FORMAT_R16G16B16A16_SSCALED" class="64-bit" blockSize="8" texelsPerBlock="1"> + <component name="R" bits="16" numericFormat="SSCALED"/> + <component name="G" bits="16" numericFormat="SSCALED"/> + <component name="B" bits="16" numericFormat="SSCALED"/> + <component name="A" bits="16" numericFormat="SSCALED"/> + </format> + <format name="VK_FORMAT_R16G16B16A16_UINT" class="64-bit" blockSize="8" texelsPerBlock="1"> + <component name="R" bits="16" numericFormat="UINT"/> + <component name="G" bits="16" numericFormat="UINT"/> + <component name="B" bits="16" numericFormat="UINT"/> + <component name="A" bits="16" numericFormat="UINT"/> + <spirvimageformat name="Rgba16ui"/> + </format> + <format name="VK_FORMAT_R16G16B16A16_SINT" class="64-bit" blockSize="8" texelsPerBlock="1"> + <component name="R" bits="16" numericFormat="SINT"/> + <component name="G" bits="16" numericFormat="SINT"/> + <component name="B" bits="16" numericFormat="SINT"/> + <component name="A" bits="16" numericFormat="SINT"/> + <spirvimageformat name="Rgba16i"/> + </format> + <format name="VK_FORMAT_R16G16B16A16_SFLOAT" class="64-bit" blockSize="8" texelsPerBlock="1"> + <component name="R" bits="16" numericFormat="SFLOAT"/> + <component name="G" bits="16" numericFormat="SFLOAT"/> + <component name="B" bits="16" numericFormat="SFLOAT"/> + <component name="A" bits="16" numericFormat="SFLOAT"/> + <spirvimageformat name="Rgba16f"/> + </format> + <format name="VK_FORMAT_R32_UINT" class="32-bit" blockSize="4" texelsPerBlock="1"> + <component name="R" bits="32" numericFormat="UINT"/> + <spirvimageformat name="R32ui"/> + </format> + <format name="VK_FORMAT_R32_SINT" class="32-bit" blockSize="4" texelsPerBlock="1"> + <component name="R" bits="32" numericFormat="SINT"/> + <spirvimageformat name="R32i"/> + </format> + <format name="VK_FORMAT_R32_SFLOAT" class="32-bit" blockSize="4" texelsPerBlock="1"> + <component name="R" bits="32" numericFormat="SFLOAT"/> + <spirvimageformat name="R32f"/> + </format> + <format name="VK_FORMAT_R32G32_UINT" class="64-bit" blockSize="8" texelsPerBlock="1"> + <component name="R" bits="32" numericFormat="UINT"/> + <component name="G" bits="32" numericFormat="UINT"/> + <spirvimageformat name="Rg32ui"/> + </format> + <format name="VK_FORMAT_R32G32_SINT" class="64-bit" blockSize="8" texelsPerBlock="1"> + <component name="R" bits="32" numericFormat="SINT"/> + <component name="G" bits="32" numericFormat="SINT"/> + <spirvimageformat name="Rg32i"/> + </format> + <format name="VK_FORMAT_R32G32_SFLOAT" class="64-bit" blockSize="8" texelsPerBlock="1"> + <component name="R" bits="32" numericFormat="SFLOAT"/> + <component name="G" bits="32" numericFormat="SFLOAT"/> + <spirvimageformat name="Rg32f"/> + </format> + <format name="VK_FORMAT_R32G32B32_UINT" class="96-bit" blockSize="12" texelsPerBlock="1"> + <component name="R" bits="32" numericFormat="UINT"/> + <component name="G" bits="32" numericFormat="UINT"/> + <component name="B" bits="32" numericFormat="UINT"/> + </format> + <format name="VK_FORMAT_R32G32B32_SINT" class="96-bit" blockSize="12" texelsPerBlock="1"> + <component name="R" bits="32" numericFormat="SINT"/> + <component name="G" bits="32" numericFormat="SINT"/> + <component name="B" bits="32" numericFormat="SINT"/> + </format> + <format name="VK_FORMAT_R32G32B32_SFLOAT" class="96-bit" blockSize="12" texelsPerBlock="1"> + <component name="R" bits="32" numericFormat="SFLOAT"/> + <component name="G" bits="32" numericFormat="SFLOAT"/> + <component name="B" bits="32" numericFormat="SFLOAT"/> + </format> + <format name="VK_FORMAT_R32G32B32A32_UINT" class="128-bit" blockSize="16" texelsPerBlock="1"> + <component name="R" bits="32" numericFormat="UINT"/> + <component name="G" bits="32" numericFormat="UINT"/> + <component name="B" bits="32" numericFormat="UINT"/> + <component name="A" bits="32" numericFormat="UINT"/> + <spirvimageformat name="Rgba32ui"/> + </format> + <format name="VK_FORMAT_R32G32B32A32_SINT" class="128-bit" blockSize="16" texelsPerBlock="1"> + <component name="R" bits="32" numericFormat="SINT"/> + <component name="G" bits="32" numericFormat="SINT"/> + <component name="B" bits="32" numericFormat="SINT"/> + <component name="A" bits="32" numericFormat="SINT"/> + <spirvimageformat name="Rgba32i"/> + </format> + <format name="VK_FORMAT_R32G32B32A32_SFLOAT" class="128-bit" blockSize="16" texelsPerBlock="1"> + <component name="R" bits="32" numericFormat="SFLOAT"/> + <component name="G" bits="32" numericFormat="SFLOAT"/> + <component name="B" bits="32" numericFormat="SFLOAT"/> + <component name="A" bits="32" numericFormat="SFLOAT"/> + <spirvimageformat name="Rgba32f"/> + </format> + <format name="VK_FORMAT_R64_UINT" class="64-bit" blockSize="8" texelsPerBlock="1"> + <component name="R" bits="64" numericFormat="UINT"/> + <spirvimageformat name="R64ui"/> + </format> + <format name="VK_FORMAT_R64_SINT" class="64-bit" blockSize="8" texelsPerBlock="1"> + <component name="R" bits="64" numericFormat="SINT"/> + <spirvimageformat name="R64i"/> + </format> + <format name="VK_FORMAT_R64_SFLOAT" class="64-bit" blockSize="8" texelsPerBlock="1"> + <component name="R" bits="64" numericFormat="SFLOAT"/> + </format> + <format name="VK_FORMAT_R64G64_UINT" class="128-bit" blockSize="16" texelsPerBlock="1"> + <component name="R" bits="64" numericFormat="UINT"/> + <component name="B" bits="64" numericFormat="UINT"/> + </format> + <format name="VK_FORMAT_R64G64_SINT" class="128-bit" blockSize="16" texelsPerBlock="1"> + <component name="R" bits="64" numericFormat="SINT"/> + <component name="B" bits="64" numericFormat="SINT"/> + </format> + <format name="VK_FORMAT_R64G64_SFLOAT" class="128-bit" blockSize="16" texelsPerBlock="1"> + <component name="R" bits="64" numericFormat="SFLOAT"/> + <component name="B" bits="64" numericFormat="SFLOAT"/> + </format> + <format name="VK_FORMAT_R64G64B64_UINT" class="192-bit" blockSize="24" texelsPerBlock="1"> + <component name="R" bits="64" numericFormat="UINT"/> + <component name="G" bits="64" numericFormat="UINT"/> + <component name="B" bits="64" numericFormat="UINT"/> + </format> + <format name="VK_FORMAT_R64G64B64_SINT" class="192-bit" blockSize="24" texelsPerBlock="1"> + <component name="R" bits="64" numericFormat="SINT"/> + <component name="G" bits="64" numericFormat="SINT"/> + <component name="B" bits="64" numericFormat="SINT"/> + </format> + <format name="VK_FORMAT_R64G64B64_SFLOAT" class="192-bit" blockSize="24" texelsPerBlock="1"> + <component name="R" bits="64" numericFormat="SFLOAT"/> + <component name="G" bits="64" numericFormat="SFLOAT"/> + <component name="B" bits="64" numericFormat="SFLOAT"/> + </format> + <format name="VK_FORMAT_R64G64B64A64_UINT" class="256-bit" blockSize="32" texelsPerBlock="1"> + <component name="R" bits="64" numericFormat="UINT"/> + <component name="G" bits="64" numericFormat="UINT"/> + <component name="B" bits="64" numericFormat="UINT"/> + <component name="A" bits="64" numericFormat="UINT"/> + </format> + <format name="VK_FORMAT_R64G64B64A64_SINT" class="256-bit" blockSize="32" texelsPerBlock="1"> + <component name="R" bits="64" numericFormat="SINT"/> + <component name="G" bits="64" numericFormat="SINT"/> + <component name="B" bits="64" numericFormat="SINT"/> + <component name="A" bits="64" numericFormat="SINT"/> + </format> + <format name="VK_FORMAT_R64G64B64A64_SFLOAT" class="256-bit" blockSize="32" texelsPerBlock="1"> + <component name="R" bits="64" numericFormat="SFLOAT"/> + <component name="G" bits="64" numericFormat="SFLOAT"/> + <component name="B" bits="64" numericFormat="SFLOAT"/> + <component name="A" bits="64" numericFormat="SFLOAT"/> + </format> + <format name="VK_FORMAT_B10G11R11_UFLOAT_PACK32" class="32-bit" blockSize="4" texelsPerBlock="1" packed="32"> + <component name="B" bits="10" numericFormat="UFLOAT"/> + <component name="G" bits="11" numericFormat="UFLOAT"/> + <component name="R" bits="10" numericFormat="UFLOAT"/> + <spirvimageformat name="R11fG11fB10f"/> + </format> + <format name="VK_FORMAT_E5B9G9R9_UFLOAT_PACK32" class="32-bit" blockSize="4" texelsPerBlock="1" packed="32"> + <component name="B" bits="9" numericFormat="UFLOAT"/> + <component name="G" bits="9" numericFormat="UFLOAT"/> + <component name="R" bits="9" numericFormat="UFLOAT"/> + </format> + <format name="VK_FORMAT_D16_UNORM" class="D16" blockSize="2" texelsPerBlock="1"> + <component name="D" bits="16" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_X8_D24_UNORM_PACK32" class="D24" blockSize="4" texelsPerBlock="1" packed="32"> + <component name="D" bits="24" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_D32_SFLOAT" class="D32" blockSize="4" texelsPerBlock="1"> + <component name="D" bits="32" numericFormat="SFLOAT"/> + </format> + <format name="VK_FORMAT_S8_UINT" class="S8" blockSize="1" texelsPerBlock="1"> + <component name="S" bits="8" numericFormat="UINT"/> + </format> + <format name="VK_FORMAT_D16_UNORM_S8_UINT" class="D16S8" blockSize="3" texelsPerBlock="1"> + <component name="D" bits="16" numericFormat="UNORM"/> + <component name="S" bits="8" numericFormat="UINT"/> + </format> + <format name="VK_FORMAT_D24_UNORM_S8_UINT" class="D24S8" blockSize="4" texelsPerBlock="1"> + <component name="D" bits="24" numericFormat="UNORM"/> + <component name="S" bits="8" numericFormat="UINT"/> + </format> + <format name="VK_FORMAT_D32_SFLOAT_S8_UINT" class="D32S8" blockSize="5" texelsPerBlock="1"> + <component name="D" bits="32" numericFormat="SFLOAT"/> + <component name="S" bits="8" numericFormat="UINT"/> + </format> + <format name="VK_FORMAT_BC1_RGB_UNORM_BLOCK" class="BC1_RGB" blockSize="8" texelsPerBlock="16" blockExtent="4,4,1" compressed="BC"> + <component name="R" bits="compressed" numericFormat="UNORM"/> + <component name="G" bits="compressed" numericFormat="UNORM"/> + <component name="B" bits="compressed" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_BC1_RGB_SRGB_BLOCK" class="BC1_RGB" blockSize="8" texelsPerBlock="16" blockExtent="4,4,1" compressed="BC"> + <component name="R" bits="compressed" numericFormat="SRGB"/> + <component name="G" bits="compressed" numericFormat="SRGB"/> + <component name="B" bits="compressed" numericFormat="SRGB"/> + </format> + <format name="VK_FORMAT_BC1_RGBA_UNORM_BLOCK" class="BC1_RGBA" blockSize="8" texelsPerBlock="16" blockExtent="4,4,1" compressed="BC"> + <component name="R" bits="compressed" numericFormat="UNORM"/> + <component name="G" bits="compressed" numericFormat="UNORM"/> + <component name="B" bits="compressed" numericFormat="UNORM"/> + <component name="A" bits="compressed" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_BC1_RGBA_SRGB_BLOCK" class="BC1_RGBA" blockSize="8" texelsPerBlock="16" blockExtent="4,4,1" compressed="BC"> + <component name="R" bits="compressed" numericFormat="SRGB"/> + <component name="G" bits="compressed" numericFormat="SRGB"/> + <component name="B" bits="compressed" numericFormat="SRGB"/> + <component name="A" bits="compressed" numericFormat="SRGB"/> + </format> + <format name="VK_FORMAT_BC2_UNORM_BLOCK" class="BC2" blockSize="16" texelsPerBlock="16" blockExtent="4,4,1" compressed="BC"> + <component name="R" bits="compressed" numericFormat="UNORM"/> + <component name="G" bits="compressed" numericFormat="UNORM"/> + <component name="B" bits="compressed" numericFormat="UNORM"/> + <component name="A" bits="compressed" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_BC2_SRGB_BLOCK" class="BC2" blockSize="16" texelsPerBlock="16" blockExtent="4,4,1" compressed="BC"> + <component name="R" bits="compressed" numericFormat="SRGB"/> + <component name="G" bits="compressed" numericFormat="SRGB"/> + <component name="B" bits="compressed" numericFormat="SRGB"/> + <component name="A" bits="compressed" numericFormat="SRGB"/> + </format> + <format name="VK_FORMAT_BC3_UNORM_BLOCK" class="BC3" blockSize="16" texelsPerBlock="16" blockExtent="4,4,1" compressed="BC"> + <component name="R" bits="compressed" numericFormat="UNORM"/> + <component name="G" bits="compressed" numericFormat="UNORM"/> + <component name="B" bits="compressed" numericFormat="UNORM"/> + <component name="A" bits="compressed" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_BC3_SRGB_BLOCK" class="BC3" blockSize="16" texelsPerBlock="16" blockExtent="4,4,1" compressed="BC"> + <component name="R" bits="compressed" numericFormat="SRGB"/> + <component name="G" bits="compressed" numericFormat="SRGB"/> + <component name="B" bits="compressed" numericFormat="SRGB"/> + <component name="A" bits="compressed" numericFormat="SRGB"/> + </format> + <format name="VK_FORMAT_BC4_UNORM_BLOCK" class="BC4" blockSize="8" texelsPerBlock="16" blockExtent="4,4,1" compressed="BC"> + <component name="R" bits="compressed" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_BC4_SNORM_BLOCK" class="BC4" blockSize="8" texelsPerBlock="16" blockExtent="4,4,1" compressed="BC"> + <component name="R" bits="compressed" numericFormat="SRGB"/> + </format> + <format name="VK_FORMAT_BC5_UNORM_BLOCK" class="BC5" blockSize="16" texelsPerBlock="16" blockExtent="4,4,1" compressed="BC"> + <component name="R" bits="compressed" numericFormat="UNORM"/> + <component name="G" bits="compressed" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_BC5_SNORM_BLOCK" class="BC5" blockSize="16" texelsPerBlock="16" blockExtent="4,4,1" compressed="BC"> + <component name="R" bits="compressed" numericFormat="SRGB"/> + <component name="G" bits="compressed" numericFormat="SRGB"/> + </format> + <format name="VK_FORMAT_BC6H_UFLOAT_BLOCK" class="BC6H" blockSize="16" texelsPerBlock="16" blockExtent="4,4,1" compressed="BC"> + <component name="R" bits="compressed" numericFormat="UFLOAT"/> + <component name="G" bits="compressed" numericFormat="UFLOAT"/> + <component name="B" bits="compressed" numericFormat="UFLOAT"/> + </format> + <format name="VK_FORMAT_BC6H_SFLOAT_BLOCK" class="BC6H" blockSize="16" texelsPerBlock="16" blockExtent="4,4,1" compressed="BC"> + <component name="R" bits="compressed" numericFormat="SFLOAT"/> + <component name="G" bits="compressed" numericFormat="SFLOAT"/> + <component name="B" bits="compressed" numericFormat="SFLOAT"/> + </format> + <format name="VK_FORMAT_BC7_UNORM_BLOCK" class="BC7" blockSize="16" texelsPerBlock="16" blockExtent="4,4,1" compressed="BC"> + <component name="R" bits="compressed" numericFormat="UNORM"/> + <component name="G" bits="compressed" numericFormat="UNORM"/> + <component name="B" bits="compressed" numericFormat="UNORM"/> + <component name="A" bits="compressed" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_BC7_SRGB_BLOCK" class="BC7" blockSize="16" texelsPerBlock="16" blockExtent="4,4,1" compressed="BC"> + <component name="R" bits="compressed" numericFormat="SRGB"/> + <component name="G" bits="compressed" numericFormat="SRGB"/> + <component name="B" bits="compressed" numericFormat="SRGB"/> + <component name="A" bits="compressed" numericFormat="SRGB"/> + </format> + <format name="VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK" class="ETC2_RGB" blockSize="8" texelsPerBlock="16" blockExtent="4,4,1" compressed="ETC2"> + <component name="R" bits="compressed" numericFormat="UNORM"/> + <component name="G" bits="compressed" numericFormat="UNORM"/> + <component name="B" bits="compressed" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK" class="ETC2_RGB" blockSize="8" texelsPerBlock="16" blockExtent="4,4,1" compressed="ETC2"> + <component name="R" bits="compressed" numericFormat="SRGB"/> + <component name="G" bits="compressed" numericFormat="SRGB"/> + <component name="B" bits="compressed" numericFormat="SRGB"/> + </format> + <format name="VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK" class="ETC2_RGBA" blockSize="8" texelsPerBlock="16" blockExtent="4,4,1" compressed="ETC2"> + <component name="R" bits="compressed" numericFormat="UNORM"/> + <component name="G" bits="compressed" numericFormat="UNORM"/> + <component name="B" bits="compressed" numericFormat="UNORM"/> + <component name="A" bits="compressed" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK" class="ETC2_RGBA" blockSize="8" texelsPerBlock="16" blockExtent="4,4,1" compressed="ETC2"> + <component name="R" bits="compressed" numericFormat="SRGB"/> + <component name="G" bits="compressed" numericFormat="SRGB"/> + <component name="B" bits="compressed" numericFormat="SRGB"/> + <component name="A" bits="compressed" numericFormat="SRGB"/> + </format> + <format name="VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK" class="ETC2_EAC_RGBA" blockSize="8" texelsPerBlock="16" blockExtent="4,4,1" compressed="ETC2"> + <component name="R" bits="compressed" numericFormat="UNORM"/> + <component name="G" bits="compressed" numericFormat="UNORM"/> + <component name="B" bits="compressed" numericFormat="UNORM"/> + <component name="A" bits="compressed" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK" class="ETC2_EAC_RGBA" blockSize="8" texelsPerBlock="16" blockExtent="4,4,1" compressed="ETC2"> + <component name="R" bits="compressed" numericFormat="SRGB"/> + <component name="G" bits="compressed" numericFormat="SRGB"/> + <component name="B" bits="compressed" numericFormat="SRGB"/> + <component name="A" bits="compressed" numericFormat="SRGB"/> + </format> + <format name="VK_FORMAT_EAC_R11_UNORM_BLOCK" class="EAC_R" blockSize="8" texelsPerBlock="16" blockExtent="4,4,1" compressed="EAC"> + <component name="R" bits="11" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_EAC_R11_SNORM_BLOCK" class="EAC_R" blockSize="8" texelsPerBlock="16" blockExtent="4,4,1" compressed="EAC"> + <component name="R" bits="11" numericFormat="SNORM"/> + </format> + <format name="VK_FORMAT_EAC_R11G11_UNORM_BLOCK" class="EAC_RG" blockSize="16" texelsPerBlock="16" blockExtent="4,4,1" compressed="EAC"> + <component name="R" bits="11" numericFormat="UNORM"/> + <component name="G" bits="11" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_EAC_R11G11_SNORM_BLOCK" class="EAC_RG" blockSize="16" texelsPerBlock="16" blockExtent="4,4,1" compressed="EAC"> + <component name="R" bits="11" numericFormat="SNORM"/> + <component name="G" bits="11" numericFormat="SNORM"/> + </format> + <format name="VK_FORMAT_ASTC_4x4_UNORM_BLOCK" class="ASTC_4x4" blockSize="16" texelsPerBlock="16" blockExtent="4,4,1" compressed="ASTC LDR"> + <component name="R" bits="compressed" numericFormat="UNORM"/> + <component name="G" bits="compressed" numericFormat="UNORM"/> + <component name="B" bits="compressed" numericFormat="UNORM"/> + <component name="A" bits="compressed" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_ASTC_4x4_SRGB_BLOCK" class="ASTC_4x4" blockSize="16" texelsPerBlock="16" blockExtent="4,4,1" compressed="ASTC LDR"> + <component name="R" bits="compressed" numericFormat="SRGB"/> + <component name="G" bits="compressed" numericFormat="SRGB"/> + <component name="B" bits="compressed" numericFormat="SRGB"/> + <component name="A" bits="compressed" numericFormat="SRGB"/> + </format> + <format name="VK_FORMAT_ASTC_5x4_UNORM_BLOCK" class="ASTC_5x4" blockSize="16" texelsPerBlock="20" blockExtent="5,4,1" compressed="ASTC LDR"> + <component name="R" bits="compressed" numericFormat="UNORM"/> + <component name="G" bits="compressed" numericFormat="UNORM"/> + <component name="B" bits="compressed" numericFormat="UNORM"/> + <component name="A" bits="compressed" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_ASTC_5x4_SRGB_BLOCK" class="ASTC_5x4" blockSize="16" texelsPerBlock="20" blockExtent="5,4,1" compressed="ASTC LDR"> + <component name="R" bits="compressed" numericFormat="SRGB"/> + <component name="G" bits="compressed" numericFormat="SRGB"/> + <component name="B" bits="compressed" numericFormat="SRGB"/> + <component name="A" bits="compressed" numericFormat="SRGB"/> + </format> + <format name="VK_FORMAT_ASTC_5x5_UNORM_BLOCK" class="ASTC_5x5" blockSize="16" texelsPerBlock="25" blockExtent="5,5,1" compressed="ASTC LDR"> + <component name="R" bits="compressed" numericFormat="UNORM"/> + <component name="G" bits="compressed" numericFormat="UNORM"/> + <component name="B" bits="compressed" numericFormat="UNORM"/> + <component name="A" bits="compressed" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_ASTC_5x5_SRGB_BLOCK" class="ASTC_5x5" blockSize="16" texelsPerBlock="25" blockExtent="5,5,1" compressed="ASTC LDR"> + <component name="R" bits="compressed" numericFormat="SRGB"/> + <component name="G" bits="compressed" numericFormat="SRGB"/> + <component name="B" bits="compressed" numericFormat="SRGB"/> + <component name="A" bits="compressed" numericFormat="SRGB"/> + </format> + <format name="VK_FORMAT_ASTC_6x5_UNORM_BLOCK" class="ASTC_6x5" blockSize="16" texelsPerBlock="30" blockExtent="6,5,1" compressed="ASTC LDR"> + <component name="R" bits="compressed" numericFormat="UNORM"/> + <component name="G" bits="compressed" numericFormat="UNORM"/> + <component name="B" bits="compressed" numericFormat="UNORM"/> + <component name="A" bits="compressed" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_ASTC_6x5_SRGB_BLOCK" class="ASTC_6x5" blockSize="16" texelsPerBlock="30" blockExtent="6,5,1" compressed="ASTC LDR"> + <component name="R" bits="compressed" numericFormat="SRGB"/> + <component name="G" bits="compressed" numericFormat="SRGB"/> + <component name="B" bits="compressed" numericFormat="SRGB"/> + <component name="A" bits="compressed" numericFormat="SRGB"/> + </format> + <format name="VK_FORMAT_ASTC_6x6_UNORM_BLOCK" class="ASTC_6x6" blockSize="16" texelsPerBlock="36" blockExtent="6,6,1" compressed="ASTC LDR"> + <component name="R" bits="compressed" numericFormat="UNORM"/> + <component name="G" bits="compressed" numericFormat="UNORM"/> + <component name="B" bits="compressed" numericFormat="UNORM"/> + <component name="A" bits="compressed" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_ASTC_6x6_SRGB_BLOCK" class="ASTC_6x6" blockSize="16" texelsPerBlock="36" blockExtent="6,6,1" compressed="ASTC LDR"> + <component name="R" bits="compressed" numericFormat="SRGB"/> + <component name="G" bits="compressed" numericFormat="SRGB"/> + <component name="B" bits="compressed" numericFormat="SRGB"/> + <component name="A" bits="compressed" numericFormat="SRGB"/> + </format> + <format name="VK_FORMAT_ASTC_8x5_UNORM_BLOCK" class="ASTC_8x5" blockSize="16" texelsPerBlock="40" blockExtent="8,5,1" compressed="ASTC LDR"> + <component name="R" bits="compressed" numericFormat="UNORM"/> + <component name="G" bits="compressed" numericFormat="UNORM"/> + <component name="B" bits="compressed" numericFormat="UNORM"/> + <component name="A" bits="compressed" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_ASTC_8x5_SRGB_BLOCK" class="ASTC_8x5" blockSize="16" texelsPerBlock="40" blockExtent="8,5,1" compressed="ASTC LDR"> + <component name="R" bits="compressed" numericFormat="SRGB"/> + <component name="G" bits="compressed" numericFormat="SRGB"/> + <component name="B" bits="compressed" numericFormat="SRGB"/> + <component name="A" bits="compressed" numericFormat="SRGB"/> + </format> + <format name="VK_FORMAT_ASTC_8x6_UNORM_BLOCK" class="ASTC_8x6" blockSize="16" texelsPerBlock="48" blockExtent="8,6,1" compressed="ASTC LDR"> + <component name="R" bits="compressed" numericFormat="UNORM"/> + <component name="G" bits="compressed" numericFormat="UNORM"/> + <component name="B" bits="compressed" numericFormat="UNORM"/> + <component name="A" bits="compressed" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_ASTC_8x6_SRGB_BLOCK" class="ASTC_8x6" blockSize="16" texelsPerBlock="48" blockExtent="8,6,1" compressed="ASTC LDR"> + <component name="R" bits="compressed" numericFormat="SRGB"/> + <component name="G" bits="compressed" numericFormat="SRGB"/> + <component name="B" bits="compressed" numericFormat="SRGB"/> + <component name="A" bits="compressed" numericFormat="SRGB"/> + </format> + <format name="VK_FORMAT_ASTC_8x8_UNORM_BLOCK" class="ASTC_8x8" blockSize="16" texelsPerBlock="64" blockExtent="8,8,1" compressed="ASTC LDR"> + <component name="R" bits="compressed" numericFormat="UNORM"/> + <component name="G" bits="compressed" numericFormat="UNORM"/> + <component name="B" bits="compressed" numericFormat="UNORM"/> + <component name="A" bits="compressed" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_ASTC_8x8_SRGB_BLOCK" class="ASTC_8x8" blockSize="16" texelsPerBlock="64" blockExtent="8,8,1" compressed="ASTC LDR"> + <component name="R" bits="compressed" numericFormat="SRGB"/> + <component name="G" bits="compressed" numericFormat="SRGB"/> + <component name="B" bits="compressed" numericFormat="SRGB"/> + <component name="A" bits="compressed" numericFormat="SRGB"/> + </format> + <format name="VK_FORMAT_ASTC_10x5_UNORM_BLOCK" class="ASTC_10x5" blockSize="16" texelsPerBlock="50" blockExtent="10,5,1" compressed="ASTC LDR"> + <component name="R" bits="compressed" numericFormat="UNORM"/> + <component name="G" bits="compressed" numericFormat="UNORM"/> + <component name="B" bits="compressed" numericFormat="UNORM"/> + <component name="A" bits="compressed" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_ASTC_10x5_SRGB_BLOCK" class="ASTC_10x5" blockSize="16" texelsPerBlock="50" blockExtent="10,5,1" compressed="ASTC LDR"> + <component name="R" bits="compressed" numericFormat="SRGB"/> + <component name="G" bits="compressed" numericFormat="SRGB"/> + <component name="B" bits="compressed" numericFormat="SRGB"/> + <component name="A" bits="compressed" numericFormat="SRGB"/> + </format> + <format name="VK_FORMAT_ASTC_10x6_UNORM_BLOCK" class="ASTC_10x6" blockSize="16" texelsPerBlock="60" blockExtent="10,6,1" compressed="ASTC LDR"> + <component name="R" bits="compressed" numericFormat="UNORM"/> + <component name="G" bits="compressed" numericFormat="UNORM"/> + <component name="B" bits="compressed" numericFormat="UNORM"/> + <component name="A" bits="compressed" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_ASTC_10x6_SRGB_BLOCK" class="ASTC_10x6" blockSize="16" texelsPerBlock="60" blockExtent="10,6,1" compressed="ASTC LDR"> + <component name="R" bits="compressed" numericFormat="SRGB"/> + <component name="G" bits="compressed" numericFormat="SRGB"/> + <component name="B" bits="compressed" numericFormat="SRGB"/> + <component name="A" bits="compressed" numericFormat="SRGB"/> + </format> + <format name="VK_FORMAT_ASTC_10x8_UNORM_BLOCK" class="ASTC_10x8" blockSize="16" texelsPerBlock="80" blockExtent="10,8,1" compressed="ASTC LDR"> + <component name="R" bits="compressed" numericFormat="UNORM"/> + <component name="G" bits="compressed" numericFormat="UNORM"/> + <component name="B" bits="compressed" numericFormat="UNORM"/> + <component name="A" bits="compressed" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_ASTC_10x8_SRGB_BLOCK" class="ASTC_10x8" blockSize="16" texelsPerBlock="80" blockExtent="10,8,1" compressed="ASTC LDR"> + <component name="R" bits="compressed" numericFormat="SRGB"/> + <component name="G" bits="compressed" numericFormat="SRGB"/> + <component name="B" bits="compressed" numericFormat="SRGB"/> + <component name="A" bits="compressed" numericFormat="SRGB"/> + </format> + <format name="VK_FORMAT_ASTC_10x10_UNORM_BLOCK" class="ASTC_10x10" blockSize="16" texelsPerBlock="100" blockExtent="10,10,1" compressed="ASTC LDR"> + <component name="R" bits="compressed" numericFormat="UNORM"/> + <component name="G" bits="compressed" numericFormat="UNORM"/> + <component name="B" bits="compressed" numericFormat="UNORM"/> + <component name="A" bits="compressed" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_ASTC_10x10_SRGB_BLOCK" class="ASTC_10x10" blockSize="16" texelsPerBlock="100" blockExtent="10,10,1" compressed="ASTC LDR"> + <component name="R" bits="compressed" numericFormat="SRGB"/> + <component name="G" bits="compressed" numericFormat="SRGB"/> + <component name="B" bits="compressed" numericFormat="SRGB"/> + <component name="A" bits="compressed" numericFormat="SRGB"/> + </format> + <format name="VK_FORMAT_ASTC_12x10_UNORM_BLOCK" class="ASTC_12x10" blockSize="16" texelsPerBlock="120" blockExtent="12,10,1" compressed="ASTC LDR"> + <component name="R" bits="compressed" numericFormat="UNORM"/> + <component name="G" bits="compressed" numericFormat="UNORM"/> + <component name="B" bits="compressed" numericFormat="UNORM"/> + <component name="A" bits="compressed" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_ASTC_12x10_SRGB_BLOCK" class="ASTC_12x10" blockSize="16" texelsPerBlock="120" blockExtent="12,10,1" compressed="ASTC LDR"> + <component name="R" bits="compressed" numericFormat="SRGB"/> + <component name="G" bits="compressed" numericFormat="SRGB"/> + <component name="B" bits="compressed" numericFormat="SRGB"/> + <component name="A" bits="compressed" numericFormat="SRGB"/> + </format> + <format name="VK_FORMAT_ASTC_12x12_UNORM_BLOCK" class="ASTC_12x12" blockSize="16" texelsPerBlock="144" blockExtent="12,12,1" compressed="ASTC LDR"> + <component name="R" bits="compressed" numericFormat="UNORM"/> + <component name="G" bits="compressed" numericFormat="UNORM"/> + <component name="B" bits="compressed" numericFormat="UNORM"/> + <component name="A" bits="compressed" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_ASTC_12x12_SRGB_BLOCK" class="ASTC_12x12" blockSize="16" texelsPerBlock="144" blockExtent="12,12,1" compressed="ASTC LDR"> + <component name="R" bits="compressed" numericFormat="SRGB"/> + <component name="G" bits="compressed" numericFormat="SRGB"/> + <component name="B" bits="compressed" numericFormat="SRGB"/> + <component name="A" bits="compressed" numericFormat="SRGB"/> + </format> + <format name="VK_FORMAT_G8B8G8R8_422_UNORM" class="32-bit G8B8G8R8" blockSize="4" texelsPerBlock="1" blockExtent="2,1,1" chroma="422"> + <component name="G" bits="8" numericFormat="UNORM"/> + <component name="B" bits="8" numericFormat="UNORM"/> + <component name="G" bits="8" numericFormat="UNORM"/> + <component name="R" bits="8" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_B8G8R8G8_422_UNORM" class="32-bit B8G8R8G8" blockSize="4" texelsPerBlock="1" blockExtent="2,1,1" chroma="422"> + <component name="B" bits="8" numericFormat="UNORM"/> + <component name="G" bits="8" numericFormat="UNORM"/> + <component name="R" bits="8" numericFormat="UNORM"/> + <component name="G" bits="8" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM" class="8-bit 3-plane 420" blockSize="3" texelsPerBlock="1" chroma="420"> + <component name="G" bits="8" numericFormat="UNORM" planeIndex="0"/> + <component name="B" bits="8" numericFormat="UNORM" planeIndex="1"/> + <component name="R" bits="8" numericFormat="UNORM" planeIndex="2"/> + <plane index="0" widthDivisor="1" heightDivisor="1" compatible="VK_FORMAT_R8_UNORM"/> + <plane index="1" widthDivisor="2" heightDivisor="2" compatible="VK_FORMAT_R8_UNORM"/> + <plane index="2" widthDivisor="2" heightDivisor="2" compatible="VK_FORMAT_R8_UNORM"/> + </format> + <format name="VK_FORMAT_G8_B8R8_2PLANE_420_UNORM" class="8-bit 2-plane 420" blockSize="3" texelsPerBlock="1" chroma="420"> + <component name="G" bits="8" numericFormat="UNORM" planeIndex="0"/> + <component name="B" bits="8" numericFormat="UNORM" planeIndex="1"/> + <component name="R" bits="8" numericFormat="UNORM" planeIndex="1"/> + <plane index="0" widthDivisor="1" heightDivisor="1" compatible="VK_FORMAT_R8_UNORM"/> + <plane index="1" widthDivisor="2" heightDivisor="2" compatible="VK_FORMAT_R8G8_UNORM"/> + </format> + <format name="VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM" class="8-bit 3-plane 422" blockSize="3" texelsPerBlock="1" chroma="422"> + <component name="G" bits="8" numericFormat="UNORM" planeIndex="0"/> + <component name="B" bits="8" numericFormat="UNORM" planeIndex="1"/> + <component name="R" bits="8" numericFormat="UNORM" planeIndex="2"/> + <plane index="0" widthDivisor="1" heightDivisor="1" compatible="VK_FORMAT_R8_UNORM"/> + <plane index="1" widthDivisor="2" heightDivisor="1" compatible="VK_FORMAT_R8_UNORM"/> + <plane index="2" widthDivisor="2" heightDivisor="1" compatible="VK_FORMAT_R8_UNORM"/> + </format> + <format name="VK_FORMAT_G8_B8R8_2PLANE_422_UNORM" class="8-bit 2-plane 422" blockSize="3" texelsPerBlock="1" chroma="422"> + <component name="G" bits="8" numericFormat="UNORM" planeIndex="0"/> + <component name="B" bits="8" numericFormat="UNORM" planeIndex="1"/> + <component name="R" bits="8" numericFormat="UNORM" planeIndex="1"/> + <plane index="0" widthDivisor="1" heightDivisor="1" compatible="VK_FORMAT_R8_UNORM"/> + <plane index="1" widthDivisor="2" heightDivisor="1" compatible="VK_FORMAT_R8G8_UNORM"/> + </format> + <format name="VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM" class="8-bit 3-plane 444" blockSize="3" texelsPerBlock="1" chroma="444"> + <component name="G" bits="8" numericFormat="UNORM" planeIndex="0"/> + <component name="B" bits="8" numericFormat="UNORM" planeIndex="1"/> + <component name="R" bits="8" numericFormat="UNORM" planeIndex="2"/> + <plane index="0" widthDivisor="1" heightDivisor="1" compatible="VK_FORMAT_R8_UNORM"/> + <plane index="1" widthDivisor="1" heightDivisor="1" compatible="VK_FORMAT_R8_UNORM"/> + <plane index="2" widthDivisor="1" heightDivisor="1" compatible="VK_FORMAT_R8_UNORM"/> + </format> + <format name="VK_FORMAT_R10X6_UNORM_PACK16" class="16-bit" blockSize="2" texelsPerBlock="1" packed="16"> + <component name="R" bits="10" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_R10X6G10X6_UNORM_2PACK16" class="32-bit" blockSize="4" texelsPerBlock="1" packed="16"> + <component name="R" bits="10" numericFormat="UNORM"/> + <component name="G" bits="10" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16" class="64-bit R10G10B10A10" blockSize="8" texelsPerBlock="1" packed="16" chroma="444"> + <component name="R" bits="10" numericFormat="UNORM"/> + <component name="G" bits="10" numericFormat="UNORM"/> + <component name="B" bits="10" numericFormat="UNORM"/> + <component name="A" bits="10" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16" class="64-bit G10B10G10R10" blockSize="8" texelsPerBlock="1" blockExtent="2,1,1" packed="16" chroma="422"> + <component name="G" bits="10" numericFormat="UNORM"/> + <component name="B" bits="10" numericFormat="UNORM"/> + <component name="G" bits="10" numericFormat="UNORM"/> + <component name="R" bits="10" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16" class="64-bit B10G10R10G10" blockSize="8" texelsPerBlock="1" blockExtent="2,1,1" packed="16" chroma="422"> + <component name="B" bits="10" numericFormat="UNORM"/> + <component name="G" bits="10" numericFormat="UNORM"/> + <component name="R" bits="10" numericFormat="UNORM"/> + <component name="G" bits="10" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16" class="10-bit 3-plane 420" blockSize="6" texelsPerBlock="1" packed="16" chroma="420"> + <component name="G" bits="10" numericFormat="UNORM" planeIndex="0"/> + <component name="B" bits="10" numericFormat="UNORM" planeIndex="1"/> + <component name="R" bits="10" numericFormat="UNORM" planeIndex="2"/> + <plane index="0" widthDivisor="1" heightDivisor="1" compatible="VK_FORMAT_R10X6_UNORM_PACK16"/> + <plane index="1" widthDivisor="2" heightDivisor="2" compatible="VK_FORMAT_R10X6_UNORM_PACK16"/> + <plane index="2" widthDivisor="2" heightDivisor="2" compatible="VK_FORMAT_R10X6_UNORM_PACK16"/> + </format> + <format name="VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16" class="10-bit 2-plane 420" blockSize="6" texelsPerBlock="1" packed="16" chroma="420"> + <component name="G" bits="10" numericFormat="UNORM" planeIndex="0"/> + <component name="B" bits="10" numericFormat="UNORM" planeIndex="1"/> + <component name="R" bits="10" numericFormat="UNORM" planeIndex="1"/> + <plane index="0" widthDivisor="1" heightDivisor="1" compatible="VK_FORMAT_R10X6_UNORM_PACK16"/> + <plane index="1" widthDivisor="2" heightDivisor="2" compatible="VK_FORMAT_R10X6G10X6_UNORM_2PACK16"/> + </format> + <format name="VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16" class="10-bit 3-plane 422" blockSize="6" texelsPerBlock="1" packed="16" chroma="422"> + <component name="G" bits="10" numericFormat="UNORM" planeIndex="0"/> + <component name="B" bits="10" numericFormat="UNORM" planeIndex="1"/> + <component name="R" bits="10" numericFormat="UNORM" planeIndex="2"/> + <plane index="0" widthDivisor="1" heightDivisor="1" compatible="VK_FORMAT_R10X6_UNORM_PACK16"/> + <plane index="1" widthDivisor="2" heightDivisor="1" compatible="VK_FORMAT_R10X6_UNORM_PACK16"/> + <plane index="2" widthDivisor="2" heightDivisor="1" compatible="VK_FORMAT_R10X6_UNORM_PACK16"/> + </format> + <format name="VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16" class="10-bit 2-plane 422" blockSize="6" texelsPerBlock="1" packed="16" chroma="422"> + <component name="G" bits="10" numericFormat="UNORM" planeIndex="0"/> + <component name="B" bits="10" numericFormat="UNORM" planeIndex="1"/> + <component name="R" bits="10" numericFormat="UNORM" planeIndex="2"/> + <plane index="0" widthDivisor="1" heightDivisor="1" compatible="VK_FORMAT_R10X6_UNORM_PACK16"/> + <plane index="1" widthDivisor="2" heightDivisor="1" compatible="VK_FORMAT_R10X6G10X6_UNORM_2PACK16"/> + </format> + <format name="VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16" class="10-bit 3-plane 444" blockSize="6" texelsPerBlock="1" packed="16" chroma="444"> + <component name="G" bits="10" numericFormat="UNORM" planeIndex="0"/> + <component name="B" bits="10" numericFormat="UNORM" planeIndex="1"/> + <component name="R" bits="10" numericFormat="UNORM" planeIndex="2"/> + <plane index="0" widthDivisor="1" heightDivisor="1" compatible="VK_FORMAT_R10X6_UNORM_PACK16"/> + <plane index="1" widthDivisor="1" heightDivisor="1" compatible="VK_FORMAT_R10X6_UNORM_PACK16"/> + <plane index="2" widthDivisor="1" heightDivisor="1" compatible="VK_FORMAT_R10X6_UNORM_PACK16"/> + </format> + <format name="VK_FORMAT_R12X4_UNORM_PACK16" class="16-bit" blockSize="2" texelsPerBlock="1" packed="16"> + <component name="R" bits="12" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_R12X4G12X4_UNORM_2PACK16" class="32-bit" blockSize="4" texelsPerBlock="1" packed="16"> + <component name="R" bits="12" numericFormat="UNORM"/> + <component name="G" bits="12" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16" class="64-bit R12G12B12A12" blockSize="8" texelsPerBlock="1" packed="16" chroma="444"> + <component name="R" bits="12" numericFormat="UNORM"/> + <component name="G" bits="12" numericFormat="UNORM"/> + <component name="B" bits="12" numericFormat="UNORM"/> + <component name="A" bits="12" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16" class="64-bit G12B12G12R12" blockSize="8" texelsPerBlock="1" blockExtent="2,1,1" packed="16" chroma="422"> + <component name="G" bits="12" numericFormat="UNORM"/> + <component name="B" bits="12" numericFormat="UNORM"/> + <component name="G" bits="12" numericFormat="UNORM"/> + <component name="R" bits="12" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16" class="64-bit B12G12R12G12" blockSize="8" texelsPerBlock="1" blockExtent="2,1,1" packed="16" chroma="422"> + <component name="B" bits="12" numericFormat="UNORM"/> + <component name="G" bits="12" numericFormat="UNORM"/> + <component name="R" bits="12" numericFormat="UNORM"/> + <component name="G" bits="12" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16" class="12-bit 3-plane 420" blockSize="6" texelsPerBlock="1" packed="16" chroma="420"> + <component name="G" bits="12" numericFormat="UNORM" planeIndex="0"/> + <component name="B" bits="12" numericFormat="UNORM" planeIndex="1"/> + <component name="R" bits="12" numericFormat="UNORM" planeIndex="2"/> + <plane index="0" widthDivisor="1" heightDivisor="1" compatible="VK_FORMAT_R12X4_UNORM_PACK16"/> + <plane index="1" widthDivisor="2" heightDivisor="2" compatible="VK_FORMAT_R12X4_UNORM_PACK16"/> + <plane index="2" widthDivisor="2" heightDivisor="2" compatible="VK_FORMAT_R12X4_UNORM_PACK16"/> + </format> + <format name="VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16" class="12-bit 2-plane 420" blockSize="6" texelsPerBlock="1" packed="16" chroma="420"> + <component name="G" bits="12" numericFormat="UNORM" planeIndex="0"/> + <component name="B" bits="12" numericFormat="UNORM" planeIndex="1"/> + <component name="R" bits="12" numericFormat="UNORM" planeIndex="1"/> + <plane index="0" widthDivisor="1" heightDivisor="1" compatible="VK_FORMAT_R12X4_UNORM_PACK16"/> + <plane index="1" widthDivisor="2" heightDivisor="2" compatible="VK_FORMAT_R12X4G12X4_UNORM_2PACK16"/> + </format> + <format name="VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16" class="12-bit 3-plane 422" blockSize="6" texelsPerBlock="1" packed="16" chroma="422"> + <component name="G" bits="12" numericFormat="UNORM" planeIndex="0"/> + <component name="B" bits="12" numericFormat="UNORM" planeIndex="1"/> + <component name="R" bits="12" numericFormat="UNORM" planeIndex="2"/> + <plane index="0" widthDivisor="1" heightDivisor="1" compatible="VK_FORMAT_R12X4_UNORM_PACK16"/> + <plane index="1" widthDivisor="2" heightDivisor="1" compatible="VK_FORMAT_R12X4_UNORM_PACK16"/> + <plane index="2" widthDivisor="2" heightDivisor="1" compatible="VK_FORMAT_R12X4_UNORM_PACK16"/> + </format> + <format name="VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16" class="12-bit 2-plane 422" blockSize="6" texelsPerBlock="1" packed="16" chroma="422"> + <component name="G" bits="12" numericFormat="UNORM" planeIndex="0"/> + <component name="B" bits="12" numericFormat="UNORM" planeIndex="1"/> + <component name="R" bits="12" numericFormat="UNORM" planeIndex="1"/> + <plane index="0" widthDivisor="1" heightDivisor="1" compatible="VK_FORMAT_R12X4_UNORM_PACK16"/> + <plane index="1" widthDivisor="2" heightDivisor="1" compatible="VK_FORMAT_R12X4G12X4_UNORM_2PACK16"/> + </format> + <format name="VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16" class="12-bit 3-plane 444" blockSize="6" texelsPerBlock="1" packed="16" chroma="444"> + <component name="G" bits="12" numericFormat="UNORM" planeIndex="0"/> + <component name="B" bits="12" numericFormat="UNORM" planeIndex="1"/> + <component name="R" bits="12" numericFormat="UNORM" planeIndex="2"/> + <plane index="0" widthDivisor="1" heightDivisor="1" compatible="VK_FORMAT_R12X4_UNORM_PACK16"/> + <plane index="1" widthDivisor="1" heightDivisor="1" compatible="VK_FORMAT_R12X4_UNORM_PACK16"/> + <plane index="2" widthDivisor="1" heightDivisor="1" compatible="VK_FORMAT_R12X4_UNORM_PACK16"/> + </format> + <format name="VK_FORMAT_G16B16G16R16_422_UNORM" class="64-bit G16B16G16R16" blockSize="8" texelsPerBlock="1" blockExtent="2,1,1" chroma="422"> + <component name="G" bits="16" numericFormat="UNORM"/> + <component name="B" bits="16" numericFormat="UNORM"/> + <component name="G" bits="16" numericFormat="UNORM"/> + <component name="R" bits="16" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_B16G16R16G16_422_UNORM" class="64-bit B16G16R16G16" blockSize="8" texelsPerBlock="1" blockExtent="2,1,1" chroma="422"> + <component name="B" bits="16" numericFormat="UNORM"/> + <component name="G" bits="16" numericFormat="UNORM"/> + <component name="R" bits="16" numericFormat="UNORM"/> + <component name="G" bits="16" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM" class="16-bit 3-plane 420" blockSize="6" texelsPerBlock="1" chroma="420"> + <component name="G" bits="16" numericFormat="UNORM" planeIndex="0"/> + <component name="B" bits="16" numericFormat="UNORM" planeIndex="1"/> + <component name="R" bits="16" numericFormat="UNORM" planeIndex="2"/> + <plane index="0" widthDivisor="1" heightDivisor="1" compatible="VK_FORMAT_R16_UNORM"/> + <plane index="1" widthDivisor="2" heightDivisor="2" compatible="VK_FORMAT_R16_UNORM"/> + <plane index="2" widthDivisor="2" heightDivisor="2" compatible="VK_FORMAT_R16_UNORM"/> + </format> + <format name="VK_FORMAT_G16_B16R16_2PLANE_420_UNORM" class="16-bit 2-plane 420" blockSize="6" texelsPerBlock="1" chroma="420"> + <component name="G" bits="16" numericFormat="UNORM" planeIndex="0"/> + <component name="B" bits="16" numericFormat="UNORM" planeIndex="1"/> + <component name="R" bits="16" numericFormat="UNORM" planeIndex="1"/> + <plane index="0" widthDivisor="1" heightDivisor="1" compatible="VK_FORMAT_R16_UNORM"/> + <plane index="1" widthDivisor="2" heightDivisor="2" compatible="VK_FORMAT_R16G16_UNORM"/> + </format> + <format name="VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM" class="16-bit 3-plane 422" blockSize="6" texelsPerBlock="1" chroma="422"> + <component name="G" bits="16" numericFormat="UNORM" planeIndex="0"/> + <component name="B" bits="16" numericFormat="UNORM" planeIndex="1"/> + <component name="R" bits="16" numericFormat="UNORM" planeIndex="2"/> + <plane index="0" widthDivisor="1" heightDivisor="1" compatible="VK_FORMAT_R16_UNORM"/> + <plane index="1" widthDivisor="2" heightDivisor="1" compatible="VK_FORMAT_R16_UNORM"/> + <plane index="2" widthDivisor="2" heightDivisor="1" compatible="VK_FORMAT_R16_UNORM"/> + </format> + <format name="VK_FORMAT_G16_B16R16_2PLANE_422_UNORM" class="16-bit 2-plane 422" blockSize="6" texelsPerBlock="1" chroma="422"> + <component name="G" bits="16" numericFormat="UNORM" planeIndex="0"/> + <component name="B" bits="16" numericFormat="UNORM" planeIndex="1"/> + <component name="R" bits="16" numericFormat="UNORM" planeIndex="1"/> + <plane index="0" widthDivisor="1" heightDivisor="1" compatible="VK_FORMAT_R16_UNORM"/> + <plane index="1" widthDivisor="2" heightDivisor="1" compatible="VK_FORMAT_R16G16_UNORM"/> + </format> + <format name="VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM" class="16-bit 3-plane 444" blockSize="6" texelsPerBlock="1" chroma="444"> + <component name="G" bits="16" numericFormat="UNORM" planeIndex="0"/> + <component name="B" bits="16" numericFormat="UNORM" planeIndex="1"/> + <component name="R" bits="16" numericFormat="UNORM" planeIndex="2"/> + <plane index="0" widthDivisor="1" heightDivisor="1" compatible="VK_FORMAT_R16_UNORM"/> + <plane index="1" widthDivisor="1" heightDivisor="1" compatible="VK_FORMAT_R16_UNORM"/> + <plane index="2" widthDivisor="1" heightDivisor="1" compatible="VK_FORMAT_R16_UNORM"/> + </format> + <format name="VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG" class="PVRTC1_2BPP" blockSize="8" texelsPerBlock="1" blockExtent="8,4,1" compressed="PVRTC"> + <component name="R" bits="compressed" numericFormat="UNORM"/> + <component name="G" bits="compressed" numericFormat="UNORM"/> + <component name="B" bits="compressed" numericFormat="UNORM"/> + <component name="A" bits="compressed" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG" class="PVRTC1_4BPP" blockSize="8" texelsPerBlock="1" blockExtent="4,4,1" compressed="PVRTC"> + <component name="R" bits="compressed" numericFormat="UNORM"/> + <component name="G" bits="compressed" numericFormat="UNORM"/> + <component name="B" bits="compressed" numericFormat="UNORM"/> + <component name="A" bits="compressed" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG" class="PVRTC2_2BPP" blockSize="8" texelsPerBlock="1" blockExtent="8,4,1" compressed="PVRTC"> + <component name="R" bits="compressed" numericFormat="UNORM"/> + <component name="G" bits="compressed" numericFormat="UNORM"/> + <component name="B" bits="compressed" numericFormat="UNORM"/> + <component name="A" bits="compressed" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG" class="PVRTC2_4BPP" blockSize="8" texelsPerBlock="1" blockExtent="4,4,1" compressed="PVRTC"> + <component name="R" bits="compressed" numericFormat="UNORM"/> + <component name="G" bits="compressed" numericFormat="UNORM"/> + <component name="B" bits="compressed" numericFormat="UNORM"/> + <component name="A" bits="compressed" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG" class="PVRTC1_2BPP" blockSize="8" texelsPerBlock="1" blockExtent="8,4,1" compressed="PVRTC"> + <component name="R" bits="compressed" numericFormat="SRGB"/> + <component name="G" bits="compressed" numericFormat="SRGB"/> + <component name="B" bits="compressed" numericFormat="SRGB"/> + <component name="A" bits="compressed" numericFormat="SRGB"/> + </format> + <format name="VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG" class="PVRTC1_4BPP" blockSize="8" texelsPerBlock="1" blockExtent="4,4,1" compressed="PVRTC"> + <component name="R" bits="compressed" numericFormat="SRGB"/> + <component name="G" bits="compressed" numericFormat="SRGB"/> + <component name="B" bits="compressed" numericFormat="SRGB"/> + <component name="A" bits="compressed" numericFormat="SRGB"/> + </format> + <format name="VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG" class="PVRTC2_2BPP" blockSize="8" texelsPerBlock="1" blockExtent="8,4,1" compressed="PVRTC"> + <component name="R" bits="compressed" numericFormat="SRGB"/> + <component name="G" bits="compressed" numericFormat="SRGB"/> + <component name="B" bits="compressed" numericFormat="SRGB"/> + <component name="A" bits="compressed" numericFormat="SRGB"/> + </format> + <format name="VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG" class="PVRTC2_4BPP" blockSize="8" texelsPerBlock="1" blockExtent="4,4,1" compressed="PVRTC"> + <component name="R" bits="compressed" numericFormat="SRGB"/> + <component name="G" bits="compressed" numericFormat="SRGB"/> + <component name="B" bits="compressed" numericFormat="SRGB"/> + <component name="A" bits="compressed" numericFormat="SRGB"/> + </format> + <format name="VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT" class="ASTC_4x4" blockSize="16" texelsPerBlock="16" blockExtent="4,4,1" compressed="ASTC HDR"> + <component name="R" bits="compressed" numericFormat="SFLOAT"/> + <component name="G" bits="compressed" numericFormat="SFLOAT"/> + <component name="B" bits="compressed" numericFormat="SFLOAT"/> + <component name="A" bits="compressed" numericFormat="SFLOAT"/> + </format> + <format name="VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT" class="ASTC_5x4" blockSize="16" texelsPerBlock="20" blockExtent="5,4,1" compressed="ASTC HDR"> + <component name="R" bits="compressed" numericFormat="SFLOAT"/> + <component name="G" bits="compressed" numericFormat="SFLOAT"/> + <component name="B" bits="compressed" numericFormat="SFLOAT"/> + <component name="A" bits="compressed" numericFormat="SFLOAT"/> + </format> + <format name="VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT" class="ASTC_5x5" blockSize="16" texelsPerBlock="25" blockExtent="5,5,1" compressed="ASTC HDR"> + <component name="R" bits="compressed" numericFormat="SFLOAT"/> + <component name="G" bits="compressed" numericFormat="SFLOAT"/> + <component name="B" bits="compressed" numericFormat="SFLOAT"/> + <component name="A" bits="compressed" numericFormat="SFLOAT"/> + </format> + <format name="VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT" class="ASTC_6x5" blockSize="16" texelsPerBlock="30" blockExtent="6,5,1" compressed="ASTC HDR"> + <component name="R" bits="compressed" numericFormat="SFLOAT"/> + <component name="G" bits="compressed" numericFormat="SFLOAT"/> + <component name="B" bits="compressed" numericFormat="SFLOAT"/> + <component name="A" bits="compressed" numericFormat="SFLOAT"/> + </format> + <format name="VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT" class="ASTC_6x6" blockSize="16" texelsPerBlock="36" blockExtent="6,6,1" compressed="ASTC HDR"> + <component name="R" bits="compressed" numericFormat="SFLOAT"/> + <component name="G" bits="compressed" numericFormat="SFLOAT"/> + <component name="B" bits="compressed" numericFormat="SFLOAT"/> + <component name="A" bits="compressed" numericFormat="SFLOAT"/> + </format> + <format name="VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT" class="ASTC_8x5" blockSize="16" texelsPerBlock="40" blockExtent="8,5,1" compressed="ASTC HDR"> + <component name="R" bits="compressed" numericFormat="SFLOAT"/> + <component name="G" bits="compressed" numericFormat="SFLOAT"/> + <component name="B" bits="compressed" numericFormat="SFLOAT"/> + <component name="A" bits="compressed" numericFormat="SFLOAT"/> + </format> + <format name="VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT" class="ASTC_8x6" blockSize="16" texelsPerBlock="48" blockExtent="8,6,1" compressed="ASTC HDR"> + <component name="R" bits="compressed" numericFormat="SFLOAT"/> + <component name="G" bits="compressed" numericFormat="SFLOAT"/> + <component name="B" bits="compressed" numericFormat="SFLOAT"/> + <component name="A" bits="compressed" numericFormat="SFLOAT"/> + </format> + <format name="VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT" class="ASTC_8x8" blockSize="16" texelsPerBlock="64" blockExtent="8,8,1" compressed="ASTC HDR"> + <component name="R" bits="compressed" numericFormat="SFLOAT"/> + <component name="G" bits="compressed" numericFormat="SFLOAT"/> + <component name="B" bits="compressed" numericFormat="SFLOAT"/> + <component name="A" bits="compressed" numericFormat="SFLOAT"/> + </format> + <format name="VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT" class="ASTC_10x5" blockSize="16" texelsPerBlock="50" blockExtent="10,5,1" compressed="ASTC HDR"> + <component name="R" bits="compressed" numericFormat="SFLOAT"/> + <component name="G" bits="compressed" numericFormat="SFLOAT"/> + <component name="B" bits="compressed" numericFormat="SFLOAT"/> + <component name="A" bits="compressed" numericFormat="SFLOAT"/> + </format> + <format name="VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT" class="ASTC_10x6" blockSize="16" texelsPerBlock="60" blockExtent="10,6,1" compressed="ASTC HDR"> + <component name="R" bits="compressed" numericFormat="SFLOAT"/> + <component name="G" bits="compressed" numericFormat="SFLOAT"/> + <component name="B" bits="compressed" numericFormat="SFLOAT"/> + <component name="A" bits="compressed" numericFormat="SFLOAT"/> + </format> + <format name="VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT" class="ASTC_10x8" blockSize="16" texelsPerBlock="80" blockExtent="10,8,1" compressed="ASTC HDR"> + <component name="R" bits="compressed" numericFormat="SFLOAT"/> + <component name="G" bits="compressed" numericFormat="SFLOAT"/> + <component name="B" bits="compressed" numericFormat="SFLOAT"/> + <component name="A" bits="compressed" numericFormat="SFLOAT"/> + </format> + <format name="VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT" class="ASTC_10x10" blockSize="16" texelsPerBlock="100" blockExtent="10,10,1" compressed="ASTC HDR"> + <component name="R" bits="compressed" numericFormat="SFLOAT"/> + <component name="G" bits="compressed" numericFormat="SFLOAT"/> + <component name="B" bits="compressed" numericFormat="SFLOAT"/> + <component name="A" bits="compressed" numericFormat="SFLOAT"/> + </format> + <format name="VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT" class="ASTC_12x10" blockSize="16" texelsPerBlock="120" blockExtent="12,10,1" compressed="ASTC HDR"> + <component name="R" bits="compressed" numericFormat="SFLOAT"/> + <component name="G" bits="compressed" numericFormat="SFLOAT"/> + <component name="B" bits="compressed" numericFormat="SFLOAT"/> + <component name="A" bits="compressed" numericFormat="SFLOAT"/> + </format> + <format name="VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT" class="ASTC_12x12" blockSize="16" texelsPerBlock="144" blockExtent="12,12,1" compressed="ASTC HDR"> + <component name="R" bits="compressed" numericFormat="SFLOAT"/> + <component name="G" bits="compressed" numericFormat="SFLOAT"/> + <component name="B" bits="compressed" numericFormat="SFLOAT"/> + <component name="A" bits="compressed" numericFormat="SFLOAT"/> + </format> + <format name="VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT" class="8-bit 2-plane 444" blockSize="3" texelsPerBlock="1" chroma="444"> + <component name="G" bits="8" numericFormat="UNORM" planeIndex="0"/> + <component name="B" bits="8" numericFormat="UNORM" planeIndex="1"/> + <component name="R" bits="8" numericFormat="UNORM" planeIndex="1"/> + <plane index="0" widthDivisor="1" heightDivisor="1" compatible="VK_FORMAT_R8_UNORM"/> + <plane index="1" widthDivisor="1" heightDivisor="1" compatible="VK_FORMAT_R8G8_UNORM"/> + </format> + <format name="VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT" class="10-bit 2-plane 444" blockSize="6" texelsPerBlock="1" packed="16" chroma="444"> + <component name="G" bits="10" numericFormat="UNORM" planeIndex="0"/> + <component name="B" bits="10" numericFormat="UNORM" planeIndex="1"/> + <component name="R" bits="10" numericFormat="UNORM" planeIndex="1"/> + <plane index="0" widthDivisor="1" heightDivisor="1" compatible="VK_FORMAT_R10X6_UNORM_PACK16"/> + <plane index="1" widthDivisor="1" heightDivisor="1" compatible="VK_FORMAT_R10X6G10X6_UNORM_2PACK16"/> + </format> + <format name="VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT" class="12-bit 2-plane 444" blockSize="6" texelsPerBlock="1" packed="16" chroma="444"> + <component name="G" bits="12" numericFormat="UNORM" planeIndex="0"/> + <component name="B" bits="12" numericFormat="UNORM" planeIndex="1"/> + <component name="R" bits="12" numericFormat="UNORM" planeIndex="1"/> + <plane index="0" widthDivisor="1" heightDivisor="1" compatible="VK_FORMAT_R12X4_UNORM_PACK16"/> + <plane index="1" widthDivisor="1" heightDivisor="1" compatible="VK_FORMAT_R12X4G12X4_UNORM_2PACK16"/> + </format> + <format name="VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT" class="16-bit 2-plane 444" blockSize="6" texelsPerBlock="1" chroma="444"> + <component name="G" bits="16" numericFormat="UNORM" planeIndex="0"/> + <component name="B" bits="16" numericFormat="UNORM" planeIndex="1"/> + <component name="R" bits="16" numericFormat="UNORM" planeIndex="1"/> + <plane index="0" widthDivisor="1" heightDivisor="1" compatible="VK_FORMAT_R16_UNORM"/> + <plane index="1" widthDivisor="1" heightDivisor="1" compatible="VK_FORMAT_R16G16_UNORM"/> + </format> + <format name="VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT" class="16-bit" blockSize="2" texelsPerBlock="1" packed="16"> + <component name="A" bits="4" numericFormat="UNORM"/> + <component name="R" bits="4" numericFormat="UNORM"/> + <component name="G" bits="4" numericFormat="UNORM"/> + <component name="B" bits="4" numericFormat="UNORM"/> + </format> + <format name="VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT" class="16-bit" blockSize="2" texelsPerBlock="1" packed="16"> + <component name="A" bits="4" numericFormat="UNORM"/> + <component name="B" bits="4" numericFormat="UNORM"/> + <component name="G" bits="4" numericFormat="UNORM"/> + <component name="R" bits="4" numericFormat="UNORM"/> + </format> + </formats> <spirvextensions comment="SPIR-V Extensions allowed in Vulkan and what is required to use it"> <spirvextension name="SPV_KHR_variable_pointers"> - <enable version="VK_API_VERSION_1_1"/> + <enable version="VK_VERSION_1_1"/> <enable extension="VK_KHR_variable_pointers"/> </spirvextension> <spirvextension name="SPV_AMD_shader_explicit_vertex_parameter"> @@ -17484,26 +18879,26 @@ typedef void <name>CAMetalLayer</name>; <enable extension="VK_AMD_texture_gather_bias_lod"/> </spirvextension> <spirvextension name="SPV_KHR_shader_draw_parameters"> - <enable version="VK_API_VERSION_1_1"/> + <enable version="VK_VERSION_1_1"/> <enable extension="VK_KHR_shader_draw_parameters"/> </spirvextension> <spirvextension name="SPV_KHR_8bit_storage"> - <enable version="VK_API_VERSION_1_2"/> + <enable version="VK_VERSION_1_2"/> <enable extension="VK_KHR_8bit_storage"/> </spirvextension> <spirvextension name="SPV_KHR_16bit_storage"> - <enable version="VK_API_VERSION_1_1"/> + <enable version="VK_VERSION_1_1"/> <enable extension="VK_KHR_16bit_storage"/> </spirvextension> <spirvextension name="SPV_KHR_shader_clock"> <enable extension="VK_KHR_shader_clock"/> </spirvextension> <spirvextension name="SPV_KHR_float_controls"> - <enable version="VK_API_VERSION_1_2"/> + <enable version="VK_VERSION_1_2"/> <enable extension="VK_KHR_shader_float_controls"/> </spirvextension> <spirvextension name="SPV_KHR_storage_buffer_storage_class"> - <enable version="VK_API_VERSION_1_1"/> + <enable version="VK_VERSION_1_1"/> <enable extension="VK_KHR_storage_buffer_storage_class"/> </spirvextension> <spirvextension name="SPV_KHR_post_depth_coverage"> @@ -17534,18 +18929,18 @@ typedef void <name>CAMetalLayer</name>; <enable extension="VK_NV_shader_subgroup_partitioned"/> </spirvextension> <spirvextension name="SPV_EXT_shader_viewport_index_layer"> - <enable version="VK_API_VERSION_1_2"/> + <enable version="VK_VERSION_1_2"/> <enable extension="VK_EXT_shader_viewport_index_layer"/> </spirvextension> <spirvextension name="SPV_NVX_multiview_per_view_attributes"> <enable extension="VK_NVX_multiview_per_view_attributes"/> </spirvextension> <spirvextension name="SPV_EXT_descriptor_indexing"> - <enable version="VK_API_VERSION_1_2"/> + <enable version="VK_VERSION_1_2"/> <enable extension="VK_EXT_descriptor_indexing"/> </spirvextension> <spirvextension name="SPV_KHR_vulkan_memory_model"> - <enable version="VK_API_VERSION_1_2"/> + <enable version="VK_VERSION_1_2"/> <enable extension="VK_KHR_vulkan_memory_model"/> </spirvextension> <spirvextension name="SPV_NV_compute_shader_derivatives"> @@ -17582,7 +18977,7 @@ typedef void <name>CAMetalLayer</name>; <enable extension="VK_EXT_fragment_density_map"/> </spirvextension> <spirvextension name="SPV_KHR_physical_storage_buffer"> - <enable version="VK_API_VERSION_1_2"/> + <enable version="VK_VERSION_1_2"/> <enable extension="VK_KHR_buffer_device_address"/> </spirvextension> <spirvextension name="SPV_EXT_physical_storage_buffer"> @@ -17613,7 +19008,7 @@ typedef void <name>CAMetalLayer</name>; <enable extension="VK_KHR_shader_terminate_invocation"/> </spirvextension> <spirvextension name="SPV_KHR_multiview"> - <enable version="VK_API_VERSION_1_1"/> + <enable version="VK_VERSION_1_1"/> <enable extension="VK_KHR_multiview"/> </spirvextension> <spirvextension name="SPV_KHR_workgroup_memory_explicit_layout"> @@ -17637,31 +19032,31 @@ typedef void <name>CAMetalLayer</name>; </spirvextensions> <spirvcapabilities comment="SPIR-V Capabilities allowed in Vulkan and what is required to use it"> <spirvcapability name="Matrix"> - <enable version="VK_API_VERSION_1_0"/> + <enable version="VK_VERSION_1_0"/> </spirvcapability> <spirvcapability name="Shader"> - <enable version="VK_API_VERSION_1_0"/> + <enable version="VK_VERSION_1_0"/> </spirvcapability> <spirvcapability name="InputAttachment"> - <enable version="VK_API_VERSION_1_0"/> + <enable version="VK_VERSION_1_0"/> </spirvcapability> <spirvcapability name="Sampled1D"> - <enable version="VK_API_VERSION_1_0"/> + <enable version="VK_VERSION_1_0"/> </spirvcapability> <spirvcapability name="Image1D"> - <enable version="VK_API_VERSION_1_0"/> + <enable version="VK_VERSION_1_0"/> </spirvcapability> <spirvcapability name="SampledBuffer"> - <enable version="VK_API_VERSION_1_0"/> + <enable version="VK_VERSION_1_0"/> </spirvcapability> <spirvcapability name="ImageBuffer"> - <enable version="VK_API_VERSION_1_0"/> + <enable version="VK_VERSION_1_0"/> </spirvcapability> <spirvcapability name="ImageQuery"> - <enable version="VK_API_VERSION_1_0"/> + <enable version="VK_VERSION_1_0"/> </spirvcapability> <spirvcapability name="DerivativeControl"> - <enable version="VK_API_VERSION_1_0"/> + <enable version="VK_VERSION_1_0"/> </spirvcapability> <spirvcapability name="Geometry"> <enable struct="VkPhysicalDeviceFeatures" feature="geometryShader" requires="VK_VERSION_1_0"/> @@ -17761,7 +19156,7 @@ typedef void <name>CAMetalLayer</name>; <enable struct="VkPhysicalDeviceFeatures" feature="shaderStorageImageMultisample" requires="VK_VERSION_1_0"/> </spirvcapability> <spirvcapability name="StorageImageExtendedFormats"> - <enable version="VK_API_VERSION_1_0"/> + <enable version="VK_VERSION_1_0"/> </spirvcapability> <spirvcapability name="InterpolationFunction"> <enable struct="VkPhysicalDeviceFeatures" feature="sampleRateShading" requires="VK_VERSION_1_0"/> @@ -17787,7 +19182,7 @@ typedef void <name>CAMetalLayer</name>; <enable struct="VkPhysicalDeviceMultiviewFeatures" feature="multiview" requires="VK_KHR_multiview"/> </spirvcapability> <spirvcapability name="DeviceGroup"> - <enable version="VK_API_VERSION_1_1"/> + <enable version="VK_VERSION_1_1"/> <enable extension="VK_KHR_device_group"/> </spirvcapability> <spirvcapability name="VariablePointersStorageBuffer"> @@ -17890,7 +19285,7 @@ typedef void <name>CAMetalLayer</name>; <enable extension="VK_EXT_post_depth_coverage"/> </spirvcapability> <spirvcapability name="ShaderNonUniform"> - <enable version="VK_API_VERSION_1_2"/> + <enable version="VK_VERSION_1_2"/> <enable extension="VK_EXT_descriptor_indexing"/> </spirvcapability> <spirvcapability name="RuntimeDescriptorArray"> |