summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r300/r300_query.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/drivers/r300/r300_query.c')
-rw-r--r--src/gallium/drivers/r300/r300_query.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/gallium/drivers/r300/r300_query.c b/src/gallium/drivers/r300/r300_query.c
index e338c57ed80..fbf44c68419 100644
--- a/src/gallium/drivers/r300/r300_query.c
+++ b/src/gallium/drivers/r300/r300_query.c
@@ -178,6 +178,7 @@ static boolean r300_get_query_result(struct pipe_context* pipe,
static void r300_render_condition(struct pipe_context *pipe,
struct pipe_query *query,
+ boolean condition,
uint mode)
{
struct r300_context *r300 = r300_context(pipe);
@@ -192,10 +193,10 @@ static void r300_render_condition(struct pipe_context *pipe,
if (r300_get_query_result(pipe, query, wait, &result)) {
if (r300_query(query)->type == PIPE_QUERY_OCCLUSION_PREDICATE) {
- r300->skip_rendering = !result.b;
+ r300->skip_rendering = condition == result.b;
} else {
- r300->skip_rendering = !result.u64;
- }
+ r300->skip_rendering = condition == !!result.u64;
+ }
}
}
}