KhronosGroup / KhronosGroup/Vulkan-Docs

Contradictory VK_HUAWEI_subpass_shading with VUIDs

Open
#2,438 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
3.3k
Forks
549
Avg merge
5d 5h
Merged PRs (30d)
2

Description

[VK_HUAWEI_subpass_shading](https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_HUAWEI_subpass_shading.html) gives the example of pipeline creation (I copied only the problematic part):
```
VkPipelineShaderStageCreateInfo subpassShadingPipelineStageCreateInfo {
VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO, NULL,
0, VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI,
shaderModule, "main",
&subpassShadingConstants
};

VkComputePipelineCreateInfo subpassShadingComputePipelineCreateInfo = {
VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO, &subpassShadingPipelineCreateInfo,
0, &subpassShadingPipelineStageCreateInfo,
pipelineLayout, basePipelineHandle, basePipelineIndex
};
```
As you can see, when specifying the pipeline stage, the `VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI` value is used.
But [`VUID-VkComputePipelineCreateInfo-stage-00701`](https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkComputePipelineCreateInfo.html) says: "The stage member of stage must be `VK_SHADER_STAGE_COMPUTE_BIT`".
Such a contradiction leads to incorrect operation of the VVL.

I suggest changing the [`VUID-VkComputePipelineCreateInfo-stage-00701`](https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkComputePipelineCreateInfo.html) to "The stage member of stage must be either `VK_SHADER_STAGE_COMPUTE_BIT` or `VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI`"

Contributor guide

Open the contributing guide

Research direction

Start with the linked VK_HUAWEI_subpass_shading example and the VUID-VkComputePipelineCreateInfo-stage-00701 text. Compare the permitted shader stages in both places, then verify the documentation no longer contradicts itself and that the VUID accurately reflects the intended rule.

Written by the indexing model from the issue text.

Assessment

Domain
documentation
Issue type
Documentation
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.