I am struggling with tesselation and perhaps a more experienced user will see what I am doing wrong. The code is in python, but I think the problem are the tesselation shaders.
To run the program I execute the following command and pass the shaders as arguments:
Essentially, the tessellation shaders don’t automatically copy inputs to outputs. Except, the tessellation control shader did automatically copy gl_in[].gl_Position to gl_out[].gl_Position when gl_out[] wasn’t explicitly assigned, but explicitly copying only the gl_FrontColor field resulted in the position not being copied, so it appears that you need to explicitly copy everything if you explicitly copy anything.
I’m not sure how much of this behaviour is actually specified. I wouldn’t rule out driver bugs when using compatibility variables such as gl_FrontColor with recent features such as tessellation shaders.