KhronosGroup / KhronosGroup/Vulkan-ValidationLayers

Add a validation warning when both sampleShading and pipeline/primitive/attachmentShadingRate are enabled for a VkPipeline

Open
#9,762 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

BestPractices
Dominant language
C++
Stars
1k
Forks
505
Avg merge
11h 25m
Merged PRs (30d)
229

Description

According to the proposal doc for VK_KHR_fragment_shading_rate :

Note though that enabling sample shading will effectively disable the fragment shading rate.

No validation errors or warnings are raised when a developer enables both simultaneously,
resulting in the Vulkan implementation silently disabling the fragment shading rate without any indication as to why this may have occurred.

It took awhile for me to determine the cause when I did this-
enabled sample shading, noticed fragment shading rate was disabled only days later,
and by that time, I had made so many other changes that I really had no idea what had caused VRS to shut off.

To quote Spencer on the matter: "Seems like a foot gun", and speaking from personal experience,
I'm inclined to agree =v=

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the VK_KHR_fragment_shading_rate proposal linked in the issue and trace the validation handling for sample shading and pipeline/primitive/attachmentShadingRate. Done means a validation warning is raised when both are enabled, explaining that sample shading disables the fragment shading rate; add or update coverage for this combination if the relevant test entry point is found.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.