diff options
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_performance_query.c')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_performance_query.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_performance_query.c b/src/mesa/drivers/dri/i965/brw_performance_query.c index 06576a54d03..6b874d0bbee 100644 --- a/src/mesa/drivers/dri/i965/brw_performance_query.c +++ b/src/mesa/drivers/dri/i965/brw_performance_query.c @@ -1063,6 +1063,14 @@ brw_end_perf_query(struct gl_context *ctx, obj->oa.begin_report_id + 1); } + /* We flush the batchbuffer here to minimize the chances that MI_RPC + * delimiting commands end up in different batchbuffers. If that's the + * case, the measurement will include the time it takes for the kernel + * scheduler to load a new request into the hardware. This is manifested + * in tools like frameretrace by spikes in the "GPU Core Clocks" + * counter. + */ + intel_batchbuffer_flush(brw); --brw->perfquery.n_active_oa_queries; /* NB: even though the query has now ended, it can't be accumulated |