Module: Mesa Branch: staging/19.3 Commit: 3c1e9479b85ec6616999dc8e25f0265eb6ca07d7 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3c1e9479b85ec6616999dc8e25f0265eb6ca07d7
Author: Lionel Landwerlin <[email protected]> Date: Mon Dec 16 15:36:24 2019 +0200 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 <[email protected]> Cc: <[email protected]> Acked-by: Tapani Pälli <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3112> (cherry picked from commit 3bb8a4bfecbfb1345256c4faa8cd10d5b0a7ca76) --- .pick_status.json | 2 +- src/intel/perf/gen_perf.c | 2 ++ src/intel/perf/gen_perf.h | 5 +++++ src/intel/perf/gen_perf_mdapi.c | 2 ++ 4 files changed, 10 insertions(+), 1 deletion(-) diff --git a/.pick_status.json b/.pick_status.json index 6b97c9328cb..fe9f559232a 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -1228,7 +1228,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; _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
