Question about Tessellation Levels

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.