diff options
Diffstat (limited to 'src/intel/perf/gen_perf.h')
-rw-r--r-- | src/intel/perf/gen_perf.h | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/src/intel/perf/gen_perf.h b/src/intel/perf/gen_perf.h index f43286f73a6..46d37e07c25 100644 --- a/src/intel/perf/gen_perf.h +++ b/src/intel/perf/gen_perf.h @@ -140,7 +140,7 @@ struct gen_perf_query_register_prog { }; /* Register programming for a given query */ -struct gen_perf_configuration { +struct gen_perf_registers { struct gen_perf_query_register_prog *flex_regs; uint32_t n_flex_regs; @@ -175,10 +175,12 @@ struct gen_perf_query_info { int b_offset; int c_offset; - struct gen_perf_configuration config; + struct gen_perf_registers config; }; struct gen_perf_config { + bool i915_query_supported; + struct gen_perf_query_info *queries; int n_queries; @@ -244,6 +246,20 @@ bool gen_perf_load_metric_id(struct gen_perf_config *perf_cfg, const char *guid, uint64_t *metric_id); +/** Load a configuation's content from i915 using a guid. + */ +struct gen_perf_registers *gen_perf_load_configuration(struct gen_perf_config *perf_cfg, + int fd, const char *guid); + +/** Store a configuration into i915 using guid and return a new metric id. + * + * If guid is NULL, then a generated one will be provided by hashing the + * content of the configuration. + */ +uint64_t gen_perf_store_configuration(struct gen_perf_config *perf_cfg, int fd, + const struct gen_perf_registers *config, + const char *guid); + /** Read the slice/unslice frequency from 2 OA reports and store then into * result. */ |