microsoft / microsoft/DirectXShaderCompiler

SV_ShadingRate allowed in certain shader signatures where it shouldn't be allowed

Open
#3,872 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

validation
Dominant language
C++
Stars
3.7k
Forks
900
Avg merge
2d 11h
Merged PRs (30d)
44

Description

According to the SemanticInterpretation table, SV_ShadingRate is interpreted as SV when it should be NA for the following stages:

HSCPIn, HSCPOut, DSCPIn, DSOut

According to the spec, it is only permitted on output from VS, GS, or MS.

For GS input, the value would really be just the value output from the VS, so it should in theory be ok to allow as input in this stage, just like all other SV values may be read in GS following a VS. However, the spec doesn't explicitly say this, and we need to double-check whether the runtime prohibits this case.

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 SemanticInterpretation table and inspect the SV_ShadingRate entries for HSCPIn, HSCPOut, DSCPIn, and DSOut. Compare those entries with the specification's permitted VS, GS, and MS outputs, then verify whether the runtime permits the unresolved GS-input case. Done means the compiler's interpretation matches the confirmed specification behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
compilers, computer-graphics
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.