On Tue Dec 5 10:22:21 2023 +0000, Giovanni Mascellani wrote:
I don't know, I don't find them particularly clunky. Your current solution is pretty sensible, except that using extensions make more sense to me rather than parameters (which should even make the code slightly simpler).
That's certainly not how shader parameters are supposed to be used, no.
I think the options here are essentially either a compile option or an extension. The two existing instances of this kind of thing that we have are VKD3D_SHADER_COMPILE_OPTION_TYPED_UAV and VKD3D_SHADER_COMPILE_OPTION_WRITE_TESS_GEOM_POINT_SIZE, so a compile option would be my first choice at this point. If we already know that we're going to need a number of other features like this, we could also make that compile option a set of flags, like we do for e.g. VKD3D_SHADER_COMPILE_OPTION_FORMATTING and VKD3D_SHADER_COMPILE_OPTION_BACKWARD_COMPATIBILITY.