mesa: Refuse to EndQuery with a mismatched query target.

v2: Add a comment about what we're checking for.

Reviewed-by: Brian Paul <brianp@vmware.com> (v1)
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:
Eric Anholt
2012-10-16 17:26:05 -07:00
parent ce086ebd89
commit 8f1131fcc0

View File

@@ -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) {