diff --git a/src/mesa/drivers/dri/i965/brw_context.h b/src/mesa/drivers/dri/i965/brw_context.h index 8f6bf18230f..0aa27995ab9 100644 --- a/src/mesa/drivers/dri/i965/brw_context.h +++ b/src/mesa/drivers/dri/i965/brw_context.h @@ -602,9 +602,21 @@ struct brw_perf_query_info { enum brw_query_kind kind; const char *name; + const char *guid; struct brw_perf_query_counter *counters; int n_counters; size_t data_size; + + /* OA specific */ + uint64_t oa_metrics_set_id; + int oa_format; + + /* For indexing into the accumulator[] ... */ + int gpu_time_offset; + int gpu_clock_offset; + int a_offset; + int b_offset; + int c_offset; }; /** diff --git a/src/mesa/drivers/dri/i965/brw_performance_query.h b/src/mesa/drivers/dri/i965/brw_performance_query.h index 8f1f96060b6..c9454f98eab 100644 --- a/src/mesa/drivers/dri/i965/brw_performance_query.h +++ b/src/mesa/drivers/dri/i965/brw_performance_query.h @@ -44,6 +44,14 @@ struct brw_perf_query_counter size_t offset; size_t size; - struct brw_pipeline_stat pipeline_stat; + union { + uint64_t (*oa_counter_read_uint64)(struct brw_context *brw, + const struct brw_perf_query_info *query, + uint64_t *accumulator); + float (*oa_counter_read_float)(struct brw_context *brw, + const struct brw_perf_query_info *query, + uint64_t *accumulator); + struct brw_pipeline_stat pipeline_stat; + }; };