On Thu Sep 21 13:30:49 2023 +0000, Henri Verbeet wrote:
The group size is located in the metadata, loading of which will be
included in the next MR. Until then, compute shaders can't reasonably be compiled. Right, but it looks like we compile them anyway without this patch, and just emit incorrect/invalid SPIR-V. I.e., I think sm6_parser_emit_unhandled() for example should be an error, and result in compilation failing. Similarly, if any metadata blocks are required to be parsed in order to produce correct output, not parsing them should be an error. Failing compilation is generally better than (in some cases silently) miscompiling code.
The current situation with metadata is a little complicated. Strictly speaking the signatures should be loaded from metadata because the DXBC signatures may not be identical, and the interpolation mode is not loaded either. There's no issue with simple signatures though. I think the best thing to do is upstream metadata and signature loads ASAP.
`sm6_parser_emit_unhandled()` was useful during development, but yeah it should be an error now.