Browse Source

mesa: Throw an error for a new query on an already-active query target.

There's a similar test below, but it's not the same: that one checks whether
this query object is already active (potentially on another target).

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
tags/gles3-fmt-v1
Eric Anholt 13 years ago
parent
commit
ce086ebd89
1 changed files with 13 additions and 0 deletions
  1. 13
    0
      src/mesa/main/queryobj.c

+ 13
- 0
src/mesa/main/queryobj.c View File

@@ -301,6 +301,19 @@ _mesa_BeginQueryIndexed(GLenum target, GLuint index, GLuint id)
return;
}

/* From the GL_ARB_occlusion_query spec:
*
* "If BeginQueryARB is called while another query is already in
* progress with the same target, an INVALID_OPERATION error is
* generated."
*/
if (*bindpt) {
_mesa_error(ctx, GL_INVALID_OPERATION,
"glBeginQuery{Indexed}(target=%s is active)",
_mesa_lookup_enum_by_nr(target));
return;
}

if (id == 0) {
_mesa_error(ctx, GL_INVALID_OPERATION, "glBeginQuery{Indexed}(id==0)");
return;

Loading…
Cancel
Save