From 3bb8a4bfecbfb1345256c4faa8cd10d5b0a7ca76 Mon Sep 17 00:00:00 2001 From: Lionel Landwerlin Date: Mon, 16 Dec 2019 15:36:24 +0200 Subject: [PATCH] intel/perf: expose timestamp begin for mdapi MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit This was forgotten in the initial implementation. v2: ensure the value is written for both GL & Vulkan queries Signed-off-by: Lionel Landwerlin Cc: Acked-by: Tapani Pälli Part-of: --- src/intel/perf/gen_perf.c | 2 ++ src/intel/perf/gen_perf.h | 5 +++++ src/intel/perf/gen_perf_mdapi.c | 2 ++ 3 files changed, 9 insertions(+) diff --git a/src/intel/perf/gen_perf.c b/src/intel/perf/gen_perf.c index 7ab5e685104..fa6afb41807 100644 --- a/src/intel/perf/gen_perf.c +++ b/src/intel/perf/gen_perf.c @@ -1147,6 +1147,8 @@ gen_perf_query_result_accumulate(struct gen_perf_query_result *result, if (result->hw_id == OA_REPORT_INVALID_CTX_ID && start[2] != OA_REPORT_INVALID_CTX_ID) result->hw_id = start[2]; + if (result->reports_accumulated == 0) + result->begin_timestamp = start[1]; result->reports_accumulated++; switch (query->oa_format) { diff --git a/src/intel/perf/gen_perf.h b/src/intel/perf/gen_perf.h index d8698c90cd9..28df75c5bb1 100644 --- a/src/intel/perf/gen_perf.h +++ b/src/intel/perf/gen_perf.h @@ -113,6 +113,11 @@ struct gen_perf_query_result { * query. */ uint64_t unslice_frequency[2]; + + /** + * Timestamp of the query. + */ + uint64_t begin_timestamp; }; struct gen_perf_query_counter { diff --git a/src/intel/perf/gen_perf_mdapi.c b/src/intel/perf/gen_perf_mdapi.c index 38ca23088d2..0f35671930f 100644 --- a/src/intel/perf/gen_perf_mdapi.c +++ b/src/intel/perf/gen_perf_mdapi.c @@ -73,6 +73,7 @@ gen_perf_query_result_write_mdapi(void *data, uint32_t data_size, mdapi_data->ReportsCount = result->reports_accumulated; mdapi_data->TotalTime = gen_device_info_timebase_scale(devinfo, result->accumulator[0]); + mdapi_data->BeginTimestamp = result->begin_timestamp; mdapi_data->GPUTicks = result->accumulator[1]; mdapi_data->CoreFrequency = freq_end; mdapi_data->CoreFrequencyChanged = freq_end != freq_start; @@ -101,6 +102,7 @@ gen_perf_query_result_write_mdapi(void *data, uint32_t data_size, mdapi_data->ReportsCount = result->reports_accumulated; mdapi_data->TotalTime = gen_device_info_timebase_scale(devinfo, result->accumulator[0]); + mdapi_data->BeginTimestamp = result->begin_timestamp; mdapi_data->GPUTicks = result->accumulator[1]; mdapi_data->CoreFrequency = freq_end; mdapi_data->CoreFrequencyChanged = freq_end != freq_start; -- 2.30.2