aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/radeonsi/r600_query.c
diff options
context:
space:
mode:
authorNiels Ole Salscheider <[email protected]>2013-08-28 18:42:40 +0200
committerMarek Olšák <[email protected]>2013-08-30 23:30:00 +0200
commit217d2f73596f9abfbbdcbf5cfd2b684851178c46 (patch)
tree26253716812819aa163323a8abf1a3164bf85ead /src/gallium/drivers/radeonsi/r600_query.c
parent431e60625b1dcacc126087f36adedb89fa60bfaa (diff)
radeonsi: Do not suspend timer queries
Signed-off-by: Niels Ole Salscheider <[email protected]> Signed-off-by: Marek Olšák <[email protected]>
Diffstat (limited to 'src/gallium/drivers/radeonsi/r600_query.c')
-rw-r--r--src/gallium/drivers/radeonsi/r600_query.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/gallium/drivers/radeonsi/r600_query.c b/src/gallium/drivers/radeonsi/r600_query.c
index 927577c220c..aa51e741739 100644
--- a/src/gallium/drivers/radeonsi/r600_query.c
+++ b/src/gallium/drivers/radeonsi/r600_query.c
@@ -50,7 +50,10 @@ static void r600_begin_query(struct pipe_context *ctx, struct pipe_query *query)
memset(&rquery->result, 0, sizeof(rquery->result));
rquery->results_start = rquery->results_end;
r600_query_begin(rctx, (struct r600_query *)query);
- LIST_ADDTAIL(&rquery->list, &rctx->active_query_list);
+
+ if (!si_is_timer_query(rquery->type)) {
+ LIST_ADDTAIL(&rquery->list, &rctx->active_nontimer_query_list);
+ }
}
static void r600_end_query(struct pipe_context *ctx, struct pipe_query *query)
@@ -64,7 +67,7 @@ static void r600_end_query(struct pipe_context *ctx, struct pipe_query *query)
r600_query_end(rctx, rquery);
- if (si_query_needs_begin(rquery->type)) {
+ if (si_query_needs_begin(rquery->type) && !si_is_timer_query(rquery->type)) {
LIST_DELINIT(&rquery->list);
}
}