Skip to content

Add mesh launch type for node shaders#6436

Merged
pow2clk merged 12 commits intomicrosoft:release-preview-mesh-nodesfrom
pow2clk:mesh-nodes-noinput
Mar 26, 2024
Merged

Add mesh launch type for node shaders#6436
pow2clk merged 12 commits intomicrosoft:release-preview-mesh-nodesfrom
pow2clk:mesh-nodes-noinput

Conversation

@pow2clk
Copy link
Copy Markdown
Collaborator

@pow2clk pow2clk commented Mar 19, 2024

Adds the ability to specify a mesh node which functions largely like a broadcasting node. This will generate code, metadata, and rdat info for a minimal mesh node. Diagnostics are changed to allow the mesh nodes to be generated. Tests for RDAT and metadata are included. Errors referencing only broadcasting nodes now mention mesh nodes where appropriate.

Fixes #6432

Adds the ability to specify a mesh node which functions largely like a
broadcasting node. This will generate code, metadata, and rdat info for
a minimal mesh node. Diagnostics are changed to allow the mesh nodes to
be generated. Tests for RDAT and metadata are included. Errors
referencing only broadcasting nodes now mention mesh nodes where
appropriate.

Fixes microsoft#6432
@pow2clk pow2clk requested a review from a team as a code owner March 19, 2024 22:07
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Mar 19, 2024

✅ With the latest revision this PR passed the C/C++ code formatter.

Comment thread tools/clang/test/HLSLFileCheck/hlsl/workgraph/case070_noinput.hlsl Outdated
Copy link
Copy Markdown
Contributor

@tex3d tex3d left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mainly, I think we should:

  • Separate test files for mesh node launch from other launch modes.
  • Use lib_6_9 target and make sure we don't allow the use of mesh launch in lower shader models in DiagnoseNodeEntry.

Comment thread lib/DXIL/DxilShaderModel.cpp
Comment thread tools/clang/test/HLSLFileCheck/hlsl/workgraph/case070_noinput.hlsl Outdated
Comment thread tools/clang/test/HLSLFileCheck/hlsl/workgraph/case070_noinput.hlsl Outdated
Comment thread tools/clang/test/HLSLFileCheck/hlsl/workgraph/noinput_rdat.hlsl
Comment thread tools/clang/test/HLSLFileCheck/hlsl/workgraph/noinput_rdat.hlsl
Comment thread tools/clang/test/HLSLFileCheck/hlsl/workgraph/noinput_rdat.hlsl Outdated
@damyanp damyanp linked an issue Mar 21, 2024 that may be closed by this pull request
Greg Roth added 10 commits March 20, 2024 23:01
a copy and paste error introduced a failure with the clang-format fixes
that this resolves.

Split mesh filecheck tests into separate files
node shader validation tests depended heavily on metadata numbers and
order. This make them robust so they can work with the 6.9 changes or
without
Updates latest shader model to 6.9 and requires it to specify mesh
launch types
make them use 6.9 and make them usable with 6.9
deduplication of the 1,9 tuple made the test fail. Using -DAG checks
allows the order to work anyway
mesh launch type has value 4
@pow2clk pow2clk assigned tex3d and python3kgae and unassigned python3kgae Mar 25, 2024
Copy link
Copy Markdown
Contributor

@tex3d tex3d left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

Comment thread include/dxc/DXIL/DxilConstants.h
@pow2clk
Copy link
Copy Markdown
Collaborator Author

pow2clk commented Mar 26, 2024

I don't know why the PR description bot is out to lunch, but the description meets our criteria. I'm merging anyway.

@pow2clk pow2clk merged commit 15fe220 into microsoft:release-preview-mesh-nodes Mar 26, 2024
@pow2clk pow2clk deleted the mesh-nodes-noinput branch March 26, 2024 17:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

[Feature Request] Allow the mesh launch type for node shaders

4 participants