From: Mark Janes Date: Fri, 31 May 2019 01:30:25 +0000 (-0700) Subject: intel/perf: move get_free_sample_buf into perf X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=31758bd36c58c59bf2e872b7844d7fd4c69144db;p=mesa.git intel/perf: move get_free_sample_buf into perf Reviewed-by: Kenneth Graunke --- diff --git a/src/intel/perf/gen_perf.c b/src/intel/perf/gen_perf.c index 76fe725e3b1..131fe34abe3 100644 --- a/src/intel/perf/gen_perf.c +++ b/src/intel/perf/gen_perf.c @@ -824,3 +824,22 @@ gen_perf_query_get_metric_id(struct gen_perf_config *perf, } return query->oa_metrics_set_id; } + +struct oa_sample_buf * +gen_perf_get_free_sample_buf(struct gen_perf_context *perf_ctx) +{ + struct exec_node *node = exec_list_pop_head(&perf_ctx->free_sample_buffers); + struct oa_sample_buf *buf; + + if (node) + buf = exec_node_data(struct oa_sample_buf, node, link); + else { + buf = ralloc_size(perf_ctx->perf, sizeof(*buf)); + + exec_node_init(&buf->link); + buf->refcount = 0; + buf->len = 0; + } + + return buf; +} diff --git a/src/intel/perf/gen_perf.h b/src/intel/perf/gen_perf.h index a759de1fed5..05865b8f812 100644 --- a/src/intel/perf/gen_perf.h +++ b/src/intel/perf/gen_perf.h @@ -504,6 +504,7 @@ void gen_perf_query_register_mdapi_oa_query(const struct gen_device_info *devinf struct gen_perf_config *perf); uint64_t gen_perf_query_get_metric_id(struct gen_perf_config *perf, const struct gen_perf_query_info *query); +struct oa_sample_buf * gen_perf_get_free_sample_buf(struct gen_perf_context *perf); #endif /* GEN_PERF_H */ diff --git a/src/mesa/drivers/dri/i965/brw_performance_query.c b/src/mesa/drivers/dri/i965/brw_performance_query.c index 38b8a053377..cb3bebfc743 100644 --- a/src/mesa/drivers/dri/i965/brw_performance_query.c +++ b/src/mesa/drivers/dri/i965/brw_performance_query.c @@ -146,25 +146,6 @@ dump_perf_queries(struct brw_context *brw) /******************************************************************************/ -static struct oa_sample_buf * -get_free_sample_buf(struct brw_context *brw) -{ - struct exec_node *node = exec_list_pop_head(&brw->perf_ctx.free_sample_buffers); - struct oa_sample_buf *buf; - - if (node) - buf = exec_node_data(struct oa_sample_buf, node, link); - else { - buf = ralloc_size(brw, sizeof(*buf)); - - exec_node_init(&buf->link); - buf->refcount = 0; - buf->len = 0; - } - - return buf; -} - static void reap_old_sample_buffers(struct brw_context *brw) { @@ -451,7 +432,7 @@ read_oa_samples_until(struct brw_context *brw, uint32_t last_timestamp = tail_buf->last_timestamp; while (1) { - struct oa_sample_buf *buf = get_free_sample_buf(brw); + struct oa_sample_buf *buf = gen_perf_get_free_sample_buf(&brw->perf_ctx); uint32_t offset; int len; @@ -1647,7 +1628,7 @@ brw_init_perf_query_info(struct gl_context *ctx) * Begin an OA query we can always take a reference on a buffer * in this list. */ - struct oa_sample_buf *buf = get_free_sample_buf(brw); + struct oa_sample_buf *buf = gen_perf_get_free_sample_buf(&brw->perf_ctx); exec_list_push_head(&brw->perf_ctx.sample_buffers, &buf->link); brw->perf_ctx.oa_stream_fd = -1;