mesa: Set query->EverBound in glQueryCounter().
authorKenneth Graunke <kenneth@whitecape.org>
Fri, 23 Aug 2013 17:35:34 +0000 (10:35 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Mon, 26 Aug 2013 03:29:59 +0000 (20:29 -0700)
glIsQuery is supposed to return false for names returned by glGenQueries
until their first use.  BeginQuery is a use, but QueryCounter is also a
use.

From the ARB_timer_query spec:
"A timer query object is created with the command

      void QueryCounter(uint id, enum target);

 [...] If <id> is an unused query object name, the
 name is marked as used [...]"

Fixes Piglit's spec/ARB_timer_query/query-lifetime.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Cc: mesa-stable@lists.freedesktop.org
src/mesa/main/queryobj.c

index b74898ceedd79d29ad40f8269f68dd60b9e32d1a..60356b85d356c2fe04d11c479254753bf11c7b39 100644 (file)
@@ -485,6 +485,7 @@ _mesa_QueryCounter(GLuint id, GLenum target)
    q->Target = target;
    q->Result = 0;
    q->Ready = GL_FALSE;
+   q->EverBound = GL_TRUE;
 
    if (ctx->Driver.QueryCounter) {
       ctx->Driver.QueryCounter(ctx, q);