Hi, The GL 4.5 Core spec is inconsistent. The "11.1.2.1 Output Variables" section says that transform feedback is allowed after a tessellation control shader if a tessellation evaluation shader isn't present:
"Each program object can specify a set of output variables from one shader to be recorded in transform feedback mode (see section 13.2). The variables that can be recorded are those emitted by the first active shader, in order, from the following list: * geometry shader * tessellation evaluation shader * tessellation control shader * vertex shader" Even glTransformFeedbackVaryings allows it: "If the set of output variables to record in transform feedback mode is specified by TransformFeedbackVaryings, a program will fail to link if: * the count specified by TransformFeedbackVaryings is non-zero, but the program object has no vertex, tessellation control, tessellation evaluation, or geometry shader;" However, the "13.2 Transform Feedback" section doesn't mention any tessellation control shader: "The data captured in transform feedback mode depends on the active programs on each of the shader stages. If a program is active for the geometry shader stage, transform feedback captures the vertices of each primitive emitted by the geometry shader. Otherwise, if a program is active for the tessellation evaluation shader stage, transform feedback captures each primitive produced by the tessellation primitive generator, whose vertices are processed by the tessellation evaluation shader. Otherwise, transform feedback captures each primitive processed by the vertex shader." Also, glBeginTransformFeedback doesn't allow GL_PATCHES, which is the only output primitive type of the tessellation control shader: "primitiveMode must be TRIANGLES, LINES, or POINTS, and specifies the output type of primitives that will be recorded into the buffer objects bound for transform feedback" The question is: Is transform feedback really allowed after the tessellation control shader? I hope not, because our hardware can't do it. Thanks, Marek PS: The spec mentions "tesellation shader" twice. There is no "tesellation shader" in OpenGL even if you ignore the bad spelling. _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev