intel/perf: expose timestamp begin for mdapi

This was forgotten in the initial implementation.

v2: ensure the value is written for both GL & Vulkan queries

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: <mesa-stable@lists.freedesktop.org>
Acked-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3112>
This commit is contained in:
Lionel Landwerlin
2019-12-16 15:36:24 +02:00
parent 630cbb45ac
commit 3bb8a4bfec
3 changed files with 9 additions and 0 deletions

View File

@@ -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) {

View File

@@ -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 {

View File

@@ -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;