i965: extend query/counter structs for OA queries
In preparation for generating code from brw_oa_hsw.xml for describing OA performance counter queries this adds some OA specific members to brw_perf_query that our generated code will initialize: - The oa_metric_set_id is the ID we will pass to DRM_IOCTL_I915_PERF_OPEN, and is an ID got via sysfs under: /sys/class/drm/<card>/metrics/<guid/id - The oa_format is the OA report layout we will request from the kernel - The accumulator offsets determine where the different groups of A, B and C counters are located within an intermediate 64bit 'accumulator' buffer. Additionally brw_perf_query_counter now has 64bit or float _read() callback members for OA counters. Signed-off-by: Robert Bragg <robert@sixbynine.org> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Acked-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
parent
eaab41c9db
commit
f46e58e018
|
@ -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;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue