mesa: Disallow TransformFeedbackVaryings when active.

Fixes a subcase of Piglit's new ARB_transform_feedback2 api-errors test.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
Kenneth Graunke 2013-09-06 12:38:12 -07:00
parent 2487324591
commit a7d616da69

View file

@ -611,6 +611,16 @@ _mesa_TransformFeedbackVaryings(GLuint program, GLsizei count,
GLint i;
GET_CURRENT_CONTEXT(ctx);
/* From the ARB_transform_feedback2 specification:
* "The error INVALID_OPERATION is generated by TransformFeedbackVaryings
* if the current transform feedback object is active, even if paused."
*/
if (ctx->TransformFeedback.CurrentObject->Active) {
_mesa_error(ctx, GL_INVALID_OPERATION,
"glTransformFeedbackVaryings(current object is active)");
return;
}
switch (bufferMode) {
case GL_INTERLEAVED_ATTRIBS:
break;