microsoft / microsoft/DirectXShaderCompiler

Groupshared memory used through patch constant function allowed in hull shaders

Open
#5,748 0 comments 0 reactions 1 assignee View on GitHub

@pow2clk is already working on this.

Since Oct 14, 2024.

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

Description

Description
Hull shaders using groupshared through Patch Constant function pass validation. The same shader built as a standard hull shader will fail validation, but the validation code only checks entry functions marked with [shader("hull")] and ignores the patch constant function.

Steps to Reproduce
https://godbolt.org/z/es4EY9hrY

Actual Behavior
Any shader compiled as a library that uses groupshared in the patchconstant function, but not the primary entry point will validated successfully though it shouldn't.

Environment

  • DXC version 1.7.2308
  • Host Operating System win11/godbolt

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.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.