From 79ded7cc8f0b146bdf153f12093b6b6766fcf06b Mon Sep 17 00:00:00 2001 From: Mark Janes Date: Wed, 26 Jun 2019 11:43:20 -0700 Subject: [PATCH] intel/perf: move close_perf into perf Reviewed-by: Kenneth Graunke --- src/intel/perf/gen_perf.c | 15 +++++++++++++++ src/intel/perf/gen_perf.h | 3 +++ src/mesa/drivers/dri/i965/brw_performance_query.c | 20 ++------------------ 3 files changed, 20 insertions(+), 18 deletions(-) diff --git a/src/intel/perf/gen_perf.c b/src/intel/perf/gen_perf.c index f6e1456..99f9cd7 100644 --- a/src/intel/perf/gen_perf.c +++ b/src/intel/perf/gen_perf.c @@ -903,3 +903,18 @@ gen_perf_snapshot_statistics_registers(void *context, offset_in_bytes + i * sizeof(uint64_t)); } } + +void +gen_perf_close(struct gen_perf_context *perfquery, + const struct gen_perf_query_info *query) +{ + if (perfquery->oa_stream_fd != -1) { + close(perfquery->oa_stream_fd); + perfquery->oa_stream_fd = -1; + } + if (query->kind == GEN_PERF_QUERY_TYPE_RAW) { + struct gen_perf_query_info *raw_query = + (struct gen_perf_query_info *) query; + raw_query->oa_metrics_set_id = 0; + } +} diff --git a/src/intel/perf/gen_perf.h b/src/intel/perf/gen_perf.h index 6e69278..a693ec3 100644 --- a/src/intel/perf/gen_perf.h +++ b/src/intel/perf/gen_perf.h @@ -588,4 +588,7 @@ void gen_perf_snapshot_statistics_registers(void *context, struct gen_perf_query_object *obj, uint32_t offset_in_bytes); +void gen_perf_close(struct gen_perf_context *perfquery, + const struct gen_perf_query_info *query); + #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 770dcb4..f4e62de 100644 --- a/src/mesa/drivers/dri/i965/brw_performance_query.c +++ b/src/mesa/drivers/dri/i965/brw_performance_query.c @@ -696,22 +696,6 @@ open_i915_perf_oa_stream(struct brw_context *brw, } static void -close_perf(struct brw_context *brw, - const struct gen_perf_query_info *query) -{ - struct gen_perf_context *perf_ctx = &brw->perf_ctx; - if (perf_ctx->oa_stream_fd != -1) { - close(perf_ctx->oa_stream_fd); - perf_ctx->oa_stream_fd = -1; - } - if (query->kind == GEN_PERF_QUERY_TYPE_RAW) { - struct gen_perf_query_info *raw_query = - (struct gen_perf_query_info *) query; - raw_query->oa_metrics_set_id = 0; - } -} - -static void capture_frequency_stat_register(struct brw_context *brw, struct brw_bo *bo, uint32_t bo_offset) @@ -817,7 +801,7 @@ brw_begin_perf_query(struct gl_context *ctx, o->Id, perf_ctx->current_oa_metrics_set_id, metric_id); return false; } else - close_perf(brw, query); + gen_perf_close(perf_ctx, query); } /* If the OA counters aren't already on, enable them. */ @@ -1384,7 +1368,7 @@ brw_delete_perf_query(struct gl_context *ctx, */ if (--perf_ctx->n_query_instances == 0) { gen_perf_free_sample_bufs(perf_ctx); - close_perf(brw, obj->queryinfo); + gen_perf_close(perf_ctx, obj->queryinfo); } free(obj); -- 2.7.4