diff options
author | Paul Berry <[email protected]> | 2012-12-15 14:21:32 -0800 |
---|---|---|
committer | Paul Berry <[email protected]> | 2012-12-18 09:02:53 -0800 |
commit | 5b7099c74d7774dc59895536bad53bd1196e398c (patch) | |
tree | 5571409df894f68003491baa6f6476161ec898b7 /src/mesa/main/shaderapi.c | |
parent | 1ad516207d2297b14fe26627e5bb599a9f704ac5 (diff) |
mesa: Make a function is_transform_feedback_active_and_unpaused.
The rather unweildy logic for determining this condition was repeated
in a large number of places. This patch consolidates it to a single
inline function.
Reviewed-by: Jordan Justen <[email protected]>
Reviewed-by: Brian Paul <[email protected]>
Reviewed-by: Ian Romanick <[email protected]>
Diffstat (limited to 'src/mesa/main/shaderapi.c')
-rw-r--r-- | src/mesa/main/shaderapi.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/mesa/main/shaderapi.c b/src/mesa/main/shaderapi.c index 53e9d0486d1..1f0002f6fa6 100644 --- a/src/mesa/main/shaderapi.c +++ b/src/mesa/main/shaderapi.c @@ -45,6 +45,7 @@ #include "main/mtypes.h" #include "main/shaderapi.h" #include "main/shaderobj.h" +#include "main/transformfeedback.h" #include "main/uniforms.h" #include "program/program.h" #include "program/prog_parameter.h" @@ -1383,12 +1384,10 @@ _mesa_UseProgram(GLhandleARB program) { GET_CURRENT_CONTEXT(ctx); struct gl_shader_program *shProg; - struct gl_transform_feedback_object *obj = - ctx->TransformFeedback.CurrentObject; ASSERT_OUTSIDE_BEGIN_END(ctx); - if (obj->Active && !obj->Paused) { + if (_mesa_is_xfb_active_and_unpaused(ctx)) { _mesa_error(ctx, GL_INVALID_OPERATION, "glUseProgram(transform feedback active)"); return; @@ -1590,8 +1589,7 @@ _mesa_UseShaderProgramEXT(GLenum type, GLuint program) return; } - if (ctx->TransformFeedback.CurrentObject->Active && - !ctx->TransformFeedback.CurrentObject->Paused) { + if (_mesa_is_xfb_active_and_unpaused(ctx)) { _mesa_error(ctx, GL_INVALID_OPERATION, "glUseShaderProgramEXT(transform feedback is active)"); return; |