KhronosGroup / KhronosGroup/Vulkan-Docs
Contradictory VK_HUAWEI_subpass_shading with VUIDs
- 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
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