Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

conservativePointAndLineRasterization VUIDs don't mention tessellation shaders #2342

Open
Rua opened this issue Mar 30, 2024 · 1 comment
Open
Assignees

Comments

@Rua
Copy link
Contributor

Rua commented Mar 30, 2024

Three VUIDs for graphics pipeline creation state that if conservativePointAndLineRasterization is not supported, the last pre-rasterization step must not output points or lines:

  • VUID-VkGraphicsPipelineCreateInfo-conservativePointAndLineRasterization-08892 for input assembly
  • VUID-VkGraphicsPipelineCreateInfo-conservativePointAndLineRasterization-06760 for geometry shader
  • VUID-VkGraphicsPipelineCreateInfo-conservativePointAndLineRasterization-06761 for mesh shader

However, what if the pipeline uses input assembly and does not have a geometry shader, but does have tessellation shaders? Then the input assembly's primitive topology will be patches, and it's the tessellation shaders that determine the final primitive type.

If this is an omission, then VUID-VkGraphicsPipelineCreateInfo-conservativePointAndLineRasterization-08892 would need to be adjusted to only apply if there are no tessellation shaders. An additional VUID is needed for the case that tessellation shaders are present, checking against the tessellation shader output (Isolines/PointMode).

@pdaniell-nv pdaniell-nv self-assigned this Apr 3, 2024
@pdaniell-nv
Copy link

I think you're right there needs to be VUs added to forbid tessellation shaders from outputting lines and points if the implementation doesn't support conservativePointAndLineRasterization. I've assigned the issue to myself to patch this hole.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants