From: Eric Anholt Date: Wed, 17 Oct 2012 00:26:05 +0000 (-0700) Subject: mesa: Refuse to EndQuery with a mismatched query target. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8f1131fcc00333efd824642576addacbea57f4ba;p=mesa.git 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 --- 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) {