diff options
-rw-r--r-- | registry/generator.py | 6 | ||||
-rwxr-xr-x | registry/genvk.py | 11 | ||||
-rw-r--r-- | registry/reg.py | 87 | ||||
-rw-r--r-- | registry/validusage.json | 552 | ||||
-rw-r--r-- | registry/vk.xml | 2 |
5 files changed, 362 insertions, 296 deletions
diff --git a/registry/generator.py b/registry/generator.py index e5fc481..37ae277 100644 --- a/registry/generator.py +++ b/registry/generator.py @@ -153,6 +153,7 @@ class GeneratorOptions: directory='.', genpath=None, apiname=None, + mergeApiNames=None, profile=None, versions='.*', emitversions='.*', @@ -176,6 +177,8 @@ class GeneratorOptions: - directory - directory in which to generate filename - genpath - path to previously generated files, such as apimap.py - apiname - string matching `<api>` 'apiname' attribute, e.g. 'gl'. + - mergeApiNames - If not None, a comma separated list of API names + to merge into the API specified by 'apiname' - profile - string specifying API profile , e.g. 'core', or None. - versions - regex matching API versions to process interfaces for. Normally `'.*'` or `'[0-9][.][0-9]'` to match all defined versions. @@ -229,6 +232,9 @@ class GeneratorOptions: self.apiname = apiname "string matching `<api>` 'apiname' attribute, e.g. 'gl'." + self.mergeApiNames = mergeApiNames + "comma separated list of API names to merge into the API specified by 'apiname'" + self.profile = profile "string specifying API profile , e.g. 'core', or None." diff --git a/registry/genvk.py b/registry/genvk.py index 0e2edaf..b31f167 100755 --- a/registry/genvk.py +++ b/registry/genvk.py @@ -148,6 +148,9 @@ def makeGenOpts(args): else: defaultAPIName = conventions.xml_api_name + # APIs to merge + mergeApiNames = args.mergeApiNames + # API include files for spec and ref pages # Overwrites include subdirectories in spec source tree # The generated include files do not include the calling convention @@ -442,6 +445,7 @@ def makeGenOpts(args): directory = directory, genpath = None, apiname = defaultAPIName, + mergeApiNames = mergeApiNames, profile = None, versions = featuresPat, emitversions = None, @@ -483,6 +487,7 @@ def makeGenOpts(args): directory = directory, genpath = None, apiname = defaultAPIName, + mergeApiNames = mergeApiNames, profile = None, versions = featuresPat, emitversions = featuresPat, @@ -599,10 +604,11 @@ def makeGenOpts(args): directory = directory, genpath = None, apiname = defaultAPIName, + mergeApiNames = mergeApiNames, profile = None, versions = None, emitversions = None, - defaultExtensions = None, + defaultExtensions = defaultAPIName, addExtensions = addExtensionRE, removeExtensions = None, emitExtensions = emitExtensionRE, @@ -727,6 +733,9 @@ if __name__ == '__main__': parser.add_argument('-apiname', action='store', default=None, help='Specify API to generate (defaults to repository-specific conventions object value)') + parser.add_argument('-mergeApiNames', action='store', + default=None, + help='Specify a comma separated list of APIs to merge into the target API') parser.add_argument('-defaultExtensions', action='store', default=APIConventions().xml_api_name, help='Specify a single class of extensions to add to targets') diff --git a/registry/reg.py b/registry/reg.py index 8cc212e..9c2b11c 100644 --- a/registry/reg.py +++ b/registry/reg.py @@ -88,6 +88,82 @@ def matchAPIProfile(api, profile, elem): return True +def mergeAPIs(tree, fromApiNames, toApiName): + """Merge multiple APIs using the precedence order specified in apiNames. + Also deletes <remove> elements. + + tree - Element at the root of the hierarchy to merge. + apiNames - list of strings of API names.""" + + stack = deque() + stack.append(tree) + + while len(stack) > 0: + parent = stack.pop() + + for child in parent.findall('*'): + if child.tag == 'remove': + # Remove <remove> elements + parent.remove(child) + else: + stack.append(child) + + supportedList = child.get('supported') + if supportedList: + supportedList = supportedList.split(',') + for apiName in [toApiName] + fromApiNames: + if apiName in supportedList: + child.set('supported', toApiName) + + if child.get('api'): + definitionName = None + definitionVariants = [] + + # Keep only one definition with the same name if there are multiple definitions + if child.tag in ['type']: + if child.get('name') is not None: + definitionName = child.get('name') + definitionVariants = parent.findall(f"{child.tag}[@name='{definitionName}']") + else: + definitionName = child.find('name').text + definitionVariants = parent.findall(f"{child.tag}/name[.='{definitionName}']/..") + elif child.tag in ['member', 'param']: + definitionName = child.find('name').text + definitionVariants = parent.findall(f"{child.tag}/name[.='{definitionName}']/..") + elif child.tag in ['enum', 'feature']: + definitionName = child.get('name') + definitionVariants = parent.findall(f"{child.tag}[@name='{definitionName}']") + elif child.tag in ['require']: + definitionName = child.get('feature') + definitionVariants = parent.findall(f"{child.tag}[@feature='{definitionName}']") + elif child.tag in ['command']: + definitionName = child.find('proto/name').text + definitionVariants = parent.findall(f"{child.tag}/proto/name[.='{definitionName}']/../..") + + if definitionName: + bestMatchApi = None + requires = None + for apiName in [toApiName] + fromApiNames: + for variant in definitionVariants: + # Keep any requires attributes from the target API + if variant.get('requires') and variant.get('api') == apiName: + requires = variant.get('requires') + # Find the best matching definition + if apiName in variant.get('api').split(',') and bestMatchApi is None: + bestMatchApi = variant.get('api') + + if bestMatchApi: + for variant in definitionVariants: + if variant.get('api') != bestMatchApi: + # Only keep best matching definition + parent.remove(variant) + else: + # Add requires attribute from the target API if it is not overridden + if requires is not None and variant.get('requires') is None: + variant.set('requires', requires) + variant.set('api', toApiName) + + def stripNonmatchingAPIs(tree, apiName, actuallyDelete = True): """Remove tree Elements with 'api' attributes matching apiName. @@ -448,8 +524,10 @@ class Registry: raise RuntimeError("Tree not initialized!") self.reg = self.tree.getroot() - # Preprocess the tree by removing all elements with non-matching - # 'api' attributes by breadth-first tree traversal. + # Preprocess the tree in one of the following ways: + # - either merge a set of APIs to another API based on their 'api' attributes + # - or remove all elements with non-matching 'api' attributes + # The preprocessing happens through a breath-first tree traversal. # This is a blunt hammer, but eliminates the need to track and test # the apis deeper in processing to select the correct elements and # avoid duplicates. @@ -457,7 +535,10 @@ class Registry: # overlapping api attributes, or where one element has an api # attribute and the other does not. - stripNonmatchingAPIs(self.reg, self.genOpts.apiname, actuallyDelete = True) + if self.genOpts.mergeApiNames: + mergeAPIs(self.reg, self.genOpts.mergeApiNames.split(','), self.genOpts.apiname) + else: + stripNonmatchingAPIs(self.reg, self.genOpts.apiname, actuallyDelete = True) # Create dictionary of registry types from toplevel <types> tags # and add 'name' attribute to each <type> tag (where missing) diff --git a/registry/validusage.json b/registry/validusage.json index 0186768..e139b8b 100644 --- a/registry/validusage.json +++ b/registry/validusage.json @@ -1,9 +1,9 @@ { "version info": { "schema version": 2, - "api version": "1.3.247", - "comment": "from git branch: github-main commit: 79d2478e22ad88e6206b5f15f2580ca8e9722709", - "date": "2023-04-13 09:57:38Z" + "api version": "1.3.248", + "comment": "from git branch: github-main commit: 9fff8b252a3688c0231fa78709084bbe677d3bf7", + "date": "2023-04-20 06:40:22Z" }, "validation": { "vkGetInstanceProcAddr": { @@ -8355,6 +8355,10 @@ "text": " If <code>format</code> is a depth/stencil format, <code>finalLayout</code> <strong class=\"purple\">must</strong> not be <code>VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL</code>" }, { + "vuid": "VUID-VkAttachmentDescription-samples-08745", + "text": " <code>samples</code> <strong class=\"purple\">must</strong> be a bit value that is set in <code>imageCreateSampleCounts</code> (as defined in <a href=\"#resources-image-creation-limits\">Image Creation Limits</a>) for the given <code>format</code>" + }, + { "vuid": "VUID-VkAttachmentDescription-format-06700", "text": " If <code>format</code> includes a stencil component and <code>stencilLoadOp</code> is <code>VK_ATTACHMENT_LOAD_OP_LOAD</code>, then <code>initialLayout</code> <strong class=\"purple\">must</strong> not be <code>VK_IMAGE_LAYOUT_UNDEFINED</code>" }, @@ -9169,6 +9173,10 @@ "text": " If <code>format</code> is a depth/stencil format, <code>finalLayout</code> <strong class=\"purple\">must</strong> not be <code>VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL</code>" }, { + "vuid": "VUID-VkAttachmentDescription2-samples-08745", + "text": " <code>samples</code> <strong class=\"purple\">must</strong> be a bit value that is set in <code>imageCreateSampleCounts</code> (as defined in <a href=\"#resources-image-creation-limits\">Image Creation Limits</a>) for the given <code>format</code>" + }, + { "vuid": "VUID-VkAttachmentDescription2-sType-sType", "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2</code>" }, @@ -12973,6 +12981,18 @@ "text": " If <code>renderPass</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, and the pipeline is being created with <a href=\"#pipelines-graphics-subsets-fragment-output\">fragment output interface state</a>, then for each color attachment in the subpass, if the <a href=\"#potential-format-features\">potential format features</a> of the format of the corresponding attachment description do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the <code>blendEnable</code> member of the corresponding element of the <code>pAttachments</code> member of <code>pColorBlendState</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>" }, { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-renderPass-07609", + "text": " If <code>renderPass</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, and the pipeline is being created with <a href=\"#pipelines-graphics-subsets-fragment-output\">fragment output interface state</a>, and the <code>pColorBlendState</code> pointer is not <code>NULL</code>, and the subpass uses color attachments, the <code>attachmentCount</code> member of <code>pColorBlendState</code> <strong class=\"purple\">must</strong> be equal to the <code>colorAttachmentCount</code> used to create <code>subpass</code>" + }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-04130", + "text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a>, and <code>pViewportState->pViewports</code> is not dynamic, then <code>pViewportState->pViewports</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>pViewportState->viewportCount</code> valid <code>VkViewport</code> structures" + }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-04131", + "text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a>, and <code>pViewportState->pScissors</code> is not dynamic, then <code>pViewportState->pScissors</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>pViewportState->scissorCount</code> <code>VkRect2D</code> structures" + }, + { "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-00749", "text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a>, and the <a href=\"#features-wideLines\"><code>wideLines</code></a> feature is not enabled, and no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> is <code>VK_DYNAMIC_STATE_LINE_WIDTH</code>, the <code>lineWidth</code> member of <code>pRasterizationState</code> <strong class=\"purple\">must</strong> be <code>1.0</code>" }, @@ -13009,6 +13029,18 @@ "text": " The number of resources in <code>layout</code> accessible to each shader stage that is used by the pipeline <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceLimits</code>::<code>maxPerStageResources</code>" }, { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-pStages-02097", + "text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-vertex-input\">vertex input state</a>, and <code>pVertexInputState</code> is not dynamic, then <code>pVertexInputState</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkPipelineVertexInputStateCreateInfo\">VkPipelineVertexInputStateCreateInfo</a> structure" + }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-Input-07904", + "text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-vertex-input\">vertex input state</a> and <code>pVertexInputState</code> is not dynamic, then all variables with the <code>Input</code> storage class decorated with <code>Location</code> in the <code>Vertex</code> {ExecutionModel} <code>OpEntryPoint</code> <strong class=\"purple\">must</strong> contain a location in <a href=\"#VkVertexInputAttributeDescription\">VkVertexInputAttributeDescription</a>::<code>location</code>" + }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-Input-08733", + "text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-vertex-input\">vertex input state</a> and <code>pVertexInputState</code> is not dynamic, then all variables with the <code>Input</code> storage class decorated with <code>Location</code> in the <code>Vertex</code> {ExecutionModel} <code>OpEntryPoint</code> <strong class=\"purple\">must</strong> be the same numeric type as the matching location in <a href=\"#VkVertexInputAttributeDescription\">VkVertexInputAttributeDescription</a>" + }, + { "vuid": "VUID-VkGraphicsPipelineCreateInfo-pStages-02098", "text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-vertex-input\">vertex input state</a>, <code>pInputAssemblyState</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a> structure" }, @@ -13091,178 +13123,6 @@ "text": " The shader stages for <code>VK_SHADER_STAGE_TASK_BIT_EXT</code> or <code>VK_SHADER_STAGE_MESH_BIT_EXT</code> <strong class=\"purple\">must</strong> use either the <code>TaskNV</code> and <code>MeshNV</code> {ExecutionModel} or the <code>TaskEXT</code> and <code>MeshEXT</code> {ExecutionModel}, but <strong class=\"purple\">must</strong> not use both" } ], - "!(VK_EXT_extended_dynamic_state3)": [ - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-renderPass-06042", - "text": " If <code>renderPass</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, and the pipeline is being created with <a href=\"#pipelines-graphics-subsets-fragment-output\">fragment output interface state</a>, and the subpass uses color attachments, the <code>attachmentCount</code> member of <code>pColorBlendState</code> <strong class=\"purple\">must</strong> be equal to the <code>colorAttachmentCount</code> used to create <code>subpass</code>" - } - ], - "(VK_EXT_extended_dynamic_state3)": [ - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-renderPass-07609", - "text": " If <code>renderPass</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, and the pipeline is being created with <a href=\"#pipelines-graphics-subsets-fragment-output\">fragment output interface state</a>, and the <code>pColorBlendState</code> pointer is not <code>NULL</code>, and the subpass uses color attachments, the <code>attachmentCount</code> member of <code>pColorBlendState</code> <strong class=\"purple\">must</strong> be equal to the <code>colorAttachmentCount</code> used to create <code>subpass</code>" - }, - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3TessellationDomainOrigin-07370", - "text": " If the <a href=\"#features-extendedDynamicState3TessellationDomainOrigin\"><code>extendedDynamicState3TessellationDomainOrigin</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT</code>" - }, - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3DepthClampEnable-07371", - "text": " If the <a href=\"#features-extendedDynamicState3DepthClampEnable\"><code>extendedDynamicState3DepthClampEnable</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT</code>" - }, - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3PolygonMode-07372", - "text": " If the <a href=\"#features-extendedDynamicState3PolygonMode\"><code>extendedDynamicState3PolygonMode</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_POLYGON_MODE_EXT</code>" - }, - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3RasterizationSamples-07373", - "text": " If the <a href=\"#features-extendedDynamicState3RasterizationSamples\"><code>extendedDynamicState3RasterizationSamples</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT</code>" - }, - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3SampleMask-07374", - "text": " If the <a href=\"#features-extendedDynamicState3SampleMask\"><code>extendedDynamicState3SampleMask</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_SAMPLE_MASK_EXT</code>" - }, - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3AlphaToCoverageEnable-07375", - "text": " If the <a href=\"#features-extendedDynamicState3AlphaToCoverageEnable\"><code>extendedDynamicState3AlphaToCoverageEnable</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT</code>" - }, - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3AlphaToOneEnable-07376", - "text": " If the <a href=\"#features-extendedDynamicState3AlphaToOneEnable\"><code>extendedDynamicState3AlphaToOneEnable</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT</code>" - }, - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3LogicOpEnable-07377", - "text": " If the <a href=\"#features-extendedDynamicState3LogicOpEnable\"><code>extendedDynamicState3LogicOpEnable</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT</code>" - }, - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3ColorBlendEnable-07378", - "text": " If the <a href=\"#features-extendedDynamicState3ColorBlendEnable\"><code>extendedDynamicState3ColorBlendEnable</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT</code>" - }, - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3ColorBlendEquation-07379", - "text": " If the <a href=\"#features-extendedDynamicState3ColorBlendEquation\"><code>extendedDynamicState3ColorBlendEquation</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT</code>" - }, - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3ColorWriteMask-07380", - "text": " If the <a href=\"#features-extendedDynamicState3ColorWriteMask\"><code>extendedDynamicState3ColorWriteMask</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT</code>" - }, - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3RasterizationStream-07381", - "text": " If the <a href=\"#features-extendedDynamicState3RasterizationStream\"><code>extendedDynamicState3RasterizationStream</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT</code>" - }, - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3ConservativeRasterizationMode-07382", - "text": " If the <a href=\"#features-extendedDynamicState3ConservativeRasterizationMode\"><code>extendedDynamicState3ConservativeRasterizationMode</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT</code>" - }, - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3ExtraPrimitiveOverestimationSize-07383", - "text": " If the <a href=\"#features-extendedDynamicState3ExtraPrimitiveOverestimationSize\"><code>extendedDynamicState3ExtraPrimitiveOverestimationSize</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT</code>" - }, - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3DepthClipEnable-07384", - "text": " If the <a href=\"#features-extendedDynamicState3DepthClipEnable\"><code>extendedDynamicState3DepthClipEnable</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT</code>" - }, - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3SampleLocationsEnable-07385", - "text": " If the <a href=\"#features-extendedDynamicState3SampleLocationsEnable\"><code>extendedDynamicState3SampleLocationsEnable</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT</code>" - }, - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3ColorBlendAdvanced-07386", - "text": " If the <a href=\"#features-extendedDynamicState3ColorBlendAdvanced\"><code>extendedDynamicState3ColorBlendAdvanced</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT</code>" - }, - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3ProvokingVertexMode-07387", - "text": " If the <a href=\"#features-extendedDynamicState3ProvokingVertexMode\"><code>extendedDynamicState3ProvokingVertexMode</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT</code>" - }, - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3LineRasterizationMode-07388", - "text": " If the <a href=\"#features-extendedDynamicState3LineRasterizationMode\"><code>extendedDynamicState3LineRasterizationMode</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT</code>" - }, - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3LineStippleEnable-07389", - "text": " If the <a href=\"#features-extendedDynamicState3LineStippleEnable\"><code>extendedDynamicState3LineStippleEnable</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT</code>" - }, - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3DepthClipNegativeOneToOne-07390", - "text": " If the <a href=\"#features-extendedDynamicState3DepthClipNegativeOneToOne\"><code>extendedDynamicState3DepthClipNegativeOneToOne</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT</code>" - }, - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3ViewportWScalingEnable-07391", - "text": " If the <a href=\"#features-extendedDynamicState3ViewportWScalingEnable\"><code>extendedDynamicState3ViewportWScalingEnable</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV</code>" - }, - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3ViewportSwizzle-07392", - "text": " If the <a href=\"#features-extendedDynamicState3ViewportSwizzle\"><code>extendedDynamicState3ViewportSwizzle</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV</code>" - }, - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3CoverageToColorEnable-07393", - "text": " If the <a href=\"#features-extendedDynamicState3CoverageToColorEnable\"><code>extendedDynamicState3CoverageToColorEnable</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV</code>" - }, - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3CoverageToColorLocation-07394", - "text": " If the <a href=\"#features-extendedDynamicState3CoverageToColorLocation\"><code>extendedDynamicState3CoverageToColorLocation</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_LOCATION_NV</code>" - }, - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3CoverageModulationMode-07395", - "text": " If the <a href=\"#features-extendedDynamicState3CoverageModulationMode\"><code>extendedDynamicState3CoverageModulationMode</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_COVERAGE_MODULATION_MODE_NV</code>" - }, - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3CoverageModulationTableEnable-07396", - "text": " If the <a href=\"#features-extendedDynamicState3CoverageModulationTableEnable\"><code>extendedDynamicState3CoverageModulationTableEnable</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV</code>" - }, - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3CoverageModulationTable-07397", - "text": " If the <a href=\"#features-extendedDynamicState3CoverageModulationTable\"><code>extendedDynamicState3CoverageModulationTable</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_NV</code>" - }, - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3CoverageReductionMode-07398", - "text": " If the <a href=\"#features-extendedDynamicState3CoverageReductionMode\"><code>extendedDynamicState3CoverageReductionMode</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV</code>" - }, - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3RepresentativeFragmentTestEnable-07399", - "text": " If the <a href=\"#features-extendedDynamicState3RepresentativeFragmentTestEnable\"><code>extendedDynamicState3RepresentativeFragmentTestEnable</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV</code>" - }, - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3ShadingRateImageEnable-07400", - "text": " If the <a href=\"#features-extendedDynamicState3ShadingRateImageEnable\"><code>extendedDynamicState3ShadingRateImageEnable</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_SHADING_RATE_IMAGE_ENABLE_NV</code>" - } - ], - "!(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)": [ - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-00747", - "text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a>, and no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> is <code>VK_DYNAMIC_STATE_VIEWPORT</code>, the <code>pViewports</code> member of <code>pViewportState</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>pViewportState->viewportCount</code> valid <code>VkViewport</code> structures" - }, - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-00748", - "text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a>, and no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> is <code>VK_DYNAMIC_STATE_SCISSOR</code>, the <code>pScissors</code> member of <code>pViewportState</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>pViewportState->scissorCount</code> <code>VkRect2D</code> structures" - } - ], - "(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)": [ - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-04130", - "text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a>, and no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> is <code>VK_DYNAMIC_STATE_VIEWPORT</code> or <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT</code>, the <code>pViewports</code> member of <code>pViewportState</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>pViewportState->viewportCount</code> valid <code>VkViewport</code> structures" - }, - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-04131", - "text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a>, and no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> is <code>VK_DYNAMIC_STATE_SCISSOR</code> or <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT</code>, the <code>pScissors</code> member of <code>pViewportState</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>pViewportState->scissorCount</code> <code>VkRect2D</code> structures" - }, - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-03379", - "text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a>, and <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT</code> is included in the <code>pDynamicStates</code> array then <code>viewportCount</code> <strong class=\"purple\">must</strong> be zero" - }, - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-03380", - "text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a>, and <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT</code> is included in the <code>pDynamicStates</code> array then <code>scissorCount</code> <strong class=\"purple\">must</strong> be zero" - }, - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-04132", - "text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a>, and <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT</code> is included in the <code>pDynamicStates</code> array then <code>VK_DYNAMIC_STATE_VIEWPORT</code> <strong class=\"purple\">must</strong> not be present" - }, - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-04133", - "text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a>, and <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT</code> is included in the <code>pDynamicStates</code> array then <code>VK_DYNAMIC_STATE_SCISSOR</code> <strong class=\"purple\">must</strong> not be present" - } - ], "(VK_VERSION_1_3,VK_EXT_extended_dynamic_state2)": [ { "vuid": "VUID-VkGraphicsPipelineCreateInfo-pViewportState-04892", @@ -13289,35 +13149,19 @@ "text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-fragment-shader\">fragment shader state</a>, and the <code><a href=\"#VK_EXT_depth_range_unrestricted\">VK_EXT_depth_range_unrestricted</a></code> extension is not enabled and no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> is <code>VK_DYNAMIC_STATE_DEPTH_BOUNDS</code>, and the <code>depthBoundsTestEnable</code> member of <code>pDepthStencilState</code> is <code>VK_TRUE</code>, the <code>minDepthBounds</code> and <code>maxDepthBounds</code> members of <code>pDepthStencilState</code> <strong class=\"purple\">must</strong> be between <code>0.0</code> and <code>1.0</code>, inclusive" } ], - "(VK_EXT_sample_locations)+!(VK_EXT_extended_dynamic_state3)": [ - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-01521", - "text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-fragment-shader\">fragment shader state</a> or <a href=\"#pipelines-graphics-subsets-fragment-output\">fragment output interface state</a>, and no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> is <code>VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT</code>, and the <code>sampleLocationsEnable</code> member of a <a href=\"#VkPipelineSampleLocationsStateCreateInfoEXT\">VkPipelineSampleLocationsStateCreateInfoEXT</a> structure included in the <code>pNext</code> chain of <code>pMultisampleState</code> is <code>VK_TRUE</code>, <code>sampleLocationsInfo.sampleLocationGridSize.width</code> <strong class=\"purple\">must</strong> evenly divide <a href=\"#VkMultisamplePropertiesEXT\">VkMultisamplePropertiesEXT</a>::<code>sampleLocationGridSize.width</code> as returned by <a href=\"#vkGetPhysicalDeviceMultisamplePropertiesEXT\">vkGetPhysicalDeviceMultisamplePropertiesEXT</a> with a <code>samples</code> parameter equaling <code>rasterizationSamples</code>" - }, - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-01522", - "text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-fragment-shader\">fragment shader state</a> or <a href=\"#pipelines-graphics-subsets-fragment-output\">fragment output interface state</a>, and no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> is <code>VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT</code>, and the <code>sampleLocationsEnable</code> member of a <a href=\"#VkPipelineSampleLocationsStateCreateInfoEXT\">VkPipelineSampleLocationsStateCreateInfoEXT</a> structure included in the <code>pNext</code> chain of <code>pMultisampleState</code> is <code>VK_TRUE</code>, <code>sampleLocationsInfo.sampleLocationGridSize.height</code> <strong class=\"purple\">must</strong> evenly divide <a href=\"#VkMultisamplePropertiesEXT\">VkMultisamplePropertiesEXT</a>::<code>sampleLocationGridSize.height</code> as returned by <a href=\"#vkGetPhysicalDeviceMultisamplePropertiesEXT\">vkGetPhysicalDeviceMultisamplePropertiesEXT</a> with a <code>samples</code> parameter equaling <code>rasterizationSamples</code>" - }, - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-01523", - "text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-fragment-shader\">fragment shader state</a> or <a href=\"#pipelines-graphics-subsets-fragment-output\">fragment output interface state</a>, and no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> is <code>VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT</code>, and the <code>sampleLocationsEnable</code> member of a <a href=\"#VkPipelineSampleLocationsStateCreateInfoEXT\">VkPipelineSampleLocationsStateCreateInfoEXT</a> structure included in the <code>pNext</code> chain of <code>pMultisampleState</code> is <code>VK_TRUE</code>, <code>sampleLocationsInfo.sampleLocationsPerPixel</code> <strong class=\"purple\">must</strong> equal <code>rasterizationSamples</code>" - } - ], - "(VK_EXT_sample_locations)+(VK_EXT_extended_dynamic_state3)": [ + "(VK_EXT_sample_locations)": [ { "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-07610", - "text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-fragment-shader\">fragment shader state</a> or <a href=\"#pipelines-graphics-subsets-fragment-output\">fragment output interface state</a>, and no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> is <code>VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT</code> or <code>VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT</code>, and the <code>sampleLocationsEnable</code> member of a <a href=\"#VkPipelineSampleLocationsStateCreateInfoEXT\">VkPipelineSampleLocationsStateCreateInfoEXT</a> structure included in the <code>pNext</code> chain of <code>pMultisampleState</code> is <code>VK_TRUE</code>, <code>sampleLocationsInfo.sampleLocationGridSize.width</code> <strong class=\"purple\">must</strong> evenly divide <a href=\"#VkMultisamplePropertiesEXT\">VkMultisamplePropertiesEXT</a>::<code>sampleLocationGridSize.width</code> as returned by <a href=\"#vkGetPhysicalDeviceMultisamplePropertiesEXT\">vkGetPhysicalDeviceMultisamplePropertiesEXT</a> with a <code>samples</code> parameter equaling <code>rasterizationSamples</code>" + "text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-fragment-shader\">fragment shader state</a> or <a href=\"#pipelines-graphics-subsets-fragment-output\">fragment output interface state</a>, and <code>rasterizationSamples</code> and <code>sampleLocationsInfo</code> are not dynamic, and <a href=\"#VkPipelineSampleLocationsStateCreateInfoEXT\">VkPipelineSampleLocationsStateCreateInfoEXT</a>::<code>sampleLocationsEnable</code> included in the <code>pNext</code> chain of <code>pMultisampleState</code> is <code>VK_TRUE</code>, <code>sampleLocationsInfo.sampleLocationGridSize.width</code> <strong class=\"purple\">must</strong> evenly divide <a href=\"#VkMultisamplePropertiesEXT\">VkMultisamplePropertiesEXT</a>::<code>sampleLocationGridSize.width</code> as returned by <a href=\"#vkGetPhysicalDeviceMultisamplePropertiesEXT\">vkGetPhysicalDeviceMultisamplePropertiesEXT</a> with a <code>samples</code> parameter equaling <code>rasterizationSamples</code>" }, { "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-07611", - "text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-fragment-shader\">fragment shader state</a> or <a href=\"#pipelines-graphics-subsets-fragment-output\">fragment output interface state</a>, and no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> is <code>VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT</code> or <code>VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT</code>, and the <code>sampleLocationsEnable</code> member of a <a href=\"#VkPipelineSampleLocationsStateCreateInfoEXT\">VkPipelineSampleLocationsStateCreateInfoEXT</a> structure included in the <code>pNext</code> chain of <code>pMultisampleState</code> is <code>VK_TRUE</code> or <code>VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT</code> is used, <code>sampleLocationsInfo.sampleLocationGridSize.height</code> <strong class=\"purple\">must</strong> evenly divide <a href=\"#VkMultisamplePropertiesEXT\">VkMultisamplePropertiesEXT</a>::<code>sampleLocationGridSize.height</code> as returned by <a href=\"#vkGetPhysicalDeviceMultisamplePropertiesEXT\">vkGetPhysicalDeviceMultisamplePropertiesEXT</a> with a <code>samples</code> parameter equaling <code>rasterizationSamples</code>" + "text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-fragment-shader\">fragment shader state</a> or <a href=\"#pipelines-graphics-subsets-fragment-output\">fragment output interface state</a>, and <code>rasterizationSamples</code> and <code>sampleLocationsInfo</code> are not dynamic, and <a href=\"#VkPipelineSampleLocationsStateCreateInfoEXT\">VkPipelineSampleLocationsStateCreateInfoEXT</a>::<code>sampleLocationsEnable</code> the included in the <code>pNext</code> chain of <code>pMultisampleState</code> is <code>VK_TRUE</code> or <code>VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT</code> is used, <code>sampleLocationsInfo.sampleLocationGridSize.height</code> <strong class=\"purple\">must</strong> evenly divide <a href=\"#VkMultisamplePropertiesEXT\">VkMultisamplePropertiesEXT</a>::<code>sampleLocationGridSize.height</code> as returned by <a href=\"#vkGetPhysicalDeviceMultisamplePropertiesEXT\">vkGetPhysicalDeviceMultisamplePropertiesEXT</a> with a <code>samples</code> parameter equaling <code>rasterizationSamples</code>" }, { "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-07612", - "text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-fragment-shader\">fragment shader state</a> or <a href=\"#pipelines-graphics-subsets-fragment-output\">fragment output interface state</a>, and no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> is <code>VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT</code> or <code>VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT</code>, and the <code>sampleLocationsEnable</code> member of a <a href=\"#VkPipelineSampleLocationsStateCreateInfoEXT\">VkPipelineSampleLocationsStateCreateInfoEXT</a> structure included in the <code>pNext</code> chain of <code>pMultisampleState</code> is <code>VK_TRUE</code> or <code>VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT</code> is used, <code>sampleLocationsInfo.sampleLocationsPerPixel</code> <strong class=\"purple\">must</strong> equal <code>rasterizationSamples</code>" - } - ], - "(VK_EXT_sample_locations)": [ + "text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-fragment-shader\">fragment shader state</a> or <a href=\"#pipelines-graphics-subsets-fragment-output\">fragment output interface state</a>, and <code>rasterizationSamples</code> and <code>sampleLocationsInfo</code> are not dynamic, and <a href=\"#VkPipelineSampleLocationsStateCreateInfoEXT\">VkPipelineSampleLocationsStateCreateInfoEXT</a>::<code>sampleLocationsEnable</code> included in the <code>pNext</code> chain of <code>pMultisampleState</code> is <code>VK_TRUE</code> or <code>VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT</code> is used, <code>sampleLocationsInfo.sampleLocationsPerPixel</code> <strong class=\"purple\">must</strong> equal <code>rasterizationSamples</code>" + }, { "vuid": "VUID-VkGraphicsPipelineCreateInfo-sampleLocationsEnable-01524", "text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-fragment-shader\">fragment shader state</a>, and the <code>sampleLocationsEnable</code> member of a <a href=\"#VkPipelineSampleLocationsStateCreateInfoEXT\">VkPipelineSampleLocationsStateCreateInfoEXT</a> structure included in the <code>pNext</code> chain of <code>pMultisampleState</code> is <code>VK_TRUE</code>, the fragment shader code <strong class=\"purple\">must</strong> not statically use the extended instruction <code>InterpolateAtSample</code>" @@ -13431,34 +13275,6 @@ "text": " If <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT</code> is included in the <code>pDynamicStates</code> array then the implementation <strong class=\"purple\">must</strong> support at least <code>specVersion</code> <code>2</code> of the <code><a href=\"#VK_EXT_discard_rectangles\">VK_EXT_discard_rectangles</a></code> extension" } ], - "!(VK_EXT_vertex_input_dynamic_state)": [ - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-pStages-02097", - "text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-vertex-input\">vertex input state</a>, <code>pVertexInputState</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkPipelineVertexInputStateCreateInfo\">VkPipelineVertexInputStateCreateInfo</a> structure" - }, - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-Input-07904", - "text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-vertex-input\">vertex input state</a>, then all variables with the <code>Input</code> storage class decorated with <code>Location</code> in the <code>Vertex</code> {ExecutionModel} <code>OpEntryPoint</code> <strong class=\"purple\">must</strong> contain a location in <a href=\"#VkVertexInputAttributeDescription\">VkVertexInputAttributeDescription</a>::<code>location</code>" - }, - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-Input-08733", - "text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-vertex-input\">vertex input state</a>, then all variables with the <code>Input</code> storage class decorated with <code>Location</code> in the <code>Vertex</code> {ExecutionModel} <code>OpEntryPoint</code> <strong class=\"purple\">must</strong> be the same numeric type as the matching location in <a href=\"#VkVertexInputAttributeDescription\">VkVertexInputAttributeDescription</a>" - } - ], - "(VK_EXT_vertex_input_dynamic_state)": [ - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-pVertexInputState-04910", - "text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-vertex-input\">vertex input state</a>, and <code>VK_DYNAMIC_STATE_VERTEX_INPUT_EXT</code> is not set, <code>pVertexInputState</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkPipelineVertexInputStateCreateInfo\">VkPipelineVertexInputStateCreateInfo</a> structure" - }, - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-Input-07905", - "text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-vertex-input\">vertex input state</a>, and <code>VK_DYNAMIC_STATE_VERTEX_INPUT_EXT</code> is not set, then all variables with the <code>Input</code> storage class decorated with <code>Location</code> in the <code>Vertex</code> {ExecutionModel} <code>OpEntryPoint</code> <strong class=\"purple\">must</strong> contain a location in <a href=\"#VkVertexInputAttributeDescription\">VkVertexInputAttributeDescription</a>::<code>location</code>" - }, - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-04807", - "text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a> and the <a href=\"#features-vertexInputDynamicState\"><code>vertexInputDynamicState</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_VERTEX_INPUT_EXT</code>" - } - ], "(VK_EXT_transform_feedback)": [ { "vuid": "VUID-VkGraphicsPipelineCreateInfo-pStages-02317", @@ -13549,6 +13365,24 @@ "text": " If the <a href=\"#features-extendedDynamicState\"><code>extendedDynamicState</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_CULL_MODE</code>, <code>VK_DYNAMIC_STATE_FRONT_FACE</code>, <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code>, <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT</code>, <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT</code>, <code>VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE</code>, <code>VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE</code>, <code>VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE</code>, <code>VK_DYNAMIC_STATE_DEPTH_COMPARE_OP</code>, <code>VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE</code>, <code>VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE</code>, or <code>VK_DYNAMIC_STATE_STENCIL_OP</code>" } ], + "(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)": [ + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-03379", + "text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a>, and <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT</code> is included in the <code>pDynamicStates</code> array then <code>viewportCount</code> <strong class=\"purple\">must</strong> be zero" + }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-03380", + "text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a>, and <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT</code> is included in the <code>pDynamicStates</code> array then <code>scissorCount</code> <strong class=\"purple\">must</strong> be zero" + }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-04132", + "text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a>, and <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT</code> is included in the <code>pDynamicStates</code> array then <code>VK_DYNAMIC_STATE_VIEWPORT</code> <strong class=\"purple\">must</strong> not be present" + }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-04133", + "text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a>, and <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT</code> is included in the <code>pDynamicStates</code> array then <code>VK_DYNAMIC_STATE_SCISSOR</code> <strong class=\"purple\">must</strong> not be present" + } + ], "(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_NV_mesh_shader,VK_EXT_mesh_shader)": [ { "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-07065", @@ -13707,6 +13541,12 @@ "text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-fragment-shader\">fragment shader state</a>, and the <a href=\"#features-noInvocationFragmentShadingRates\"><code>noInvocationFragmentShadingRates</code></a> feature is not enabled, <a href=\"#VkPipelineFragmentShadingRateEnumStateCreateInfoNV\">VkPipelineFragmentShadingRateEnumStateCreateInfoNV</a>::<code>shadingRate</code> <strong class=\"purple\">must</strong> not be equal to <code>VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV</code>" } ], + "(VK_EXT_vertex_input_dynamic_state)": [ + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-04807", + "text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a> and the <a href=\"#features-vertexInputDynamicState\"><code>vertexInputDynamicState</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_VERTEX_INPUT_EXT</code>" + } + ], "(VK_EXT_vertex_input_dynamic_state)+(VK_NV_mesh_shader,VK_EXT_mesh_shader)": [ { "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-07067", @@ -13833,6 +13673,10 @@ { "vuid": "VUID-VkGraphicsPipelineCreateInfo-renderPass-06055", "text": " If <code>renderPass</code> is <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a> and the pipeline is being created with <a href=\"#pipelines-graphics-subsets-fragment-output\">fragment output interface state</a>, <code>pColorBlendState->attachmentCount</code> <strong class=\"purple\">must</strong> be equal to <a href=\"#VkPipelineRenderingCreateInfo\">VkPipelineRenderingCreateInfo</a>::<code>colorAttachmentCount</code>" + }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-renderPass-08744", + "text": " If <code>renderPass</code> is <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, the pipeline is being created with <a href=\"#pipelines-graphics-subsets-fragment-output\">fragment output state</a>, or with <a href=\"#pipelines-graphics-subsets-fragment-shader\">fragment shader state</a> and <a href=\"#primsrast-sampleshading\">sample shading</a>, <code>rasterizationSamples</code> is not dynamic, and the <code>pNext</code> chain includes a <a href=\"#VkPipelineRenderingCreateInfo\">VkPipelineRenderingCreateInfo</a> structure, <code>rasterizationSamples</code> <strong class=\"purple\">must</strong> be a bit value that is set in <code>imageCreateSampleCounts</code> (as defined in <a href=\"#resources-image-creation-limits\">Image Creation Limits</a>) for every element of <code>depthAttachmentFormat</code>, <code>stencilAttachmentFormat</code> and the <code>pColorAttachmentFormats</code> array which is not <code>VK_FORMAT_UNDEFINED</code>" } ], "(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+!(VK_NV_linear_color_attachment)": [ @@ -13912,11 +13756,11 @@ }, { "vuid": "VUID-VkGraphicsPipelineCreateInfo-flags-06485", - "text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-fragment-output\">fragment output interface state</a> and the <code>flags</code> member of <a href=\"#VkPipelineDepthStencilStateCreateInfo\">VkPipelineDepthStencilStateCreateInfo</a> includes <code>VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT</code>, <code>subpass</code> <strong class=\"purple\">must</strong> have been created with <code>VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT</code>" + "text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-fragment-shader\">fragment shader state</a> and the <code>flags</code> member of <a href=\"#VkPipelineDepthStencilStateCreateInfo\">VkPipelineDepthStencilStateCreateInfo</a> includes <code>VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT</code>, <code>subpass</code> <strong class=\"purple\">must</strong> have been created with <code>VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT</code>" }, { "vuid": "VUID-VkGraphicsPipelineCreateInfo-flags-06486", - "text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-fragment-output\">fragment output interface state</a> and the <code>flags</code> member of <a href=\"#VkPipelineDepthStencilStateCreateInfo\">VkPipelineDepthStencilStateCreateInfo</a> includes <code>VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT</code>, <code>subpass</code> <strong class=\"purple\">must</strong> have been created with <code>VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT</code>" + "text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-fragment-shader\">fragment shader state</a> and the <code>flags</code> member of <a href=\"#VkPipelineDepthStencilStateCreateInfo\">VkPipelineDepthStencilStateCreateInfo</a> includes <code>VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT</code>, <code>subpass</code> <strong class=\"purple\">must</strong> have been created with <code>VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT</code>" } ], "(VK_EXT_rasterization_order_attachment_access,VK_ARM_rasterization_order_attachment_access)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)": [ @@ -14225,6 +14069,132 @@ "text": " If <a href=\"#limits-conservativePointAndLineRasterization\"><code>conservativePointAndLineRasterization</code></a> is not supported, the pipeline is being created with <a href=\"#pipelines-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a>, and the pipeline includes a mesh shader with either the <code>OutputPoints</code> or <code>OutputLinesNV</code> execution modes, <a href=\"#VkPipelineRasterizationConservativeStateCreateInfoEXT\">VkPipelineRasterizationConservativeStateCreateInfoEXT</a>::<code>conservativeRasterizationMode</code> <strong class=\"purple\">must</strong> be <code>VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT</code>" } ], + "(VK_EXT_extended_dynamic_state3)": [ + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3TessellationDomainOrigin-07370", + "text": " If the <a href=\"#features-extendedDynamicState3TessellationDomainOrigin\"><code>extendedDynamicState3TessellationDomainOrigin</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT</code>" + }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3DepthClampEnable-07371", + "text": " If the <a href=\"#features-extendedDynamicState3DepthClampEnable\"><code>extendedDynamicState3DepthClampEnable</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT</code>" + }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3PolygonMode-07372", + "text": " If the <a href=\"#features-extendedDynamicState3PolygonMode\"><code>extendedDynamicState3PolygonMode</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_POLYGON_MODE_EXT</code>" + }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3RasterizationSamples-07373", + "text": " If the <a href=\"#features-extendedDynamicState3RasterizationSamples\"><code>extendedDynamicState3RasterizationSamples</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT</code>" + }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3SampleMask-07374", + "text": " If the <a href=\"#features-extendedDynamicState3SampleMask\"><code>extendedDynamicState3SampleMask</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_SAMPLE_MASK_EXT</code>" + }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3AlphaToCoverageEnable-07375", + "text": " If the <a href=\"#features-extendedDynamicState3AlphaToCoverageEnable\"><code>extendedDynamicState3AlphaToCoverageEnable</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT</code>" + }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3AlphaToOneEnable-07376", + "text": " If the <a href=\"#features-extendedDynamicState3AlphaToOneEnable\"><code>extendedDynamicState3AlphaToOneEnable</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT</code>" + }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3LogicOpEnable-07377", + "text": " If the <a href=\"#features-extendedDynamicState3LogicOpEnable\"><code>extendedDynamicState3LogicOpEnable</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT</code>" + }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3ColorBlendEnable-07378", + "text": " If the <a href=\"#features-extendedDynamicState3ColorBlendEnable\"><code>extendedDynamicState3ColorBlendEnable</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT</code>" + }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3ColorBlendEquation-07379", + "text": " If the <a href=\"#features-extendedDynamicState3ColorBlendEquation\"><code>extendedDynamicState3ColorBlendEquation</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT</code>" + }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3ColorWriteMask-07380", + "text": " If the <a href=\"#features-extendedDynamicState3ColorWriteMask\"><code>extendedDynamicState3ColorWriteMask</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT</code>" + }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3RasterizationStream-07381", + "text": " If the <a href=\"#features-extendedDynamicState3RasterizationStream\"><code>extendedDynamicState3RasterizationStream</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT</code>" + }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3ConservativeRasterizationMode-07382", + "text": " If the <a href=\"#features-extendedDynamicState3ConservativeRasterizationMode\"><code>extendedDynamicState3ConservativeRasterizationMode</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT</code>" + }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3ExtraPrimitiveOverestimationSize-07383", + "text": " If the <a href=\"#features-extendedDynamicState3ExtraPrimitiveOverestimationSize\"><code>extendedDynamicState3ExtraPrimitiveOverestimationSize</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT</code>" + }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3DepthClipEnable-07384", + "text": " If the <a href=\"#features-extendedDynamicState3DepthClipEnable\"><code>extendedDynamicState3DepthClipEnable</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT</code>" + }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3SampleLocationsEnable-07385", + "text": " If the <a href=\"#features-extendedDynamicState3SampleLocationsEnable\"><code>extendedDynamicState3SampleLocationsEnable</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT</code>" + }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3ColorBlendAdvanced-07386", + "text": " If the <a href=\"#features-extendedDynamicState3ColorBlendAdvanced\"><code>extendedDynamicState3ColorBlendAdvanced</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT</code>" + }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3ProvokingVertexMode-07387", + "text": " If the <a href=\"#features-extendedDynamicState3ProvokingVertexMode\"><code>extendedDynamicState3ProvokingVertexMode</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT</code>" + }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3LineRasterizationMode-07388", + "text": " If the <a href=\"#features-extendedDynamicState3LineRasterizationMode\"><code>extendedDynamicState3LineRasterizationMode</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT</code>" + }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3LineStippleEnable-07389", + "text": " If the <a href=\"#features-extendedDynamicState3LineStippleEnable\"><code>extendedDynamicState3LineStippleEnable</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT</code>" + }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3DepthClipNegativeOneToOne-07390", + "text": " If the <a href=\"#features-extendedDynamicState3DepthClipNegativeOneToOne\"><code>extendedDynamicState3DepthClipNegativeOneToOne</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT</code>" + }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3ViewportWScalingEnable-07391", + "text": " If the <a href=\"#features-extendedDynamicState3ViewportWScalingEnable\"><code>extendedDynamicState3ViewportWScalingEnable</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV</code>" + }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3ViewportSwizzle-07392", + "text": " If the <a href=\"#features-extendedDynamicState3ViewportSwizzle\"><code>extendedDynamicState3ViewportSwizzle</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV</code>" + }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3CoverageToColorEnable-07393", + "text": " If the <a href=\"#features-extendedDynamicState3CoverageToColorEnable\"><code>extendedDynamicState3CoverageToColorEnable</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV</code>" + }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3CoverageToColorLocation-07394", + "text": " If the <a href=\"#features-extendedDynamicState3CoverageToColorLocation\"><code>extendedDynamicState3CoverageToColorLocation</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_LOCATION_NV</code>" + }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3CoverageModulationMode-07395", + "text": " If the <a href=\"#features-extendedDynamicState3CoverageModulationMode\"><code>extendedDynamicState3CoverageModulationMode</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_COVERAGE_MODULATION_MODE_NV</code>" + }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3CoverageModulationTableEnable-07396", + "text": " If the <a href=\"#features-extendedDynamicState3CoverageModulationTableEnable\"><code>extendedDynamicState3CoverageModulationTableEnable</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV</code>" + }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3CoverageModulationTable-07397", + "text": " If the <a href=\"#features-extendedDynamicState3CoverageModulationTable\"><code>extendedDynamicState3CoverageModulationTable</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_NV</code>" + }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3CoverageReductionMode-07398", + "text": " If the <a href=\"#features-extendedDynamicState3CoverageReductionMode\"><code>extendedDynamicState3CoverageReductionMode</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV</code>" + }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3RepresentativeFragmentTestEnable-07399", + "text": " If the <a href=\"#features-extendedDynamicState3RepresentativeFragmentTestEnable\"><code>extendedDynamicState3RepresentativeFragmentTestEnable</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV</code>" + }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3ShadingRateImageEnable-07400", + "text": " If the <a href=\"#features-extendedDynamicState3ShadingRateImageEnable\"><code>extendedDynamicState3ShadingRateImageEnable</code></a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_SHADING_RATE_IMAGE_ENABLE_NV</code>" + } + ], "(VK_EXT_opacity_micromap)": [ { "vuid": "VUID-VkGraphicsPipelineCreateInfo-flags-07401", @@ -34961,13 +34931,13 @@ "text": " If the <a href=\"#features-depthClipControl\"><code>depthClipControl</code></a> feature is enabled, and a shader object is bound to any graphics stage, then <a href=\"#vkCmdSetDepthClipNegativeOneToOneEXT\">vkCmdSetDepthClipNegativeOneToOneEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], - "(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling[]\nifdef::VK_EXT_extended_dynamic_stat)": [ + "(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling)+(VK_EXT_extended_dynamic_state3)": [ { "vuid": "VUID-vkCmdDraw-None-07640", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command endif::VK_EXT_extended_dynamic_state3" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], - "(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling[]\nifdef::VK_EXT_extended_dynamic_stat)+(VK_EXT_shader_object)": [ + "(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling)+(VK_EXT_shader_object)": [ { "vuid": "VUID-vkCmdDraw-None-08674", "text": " If the <code><a href=\"#VK_NV_clip_space_w_scaling\">VK_NV_clip_space_w_scaling</a></code> extension is enabled, and a shader object is bound to any graphics stage, then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" @@ -36519,13 +36489,13 @@ "text": " If the <a href=\"#features-depthClipControl\"><code>depthClipControl</code></a> feature is enabled, and a shader object is bound to any graphics stage, then <a href=\"#vkCmdSetDepthClipNegativeOneToOneEXT\">vkCmdSetDepthClipNegativeOneToOneEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], - "(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling[]\nifdef::VK_EXT_extended_dynamic_stat)": [ + "(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling)+(VK_EXT_extended_dynamic_state3)": [ { "vuid": "VUID-vkCmdDrawIndexed-None-07640", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command endif::VK_EXT_extended_dynamic_state3" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], - "(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling[]\nifdef::VK_EXT_extended_dynamic_stat)+(VK_EXT_shader_object)": [ + "(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling)+(VK_EXT_shader_object)": [ { "vuid": "VUID-vkCmdDrawIndexed-None-08674", "text": " If the <code><a href=\"#VK_NV_clip_space_w_scaling\">VK_NV_clip_space_w_scaling</a></code> extension is enabled, and a shader object is bound to any graphics stage, then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" @@ -38085,13 +38055,13 @@ "text": " If the <a href=\"#features-depthClipControl\"><code>depthClipControl</code></a> feature is enabled, and a shader object is bound to any graphics stage, then <a href=\"#vkCmdSetDepthClipNegativeOneToOneEXT\">vkCmdSetDepthClipNegativeOneToOneEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], - "(VK_EXT_multi_draw)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling[]\nifdef::VK_EXT_extended_dynamic_stat)": [ + "(VK_EXT_multi_draw)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling)+(VK_EXT_extended_dynamic_state3)": [ { "vuid": "VUID-vkCmdDrawMultiEXT-None-07640", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command endif::VK_EXT_extended_dynamic_state3" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], - "(VK_EXT_multi_draw)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling[]\nifdef::VK_EXT_extended_dynamic_stat)+(VK_EXT_shader_object)": [ + "(VK_EXT_multi_draw)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling)+(VK_EXT_shader_object)": [ { "vuid": "VUID-vkCmdDrawMultiEXT-None-08674", "text": " If the <code><a href=\"#VK_NV_clip_space_w_scaling\">VK_NV_clip_space_w_scaling</a></code> extension is enabled, and a shader object is bound to any graphics stage, then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" @@ -39663,13 +39633,13 @@ "text": " If the <a href=\"#features-depthClipControl\"><code>depthClipControl</code></a> feature is enabled, and a shader object is bound to any graphics stage, then <a href=\"#vkCmdSetDepthClipNegativeOneToOneEXT\">vkCmdSetDepthClipNegativeOneToOneEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], - "(VK_EXT_multi_draw)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling[]\nifdef::VK_EXT_extended_dynamic_stat)": [ + "(VK_EXT_multi_draw)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling)+(VK_EXT_extended_dynamic_state3)": [ { "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-07640", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command endif::VK_EXT_extended_dynamic_state3" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], - "(VK_EXT_multi_draw)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling[]\nifdef::VK_EXT_extended_dynamic_stat)+(VK_EXT_shader_object)": [ + "(VK_EXT_multi_draw)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling)+(VK_EXT_shader_object)": [ { "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-08674", "text": " If the <code><a href=\"#VK_NV_clip_space_w_scaling\">VK_NV_clip_space_w_scaling</a></code> extension is enabled, and a shader object is bound to any graphics stage, then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" @@ -41253,13 +41223,13 @@ "text": " If the <a href=\"#features-depthClipControl\"><code>depthClipControl</code></a> feature is enabled, and a shader object is bound to any graphics stage, then <a href=\"#vkCmdSetDepthClipNegativeOneToOneEXT\">vkCmdSetDepthClipNegativeOneToOneEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], - "(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling[]\nifdef::VK_EXT_extended_dynamic_stat)": [ + "(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling)+(VK_EXT_extended_dynamic_state3)": [ { "vuid": "VUID-vkCmdDrawIndirect-None-07640", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command endif::VK_EXT_extended_dynamic_state3" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], - "(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling[]\nifdef::VK_EXT_extended_dynamic_stat)+(VK_EXT_shader_object)": [ + "(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling)+(VK_EXT_shader_object)": [ { "vuid": "VUID-vkCmdDrawIndirect-None-08674", "text": " If the <code><a href=\"#VK_NV_clip_space_w_scaling\">VK_NV_clip_space_w_scaling</a></code> extension is enabled, and a shader object is bound to any graphics stage, then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" @@ -42865,13 +42835,13 @@ "text": " If the <a href=\"#features-depthClipControl\"><code>depthClipControl</code></a> feature is enabled, and a shader object is bound to any graphics stage, then <a href=\"#vkCmdSetDepthClipNegativeOneToOneEXT\">vkCmdSetDepthClipNegativeOneToOneEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], - "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling[]\nifdef::VK_EXT_extended_dynamic_stat)": [ + "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling)+(VK_EXT_extended_dynamic_state3)": [ { "vuid": "VUID-vkCmdDrawIndirectCount-None-07640", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command endif::VK_EXT_extended_dynamic_state3" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], - "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling[]\nifdef::VK_EXT_extended_dynamic_stat)+(VK_EXT_shader_object)": [ + "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling)+(VK_EXT_shader_object)": [ { "vuid": "VUID-vkCmdDrawIndirectCount-None-08674", "text": " If the <code><a href=\"#VK_NV_clip_space_w_scaling\">VK_NV_clip_space_w_scaling</a></code> extension is enabled, and a shader object is bound to any graphics stage, then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" @@ -44459,13 +44429,13 @@ "text": " If the <a href=\"#features-depthClipControl\"><code>depthClipControl</code></a> feature is enabled, and a shader object is bound to any graphics stage, then <a href=\"#vkCmdSetDepthClipNegativeOneToOneEXT\">vkCmdSetDepthClipNegativeOneToOneEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], - "(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling[]\nifdef::VK_EXT_extended_dynamic_stat)": [ + "(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling)+(VK_EXT_extended_dynamic_state3)": [ { "vuid": "VUID-vkCmdDrawIndexedIndirect-None-07640", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command endif::VK_EXT_extended_dynamic_state3" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], - "(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling[]\nifdef::VK_EXT_extended_dynamic_stat)+(VK_EXT_shader_object)": [ + "(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling)+(VK_EXT_shader_object)": [ { "vuid": "VUID-vkCmdDrawIndexedIndirect-None-08674", "text": " If the <code><a href=\"#VK_NV_clip_space_w_scaling\">VK_NV_clip_space_w_scaling</a></code> extension is enabled, and a shader object is bound to any graphics stage, then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" @@ -46079,13 +46049,13 @@ "text": " If the <a href=\"#features-depthClipControl\"><code>depthClipControl</code></a> feature is enabled, and a shader object is bound to any graphics stage, then <a href=\"#vkCmdSetDepthClipNegativeOneToOneEXT\">vkCmdSetDepthClipNegativeOneToOneEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], - "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling[]\nifdef::VK_EXT_extended_dynamic_stat)": [ + "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling)+(VK_EXT_extended_dynamic_state3)": [ { "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-07640", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command endif::VK_EXT_extended_dynamic_state3" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], - "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling[]\nifdef::VK_EXT_extended_dynamic_stat)+(VK_EXT_shader_object)": [ + "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling)+(VK_EXT_shader_object)": [ { "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-08674", "text": " If the <code><a href=\"#VK_NV_clip_space_w_scaling\">VK_NV_clip_space_w_scaling</a></code> extension is enabled, and a shader object is bound to any graphics stage, then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" @@ -47657,13 +47627,13 @@ "text": " If the <a href=\"#features-depthClipControl\"><code>depthClipControl</code></a> feature is enabled, and a shader object is bound to any graphics stage, then <a href=\"#vkCmdSetDepthClipNegativeOneToOneEXT\">vkCmdSetDepthClipNegativeOneToOneEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], - "(VK_EXT_transform_feedback)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling[]\nifdef::VK_EXT_extended_dynamic_stat)": [ + "(VK_EXT_transform_feedback)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling)+(VK_EXT_extended_dynamic_state3)": [ { "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-07640", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command endif::VK_EXT_extended_dynamic_state3" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], - "(VK_EXT_transform_feedback)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling[]\nifdef::VK_EXT_extended_dynamic_stat)+(VK_EXT_shader_object)": [ + "(VK_EXT_transform_feedback)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling)+(VK_EXT_shader_object)": [ { "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-08674", "text": " If the <code><a href=\"#VK_NV_clip_space_w_scaling\">VK_NV_clip_space_w_scaling</a></code> extension is enabled, and a shader object is bound to any graphics stage, then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" @@ -49281,13 +49251,13 @@ "text": " If the <a href=\"#features-depthClipControl\"><code>depthClipControl</code></a> feature is enabled, and a shader object is bound to any graphics stage, then <a href=\"#vkCmdSetDepthClipNegativeOneToOneEXT\">vkCmdSetDepthClipNegativeOneToOneEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], - "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling[]\nifdef::VK_EXT_extended_dynamic_stat)": [ + "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling)+(VK_EXT_extended_dynamic_state3)": [ { "vuid": "VUID-vkCmdDrawMeshTasksNV-None-07640", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command endif::VK_EXT_extended_dynamic_state3" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], - "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling[]\nifdef::VK_EXT_extended_dynamic_stat)+(VK_EXT_shader_object)": [ + "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling)+(VK_EXT_shader_object)": [ { "vuid": "VUID-vkCmdDrawMeshTasksNV-None-08674", "text": " If the <code><a href=\"#VK_NV_clip_space_w_scaling\">VK_NV_clip_space_w_scaling</a></code> extension is enabled, and a shader object is bound to any graphics stage, then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" @@ -50807,13 +50777,13 @@ "text": " If the <a href=\"#features-depthClipControl\"><code>depthClipControl</code></a> feature is enabled, and a shader object is bound to any graphics stage, then <a href=\"#vkCmdSetDepthClipNegativeOneToOneEXT\">vkCmdSetDepthClipNegativeOneToOneEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], - "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling[]\nifdef::VK_EXT_extended_dynamic_stat)": [ + "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling)+(VK_EXT_extended_dynamic_state3)": [ { "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-07640", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command endif::VK_EXT_extended_dynamic_state3" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], - "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling[]\nifdef::VK_EXT_extended_dynamic_stat)+(VK_EXT_shader_object)": [ + "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling)+(VK_EXT_shader_object)": [ { "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-08674", "text": " If the <code><a href=\"#VK_NV_clip_space_w_scaling\">VK_NV_clip_space_w_scaling</a></code> extension is enabled, and a shader object is bound to any graphics stage, then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" @@ -52367,13 +52337,13 @@ "text": " If the <a href=\"#features-depthClipControl\"><code>depthClipControl</code></a> feature is enabled, and a shader object is bound to any graphics stage, then <a href=\"#vkCmdSetDepthClipNegativeOneToOneEXT\">vkCmdSetDepthClipNegativeOneToOneEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], - "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling[]\nifdef::VK_EXT_extended_dynamic_stat)": [ + "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling)+(VK_EXT_extended_dynamic_state3)": [ { "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07640", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command endif::VK_EXT_extended_dynamic_state3" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], - "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling[]\nifdef::VK_EXT_extended_dynamic_stat)+(VK_EXT_shader_object)": [ + "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling)+(VK_EXT_shader_object)": [ { "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08674", "text": " If the <code><a href=\"#VK_NV_clip_space_w_scaling\">VK_NV_clip_space_w_scaling</a></code> extension is enabled, and a shader object is bound to any graphics stage, then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" @@ -53897,13 +53867,13 @@ "text": " If the <a href=\"#features-depthClipControl\"><code>depthClipControl</code></a> feature is enabled, and a shader object is bound to any graphics stage, then <a href=\"#vkCmdSetDepthClipNegativeOneToOneEXT\">vkCmdSetDepthClipNegativeOneToOneEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], - "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling[]\nifdef::VK_EXT_extended_dynamic_stat)": [ + "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling)+(VK_EXT_extended_dynamic_state3)": [ { "vuid": "VUID-vkCmdDrawMeshTasksEXT-None-07640", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command endif::VK_EXT_extended_dynamic_state3" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], - "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling[]\nifdef::VK_EXT_extended_dynamic_stat)+(VK_EXT_shader_object)": [ + "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling)+(VK_EXT_shader_object)": [ { "vuid": "VUID-vkCmdDrawMeshTasksEXT-None-08674", "text": " If the <code><a href=\"#VK_NV_clip_space_w_scaling\">VK_NV_clip_space_w_scaling</a></code> extension is enabled, and a shader object is bound to any graphics stage, then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" @@ -55423,13 +55393,13 @@ "text": " If the <a href=\"#features-depthClipControl\"><code>depthClipControl</code></a> feature is enabled, and a shader object is bound to any graphics stage, then <a href=\"#vkCmdSetDepthClipNegativeOneToOneEXT\">vkCmdSetDepthClipNegativeOneToOneEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], - "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling[]\nifdef::VK_EXT_extended_dynamic_stat)": [ + "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling)+(VK_EXT_extended_dynamic_state3)": [ { "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-07640", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command endif::VK_EXT_extended_dynamic_state3" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], - "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling[]\nifdef::VK_EXT_extended_dynamic_stat)+(VK_EXT_shader_object)": [ + "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling)+(VK_EXT_shader_object)": [ { "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08674", "text": " If the <code><a href=\"#VK_NV_clip_space_w_scaling\">VK_NV_clip_space_w_scaling</a></code> extension is enabled, and a shader object is bound to any graphics stage, then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" @@ -57011,13 +56981,13 @@ "text": " If the <a href=\"#features-depthClipControl\"><code>depthClipControl</code></a> feature is enabled, and a shader object is bound to any graphics stage, then <a href=\"#vkCmdSetDepthClipNegativeOneToOneEXT\">vkCmdSetDepthClipNegativeOneToOneEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], - "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling[]\nifdef::VK_EXT_extended_dynamic_stat)": [ + "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling)+(VK_EXT_extended_dynamic_state3)": [ { "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-07640", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command endif::VK_EXT_extended_dynamic_state3" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], - "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling[]\nifdef::VK_EXT_extended_dynamic_stat)+(VK_EXT_shader_object)": [ + "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling)+(VK_EXT_shader_object)": [ { "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08674", "text": " If the <code><a href=\"#VK_NV_clip_space_w_scaling\">VK_NV_clip_space_w_scaling</a></code> extension is enabled, and a shader object is bound to any graphics stage, then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" @@ -58521,13 +58491,13 @@ "text": " If the <a href=\"#features-depthClipControl\"><code>depthClipControl</code></a> feature is enabled, and a shader object is bound to any graphics stage, then <a href=\"#vkCmdSetDepthClipNegativeOneToOneEXT\">vkCmdSetDepthClipNegativeOneToOneEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], - "(VK_HUAWEI_cluster_culling_shader)+(VK_HUAWEI_cluster_culling_shader)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling[]\nifdef::VK_EXT_extended_dynamic_stat)": [ + "(VK_HUAWEI_cluster_culling_shader)+(VK_HUAWEI_cluster_culling_shader)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling)+(VK_EXT_extended_dynamic_state3)": [ { "vuid": "VUID-vkCmdDrawClusterHUAWEI-None-07640", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command endif::VK_EXT_extended_dynamic_state3" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], - "(VK_HUAWEI_cluster_culling_shader)+(VK_HUAWEI_cluster_culling_shader)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling[]\nifdef::VK_EXT_extended_dynamic_stat)+(VK_EXT_shader_object)": [ + "(VK_HUAWEI_cluster_culling_shader)+(VK_HUAWEI_cluster_culling_shader)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling)+(VK_EXT_shader_object)": [ { "vuid": "VUID-vkCmdDrawClusterHUAWEI-None-08674", "text": " If the <code><a href=\"#VK_NV_clip_space_w_scaling\">VK_NV_clip_space_w_scaling</a></code> extension is enabled, and a shader object is bound to any graphics stage, then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" @@ -60031,13 +60001,13 @@ "text": " If the <a href=\"#features-depthClipControl\"><code>depthClipControl</code></a> feature is enabled, and a shader object is bound to any graphics stage, then <a href=\"#vkCmdSetDepthClipNegativeOneToOneEXT\">vkCmdSetDepthClipNegativeOneToOneEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], - "(VK_HUAWEI_cluster_culling_shader)+(VK_HUAWEI_cluster_culling_shader)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling[]\nifdef::VK_EXT_extended_dynamic_stat)": [ + "(VK_HUAWEI_cluster_culling_shader)+(VK_HUAWEI_cluster_culling_shader)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling)+(VK_EXT_extended_dynamic_state3)": [ { "vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-None-07640", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command endif::VK_EXT_extended_dynamic_state3" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], - "(VK_HUAWEI_cluster_culling_shader)+(VK_HUAWEI_cluster_culling_shader)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling[]\nifdef::VK_EXT_extended_dynamic_stat)+(VK_EXT_shader_object)": [ + "(VK_HUAWEI_cluster_culling_shader)+(VK_HUAWEI_cluster_culling_shader)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling)+(VK_EXT_shader_object)": [ { "vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-None-08674", "text": " If the <code><a href=\"#VK_NV_clip_space_w_scaling\">VK_NV_clip_space_w_scaling</a></code> extension is enabled, and a shader object is bound to any graphics stage, then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" @@ -61503,6 +61473,10 @@ "text": " Evaluation of <span class=\"eq\">(<code>offset.y</code> + <code>extent.height</code>)</span> <strong class=\"purple\">must</strong> not cause a signed integer addition overflow for any element of <code>pScissors</code>" }, { + "vuid": "VUID-VkPipelineViewportStateCreateInfo-scissorCount-04134", + "text": " If <code>scissorCount</code> and <code>viewportCount</code> are both not dynamic, then <code>scissorCount</code> and <code>viewportCount</code> <strong class=\"purple\">must</strong> be identical" + }, + { "vuid": "VUID-VkPipelineViewportStateCreateInfo-sType-sType", "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO</code>" }, @@ -61521,10 +61495,6 @@ ], "!(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)": [ { - "vuid": "VUID-VkPipelineViewportStateCreateInfo-scissorCount-01220", - "text": " <code>scissorCount</code> and <code>viewportCount</code> <strong class=\"purple\">must</strong> be identical" - }, - { "vuid": "VUID-VkPipelineViewportStateCreateInfo-viewportCount-arraylength", "text": " <code>viewportCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>" }, @@ -61535,10 +61505,6 @@ ], "(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)": [ { - "vuid": "VUID-VkPipelineViewportStateCreateInfo-scissorCount-04134", - "text": " If the graphics pipeline is being created without <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT</code> and <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT</code> set then <code>scissorCount</code> and <code>viewportCount</code> <strong class=\"purple\">must</strong> be identical" - }, - { "vuid": "VUID-VkPipelineViewportStateCreateInfo-viewportCount-04135", "text": " If the graphics pipeline is being created with <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT</code> set then <code>viewportCount</code> <strong class=\"purple\">must</strong> be <code>0</code>, otherwise it <strong class=\"purple\">must</strong> be greater than <code>0</code>" }, @@ -64408,7 +64374,7 @@ "(VK_EXT_extended_dynamic_state3)": [ { "vuid": "VUID-VkPipelineColorBlendStateCreateInfo-pAttachments-07353", - "text": " If <code>attachmentCount</code> is not <code>0</code>, and any of <code>VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT</code>, <code>VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT</code>, or <code>VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT</code> are not set, <code>pAttachments</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>attachmentCount</code> valid <a href=\"#VkPipelineColorBlendAttachmentState\">VkPipelineColorBlendAttachmentState</a> structures" + "text": " If <code>attachmentCount</code> is not <code>0</code>, and any of <code>VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT</code>, <code>VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT</code>, <code>VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT</code>, or <code>VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT</code> are not set, <code>pAttachments</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>attachmentCount</code> valid <a href=\"#VkPipelineColorBlendAttachmentState\">VkPipelineColorBlendAttachmentState</a> structures" } ], "!(VK_EXT_extended_dynamic_state3)": [ @@ -64916,7 +64882,7 @@ "(VK_EXT_color_write_enable)+(VK_EXT_extended_dynamic_state3)": [ { "vuid": "VUID-VkPipelineColorWriteCreateInfoEXT-attachmentCount-07608", - "text": " If the pipeline is being created with <code>VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT</code>, <code>VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT</code>, or <code>VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT</code> dynamic states not set, <code>attachmentCount</code> <strong class=\"purple\">must</strong> be equal to the <code>attachmentCount</code> member of the <code>VkPipelineColorBlendStateCreateInfo</code> structure specified during pipeline creation" + "text": " If the pipeline is being created with <code>VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT</code>, <code>VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT</code>, <code>VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT</code>, or <code>VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT</code> dynamic states not set, <code>attachmentCount</code> <strong class=\"purple\">must</strong> be equal to the <code>attachmentCount</code> member of the <code>VkPipelineColorBlendStateCreateInfo</code> structure specified during pipeline creation" } ], "(VK_EXT_color_write_enable)+!(VK_EXT_extended_dynamic_state3)": [ @@ -68037,13 +68003,13 @@ "text": " If the <a href=\"#features-depthClipControl\"><code>depthClipControl</code></a> feature is enabled, and a shader object is bound to any graphics stage, then <a href=\"#vkCmdSetDepthClipNegativeOneToOneEXT\">vkCmdSetDepthClipNegativeOneToOneEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], - "(VK_NV_device_generated_commands)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling[]\nifdef::VK_EXT_extended_dynamic_stat)": [ + "(VK_NV_device_generated_commands)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling)+(VK_EXT_extended_dynamic_state3)": [ { "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-07640", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command endif::VK_EXT_extended_dynamic_state3" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], - "(VK_NV_device_generated_commands)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling[]\nifdef::VK_EXT_extended_dynamic_stat)+(VK_EXT_shader_object)": [ + "(VK_NV_device_generated_commands)+(VK_EXT_extended_dynamic_state3,VK_EXT_shader_object)+(VK_NV_clip_space_w_scaling)+(VK_EXT_shader_object)": [ { "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-08674", "text": " If the <code><a href=\"#VK_NV_clip_space_w_scaling\">VK_NV_clip_space_w_scaling</a></code> extension is enabled, and a shader object is bound to any graphics stage, then <a href=\"#vkCmdSetViewportWScalingEnableNV\">vkCmdSetViewportWScalingEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" @@ -83810,7 +83776,11 @@ }, { "vuid": "VUID-RuntimeSpirv-OpEntryPoint-07754", - "text": " Any <a href=\"#interfaces-iointerfaces-user\">user-defined variables</a> between the <code>OpEntryPoint</code> of two shader stages <strong class=\"purple\">must</strong> have the same type and width for each component" + "text": " Any <a href=\"#interfaces-iointerfaces-user\">user-defined variables</a> between the <code>OpEntryPoint</code> of two shader stages <strong class=\"purple\">must</strong> have the same type and width for each <code>Component</code>" + }, + { + "vuid": "VUID-RuntimeSpirv-OpVariable-08746", + "text": " Any <code>OpVariable</code>, <code>Block</code>-decorated <code>OpTypeStruct</code>, or <code>Block</code>-decorated <code>OpTypeStruct</code> members shared between the <code>OpEntryPoint</code> of two shader stages <strong class=\"purple\">must</strong> have matching decorations as defined in <a href=\"#interfaces-iointerfaces-matching\">interface matching</a>" }, { "vuid": "VUID-RuntimeSpirv-Workgroup-06530", diff --git a/registry/vk.xml b/registry/vk.xml index 3f012ab..d107e56 100644 --- a/registry/vk.xml +++ b/registry/vk.xml @@ -173,7 +173,7 @@ branch of the member gitlab server. #define <name>VKSC_API_VERSION_1_0</name> <type>VK_MAKE_API_VERSION</type>(VKSC_API_VARIANT, 1, 0, 0)// Patch version should always be set to 0</type> <type api="vulkan" category="define">// Version of this file -#define <name>VK_HEADER_VERSION</name> 247</type> +#define <name>VK_HEADER_VERSION</name> 248</type> <type api="vulkan" 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, 3, VK_HEADER_VERSION)</type> <type api="vulkansc" category="define">// Version of this file |