Description
SPIRV-Cross has no support for translating geometry and tessellation control/eval shaders to HLSL. This the D3D11 backend currently just says no support for these and that's that.
This is not ideal. Even if running qsb on a geom or tesc/tese shader cannot output HLSL in the resulting shader pack, one can still manually inject a hand-written geometry/domain/hull shader with qsb -r or the CMake integration. The d3d11 backend can then pick that up.
This would be similar to how we did GL_TEXTURE_EXTERNAL_OES support for Multimedia. The shaders with samplerExternalOES were not compilable to SPIR-V, so instead hand-written shaders were injected into the previously generated .qsb file afterwards using the CMaker wrapper for qsb -r.
- Explore if the same approach can be used to make the tessellation manual test with D3D.
- not ideal of course since the shader needs to be written twice, but better than nothing
- Then consider the same for geometry shaders.
- Maybe think about Metal but that's a tougher problem: no geometry shaders at all, and tessellation is conceptually different.