In an OpenGL application, tessellation levels can be set by the host using glPatchParameterfv. But after looking at the spec, I haven’t found any way to set these values in a Vulkan application.
It looks like the only way to set tessellation levels is in the Tessellation Control Shader, but this is supposed to be optional. Am I missing something?
this is supposed to be optional
In OpenGL. By contrast, the Vulkan specification is quite clear on this matter: if you have a TES, you must have a TCS. And vice-versa.
So if you want to set tessellation levels from outside of the TCS, then you must build a pass-through TCS that takes those levels from a uniform or a push constant or whatever.
Sure enough. I hadn’t read that part of the spec. Thanks.