r600g: reset the render condition to NULL when rendering unconditionally
authorMarek Olšák <maraeo@gmail.com>
Sat, 29 Oct 2011 14:19:45 +0000 (16:19 +0200)
committerMarek Olšák <maraeo@gmail.com>
Sun, 30 Oct 2011 00:25:51 +0000 (02:25 +0200)
src/gallium/drivers/r600/r600_query.c

index a632ef4615b33295c6ebfb6ed07a2391b6421350..afdb0382d37fe43c6afb2eb02bb89d68ae2ca887 100644 (file)
@@ -76,8 +76,12 @@ static void r600_render_condition(struct pipe_context *ctx,
        int wait_flag = 0;
 
        /* If we already have nonzero result, render unconditionally */
-       if (query != NULL && rquery->result != 0)
+       if (query != NULL && rquery->result != 0) {
+               if (rctx->current_render_cond) {
+                       r600_render_condition(ctx, NULL, 0);
+               }
                return;
+       }
 
        rctx->current_render_cond = query;
        rctx->current_render_cond_mode = mode;