From 8f1131fcc00333efd824642576addacbea57f4ba Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 16 Oct 2012 17:26:05 -0700 Subject: mesa: Refuse to EndQuery with a mismatched query target. v2: Add a comment about what we're checking for. Reviewed-by: Brian Paul (v1) Reviewed-by: Ian Romanick --- src/mesa/main/queryobj.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src') diff --git a/src/mesa/main/queryobj.c b/src/mesa/main/queryobj.c index ac036490849..735e4d1b1ab 100644 --- a/src/mesa/main/queryobj.c +++ b/src/mesa/main/queryobj.c @@ -374,6 +374,16 @@ _mesa_EndQueryIndexed(GLenum target, GLuint index) /* XXX should probably refcount query objects */ q = *bindpt; + + /* Check for GL_ANY_SAMPLES_PASSED vs GL_SAMPLES_PASSED. */ + if (q && q->Target != target) { + _mesa_error(ctx, GL_INVALID_OPERATION, + "glEndQuery(target=%s with active query of target %s)", + _mesa_lookup_enum_by_nr(target), + _mesa_lookup_enum_by_nr(q->Target)); + return; + } + *bindpt = NULL; if (!q || !q->Active) { -- cgit v1.2.3