Do we really want to invent a new set of names like that for sysval? Should we just clip VKD3D_SHADER_SV from the existing enum instead?
I copied them from native `/dumpbin`. We might still want to use our existing enum, sure; my personal opinion is that it's nice to have them a bit shorter.
What's the plan for GS stream index and for minimum precision?
The general idea is that unspecified fields are treated as default; so we have to dump fields until all the rightmost ones are default. I was aware of minimum precision, but not of GS stream index. I'll try to add support for both.
Any reason we're leaving out patch constant signatures from this series?
No, it's just that I still have to add support for this too. My knowledge of shader signatures is still pretty young, so I'm learning while I'm doing.
From patch 4/6:
if (ret >= 0) vkd3d_string_buffer_printf(buffer, ".section SHEX\n");
This feels weird, partly because it's in dump_signatures(), also because I don't see why it's SHEX and not SHDR.
Ok, I can move this out. WRT to using fourccs, I don't have strong opinions, but I'd like to avoid overcomplicating the matter. So, for example, I would try to avoid two different tags depending on whether we're using minimum precision or not. My idea is that the directives I'm introducing specify the logical data; it's up to the assembler to decide which tags to use depending on the data. Using this point of view it might be preferable to rather use: ``` .section input .section output .section patch_constant .section code ``` However Henri explicitly suggested using fourccs, so he might have opinions here.