summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/mesa/main/condrender.c21
1 files changed, 14 insertions, 7 deletions
diff --git a/src/mesa/main/condrender.c b/src/mesa/main/condrender.c
index 24a7f4b6945..051cd8f9629 100644
--- a/src/mesa/main/condrender.c
+++ b/src/mesa/main/condrender.c
@@ -133,23 +133,30 @@ _mesa_BeginConditionalRender(GLuint queryId, GLenum mode)
}
+static void
+end_conditional_render(struct gl_context *ctx)
+{
+ FLUSH_VERTICES(ctx, 0x0);
+
+ if (ctx->Driver.EndConditionalRender)
+ ctx->Driver.EndConditionalRender(ctx, ctx->Query.CondRenderQuery);
+
+ ctx->Query.CondRenderQuery = NULL;
+ ctx->Query.CondRenderMode = GL_NONE;
+}
+
+
void APIENTRY
_mesa_EndConditionalRender(void)
{
GET_CURRENT_CONTEXT(ctx);
- FLUSH_VERTICES(ctx, 0x0);
-
if (!ctx->Extensions.NV_conditional_render || !ctx->Query.CondRenderQuery) {
_mesa_error(ctx, GL_INVALID_OPERATION, "glEndConditionalRender()");
return;
}
- if (ctx->Driver.EndConditionalRender)
- ctx->Driver.EndConditionalRender(ctx, ctx->Query.CondRenderQuery);
-
- ctx->Query.CondRenderQuery = NULL;
- ctx->Query.CondRenderMode = GL_NONE;
+ end_conditional_render(ctx);
}