-
Notifications
You must be signed in to change notification settings - Fork 834
Description
We are currently missing parameter diagnostics for compute shader system value inputs for node shader that are restricted per launch mode. Legal system value semantics given launch mode are described here.
Summary of Rules
For Thread launch, no compute shader system values are supported. For Coalescing launch, SV_GroupThreadID and SV_GroupIndex are supported. For Broadcasting launch, all compute shader system values are supported.
Note that SV_DispatchID is a different category of system value, as it is a special field of the record. It is not used, described or diagnosed in the same way as these other compute shader system values.
Complication for Implementation
Diagnostics for these will be complicated by the requirement that non-record/node object parameters must be flattened in the general case to get the signature elements corresponding to these system values. We may want to put off diagnosing this in Sema until we have a path for proper flattened signature construction and diagnostics implemented there.
In the meantime, we need at least to implement DxilValidation coverage of these rules first. After that, we can implement some interim diagnostics in HLSignatureLower.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status