i965/query: Set Ready flag in gen6_queryobj_get_results().

q->Ready means that the results are in, and core Mesa is free to return
them to the application.  gen6_queryobj_get_results() is a natural place
to set that flag; doing so means callers don't have to.

The older non-hardware-context aware code couldn't do this, because we
had to call brw_queryobj_get_results() to gather intermediate results
when we ran out of space for snapshots in the query buffer.  We only
gather complete results in the Gen6+ code, however.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ben Widawsky <ben@bwidawsk.net>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:
Kenneth Graunke 2014-12-11 01:29:48 -08:00
parent 1f0e106050
commit ed8edd7175

View file

@ -195,6 +195,8 @@ gen6_queryobj_get_results(struct gl_context *ctx,
*/
drm_intel_bo_unreference(query->bo);
query->bo = NULL;
query->Base.Ready = true;
}
/**
@ -305,7 +307,6 @@ static void gen6_wait_query(struct gl_context *ctx, struct gl_query_object *q)
struct brw_query_object *query = (struct brw_query_object *)q;
gen6_queryobj_get_results(ctx, query);
query->Base.Ready = true;
}
/**
@ -331,7 +332,6 @@ static void gen6_check_query(struct gl_context *ctx, struct gl_query_object *q)
if (query->bo == NULL || !drm_intel_bo_busy(query->bo)) {
gen6_queryobj_get_results(ctx, query);
query->Base.Ready = true;
}
}