summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Janes <[email protected]>2019-06-26 11:43:20 -0700
committerMark Janes <[email protected]>2019-08-07 21:33:55 -0700
commit79ded7cc8f0b146bdf153f12093b6b6766fcf06b (patch)
tree7d2e81ca74c38e39365dbe27ef9cd9b76b740863
parentf57c8a6dc110e7701233f159ce166c63ea75ff5f (diff)
intel/perf: move close_perf into perf
Reviewed-by: Kenneth Graunke <[email protected]>
-rw-r--r--src/intel/perf/gen_perf.c15
-rw-r--r--src/intel/perf/gen_perf.h3
-rw-r--r--src/mesa/drivers/dri/i965/brw_performance_query.c20
3 files changed, 20 insertions, 18 deletions
diff --git a/src/intel/perf/gen_perf.c b/src/intel/perf/gen_perf.c
index f6e145627f5..99f9cd7e097 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 6e69278ccdf..a693ec3800f 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 770dcb4a9c6..f4e62de3b7d 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);