diff options
-rw-r--r-- | .pick_status.json | 2 | ||||
-rw-r--r-- | src/intel/perf/gen_perf.c | 2 | ||||
-rw-r--r-- | src/intel/perf/gen_perf.h | 5 | ||||
-rw-r--r-- | src/intel/perf/gen_perf_mdapi.c | 2 |
4 files changed, 10 insertions, 1 deletions
diff --git a/.pick_status.json b/.pick_status.json index b8eb8469077..94f7b6321ec 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -3127,7 +3127,7 @@ "description": "intel/perf: expose timestamp begin for mdapi", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "master_sha": null, "because_sha": null }, diff --git a/src/intel/perf/gen_perf.c b/src/intel/perf/gen_perf.c index 2e0d31c2244..a7436530f9b 100644 --- a/src/intel/perf/gen_perf.c +++ b/src/intel/perf/gen_perf.c @@ -1142,6 +1142,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 46d37e07c25..25f234b5bde 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; |