intel/perf: create a vtable entry for store_register_mem64

This method is needed to move subsequent methods into perf.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
Mark Janes
2019-06-04 12:45:01 -07:00
parent 4b2c885207
commit 7e890ed476
2 changed files with 9 additions and 3 deletions
+2
View File
@@ -225,6 +225,8 @@ struct gen_perf_config {
const char *file, int line);
void (*capture_frequency_stat_register)(void *ctx, void *bo,
uint32_t bo_offset);
void (*store_register_mem64)(void *ctx, void *bo, uint32_t reg, uint32_t offset);
} vtbl;
};
@@ -257,9 +257,9 @@ snapshot_statistics_registers(struct brw_context *brw,
assert(counter->data_type == GEN_PERF_COUNTER_DATA_TYPE_UINT64);
brw_store_register_mem64(brw, obj->pipeline_stats.bo,
counter->pipeline_stat.reg,
offset_in_bytes + i * sizeof(uint64_t));
brw->perf_ctx.perf->vtbl.store_register_mem64(brw, obj->pipeline_stats.bo,
counter->pipeline_stat.reg,
offset_in_bytes + i * sizeof(uint64_t));
}
}
@@ -1546,6 +1546,8 @@ brw_oa_batchbuffer_flush(void *c, const char *file, int line)
}
typedef void (*capture_frequency_stat_register_t)(void *, void *, uint32_t );
typedef void (*store_register_mem64_t)(void *ctx, void *bo,
uint32_t reg, uint32_t offset);
static unsigned
brw_init_perf_query_info(struct gl_context *ctx)
@@ -1567,6 +1569,8 @@ brw_init_perf_query_info(struct gl_context *ctx)
perf_cfg->vtbl.batchbuffer_flush = brw_oa_batchbuffer_flush;
perf_cfg->vtbl.capture_frequency_stat_register =
(capture_frequency_stat_register_t) capture_frequency_stat_register;
perf_cfg->vtbl.store_register_mem64 =
(store_register_mem64_t) brw_store_register_mem64;
init_pipeline_statistic_query_registers(brw);
gen_perf_query_register_mdapi_statistic_query(&brw->screen->devinfo,