The latest revision should integrate most of @hverbeet's suggestions, unless I missed something. There are still a few details to carve, so I'm leaving it as a draft. I'd value also @zfigura's feedback.
One specific point is the public API: should `VKD3D_SHADER_COMPILE_OPTION_EMIT_SIGNATURE` rather be a bitfield? Maybe allowing dumping the internal dialect too (documenting that the format is not considered stable)? Is there another option to use instead of introducing this new one?