From fef6e36e0736a68e24d7844bae65a01de8359214 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Mon, 10 May 2010 21:11:21 -0600 Subject: mesa: more transform feedback infrastructure Includes GL_ARB_transform_feedback2 which encapsulates transform feedback state in objects. --- src/mesa/shader/shader_api.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/mesa/shader') diff --git a/src/mesa/shader/shader_api.c b/src/mesa/shader/shader_api.c index 4ff032d4ec..505c7bb46f 100644 --- a/src/mesa/shader/shader_api.c +++ b/src/mesa/shader/shader_api.c @@ -1517,12 +1517,14 @@ static void _mesa_link_program(GLcontext *ctx, GLuint program) { struct gl_shader_program *shProg; + struct gl_transform_feedback_object *obj = + ctx->TransformFeedback.CurrentObject; shProg = _mesa_lookup_shader_program_err(ctx, program, "glLinkProgram"); if (!shProg) return; - if (ctx->TransformFeedback.Active && shProg == ctx->Shader.CurrentProgram) { + if (obj->Active && shProg == ctx->Shader.CurrentProgram) { _mesa_error(ctx, GL_INVALID_OPERATION, "glLinkProgram(transform feedback active"); return; @@ -1591,8 +1593,10 @@ void _mesa_use_program(GLcontext *ctx, GLuint program) { struct gl_shader_program *shProg; + struct gl_transform_feedback_object *obj = + ctx->TransformFeedback.CurrentObject; - if (ctx->TransformFeedback.Active) { + if (obj->Active) { _mesa_error(ctx, GL_INVALID_OPERATION, "glUseProgram(transform feedback active)"); return; -- cgit v1.2.3