microsoft / hlsl-specs

HLSL Specifications

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Should we collapse degenerate Wave Size Range values in DXIL 1.8 metadata

tex3d opened this issue · comments

Which proposal does this relate to?
Regarding the 0014-wave-size-range proposal :

that the wave size range tag points to does nto have exactly three elements.

see comment.

Describe the issue or outstanding question.
This concerns whether we should require all three values in DXIL metadata for wave size range for the degenerate case that has the same meaning as the DXIL 1.6 form with only one value.

We could generate the 1-value metadata form for the degenerate case for DXIL 1.8+ as well, instead of always requiring 3 values, even though they don't convey any useful information.

An additional issue is whether we should disallow the new form for the metadata when not defining a range. I don't think we should disallow, as it is inconsistent with the way we allow other optional metadata, even when it defines something to the same value as what would have been the default.

In group discussion, we decided to exclusively generate and allow the new wave size range tag in 6.8 shader validation with the form (min, 0, 0) to represent the legacy 6.6 single value form.

I should point out that I think I'll keep the cited line as-is (except for fixing the typo), since it refers to 3 values of any kind. (min,0,0) is perfectly alright. Pointing to a tuple of more or fewer values is not. I will correct other areas that imply that there should be an error where values are outside the 4-128 range and specify the meaning of the different forms.