[Mesa-dev,v3,5/9] mesa: Handle QUERY_RESULT_NO_WAIT in GetQueryObject{ui64}v

Submitted by Rafal Mielniczuk on April 1, 2014, 9:10 a.m.

Details

Message ID 1396343428-27053-2-git-send-email-rafal.mielniczuk2@gmail.com
State New
Headers show

Not browsing as part of any series.

Commit Message

Rafal Mielniczuk April 1, 2014, 9:10 a.m.
v2: Remove c++ comment style

Just return and do nothing if query result is not yet available
---
 src/mesa/main/queryobj.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

Patch hide | download patch | download mbox

diff --git a/src/mesa/main/queryobj.c b/src/mesa/main/queryobj.c
index 86e7c3a..63b2c20 100644
--- a/src/mesa/main/queryobj.c
+++ b/src/mesa/main/queryobj.c
@@ -594,6 +594,10 @@  _mesa_GetQueryObjectiv(GLuint id, GLenum pname, GLint *params)
    }
 
    switch (pname) {
+      case GL_QUERY_RESULT_NO_WAIT:
+         if (!q->Ready)
+            return;
+         /* fallthrough */
       case GL_QUERY_RESULT_ARB:
          if (!q->Ready)
             ctx->Driver.WaitQuery(ctx, q);
@@ -645,6 +649,10 @@  _mesa_GetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params)
    }
 
    switch (pname) {
+      case GL_QUERY_RESULT_NO_WAIT:
+         if (!q->Ready)
+            return;
+         /* fallthrough */
       case GL_QUERY_RESULT_ARB:
          if (!q->Ready)
             ctx->Driver.WaitQuery(ctx, q);
@@ -699,6 +707,10 @@  _mesa_GetQueryObjecti64v(GLuint id, GLenum pname, GLint64EXT *params)
    }
 
    switch (pname) {
+      case GL_QUERY_RESULT_NO_WAIT:
+         if (!q->Ready)
+            return;
+         /* fallthrough */
       case GL_QUERY_RESULT_ARB:
          if (!q->Ready)
             ctx->Driver.WaitQuery(ctx, q);
@@ -739,6 +751,10 @@  _mesa_GetQueryObjectui64v(GLuint id, GLenum pname, GLuint64EXT *params)
    }
 
    switch (pname) {
+      case GL_QUERY_RESULT_NO_WAIT:
+         if (!q->Ready)
+            return;
+         /* fallthrough */
       case GL_QUERY_RESULT_ARB:
          if (!q->Ready)
             ctx->Driver.WaitQuery(ctx, q);