Skip the next check for brw_batch_references() by recording when we flush the query. --- src/mesa/drivers/dri/i965/gen6_queryobj.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/gen6_queryobj.c b/src/mesa/drivers/dri/i965/gen6_queryobj.c index f3b9dd24624..d6e670c306e 100644 --- a/src/mesa/drivers/dri/i965/gen6_queryobj.c +++ b/src/mesa/drivers/dri/i965/gen6_queryobj.c @@ -509,14 +509,16 @@ gen6_end_query(struct gl_context *ctx, struct gl_query_object *q) static void flush_batch_if_needed(struct brw_context *brw, struct brw_query_object *query) { + if (query->flushed) + return; + /* If the batch doesn't reference the BO, it must have been flushed * (for example, due to being full). Record that it's been flushed. */ - query->flushed = query->flushed || - !brw_batch_references(&brw->batch, query->bo); - - if (!query->flushed) + if (brw_batch_references(&brw->batch, query->bo)) intel_batchbuffer_flush(brw); + + query->flushed = true; } /** -- 2.19.0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev