-static uint64_t
-brw_perf_query_get_metric_id(struct brw_context *brw,
- const struct gen_perf_query_info *query)
-{
- /* These queries are know not to ever change, their config ID has been
- * loaded upon the first query creation. No need to look them up again.
- */
- if (query->kind == GEN_PERF_QUERY_TYPE_OA)
- return query->oa_metrics_set_id;
-
- assert(query->kind == GEN_PERF_QUERY_TYPE_RAW);
-
- /* Raw queries can be reprogrammed up by an external application/library.
- * When a raw query is used for the first time it's id is set to a value !=
- * 0. When it stops being used the id returns to 0. No need to reload the
- * ID when it's already loaded.
- */
- if (query->oa_metrics_set_id != 0) {
- DBG("Raw query '%s' guid=%s using cached ID: %"PRIu64"\n",
- query->name, query->guid, query->oa_metrics_set_id);
- return query->oa_metrics_set_id;
- }
-
- struct gen_perf_query_info *raw_query = (struct gen_perf_query_info *)query;
- if (!gen_perf_load_metric_id(brw->perfquery.perf, query->guid,
- &raw_query->oa_metrics_set_id)) {
- DBG("Unable to read query guid=%s ID, falling back to test config\n", query->guid);
- raw_query->oa_metrics_set_id = 1ULL;
- } else {
- DBG("Raw query '%s'guid=%s loaded ID: %"PRIu64"\n",
- query->name, query->guid, query->oa_metrics_set_id);
- }
- return query->oa_metrics_set_id;
-}
-