You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Description
In DxilValidation.cpp, a check for the total size of TGSM (Thread Group Shared Memory) used counts all groupshared global variables in the module. This is not valid for a library with multiple entry points, when each of which only uses a subset of the groupshared globals. The correct per-entry groupshared usage is collected into the RDAT part, but the independent calculation in the validator is left-over from enforcing the maximum on compute targets at the module level instead.
This mainly impacts Work Graphs (node shader) for now, since that's the only runtime-supported compute entry in a DXIL library.
Description
In
DxilValidation.cpp
, a check for the total size of TGSM (Thread Group Shared Memory) used counts all groupshared global variables in the module. This is not valid for a library with multiple entry points, when each of which only uses a subset of the groupshared globals. The correct per-entry groupshared usage is collected into the RDAT part, but the independent calculation in the validator is left-over from enforcing the maximum on compute targets at the module level instead.This mainly impacts Work Graphs (node shader) for now, since that's the only runtime-supported compute entry in a DXIL library.
Steps to Reproduce
Repro here:
https://godbolt.org/z/z88esxr1s
Individually, these two entries are valid, but together in a lib, they produce a validation error due to the summed groupshared memory sizes.
Actual Behavior
Environment
The text was updated successfully, but these errors were encountered: