On Thu Feb 1 17:03:20 2024 +0000, Zebediah Figura wrote:
It would make it a bit harder to use this from e.g.
d3dcompiler in Wine though, as Wine doesn't currently build/include vkd3d-utils.
Is it a problem for Wine to embed vkd3d-utils as well, though? It
doesn't seem implausible that more stuff can be shared there.
I'm not aware of major issues with using vkd3d-utils in Wine, no. As
far as I'm aware it would just mean a little more effort on the Wine side to get that going, as opposed to using vkd3d or vkd3d-shader APIs.
Well, we can't quite use it as-is. The actual interface ABI differs
between d3d10 and d3d11, and then there's a few subtle differences between d3dcompiler versions. We could get around that with a D3DReflectVKD3D() though. Alternatively we put this in vkd3d-shader but use the actual d3dcompiler types. I know we try to avoid those in vkd3d-shader, but maybe we can find a way to define them without unnecessarily pulling in base Windows types always.
I don't know that there is anything wrong in having some reasonable wrapping / unwrapping in d3dcompiler_xx. Of course, you can argue on what would be "reasonable".