From 0bfa01e4662155867effc80204aa2c05e422011f Mon Sep 17 00:00:00 2001 From: Christoph Pillmayer Date: Thu, 7 Aug 2025 11:26:12 +0000 Subject: [PATCH] panvk/perfetto: Drop zero duration events Reviewed-by: Lars-Ivar Hesselberg Simonsen Part-of: --- src/panfrost/vulkan/panvk_utrace_perfetto.cc | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/panfrost/vulkan/panvk_utrace_perfetto.cc b/src/panfrost/vulkan/panvk_utrace_perfetto.cc index a4456db4d36..f71a36bf79a 100644 --- a/src/panfrost/vulkan/panvk_utrace_perfetto.cc +++ b/src/panfrost/vulkan/panvk_utrace_perfetto.cc @@ -215,6 +215,13 @@ panvk_utrace_perfetto_end_event( return; } + uint64_t duration = ts_ns - ev->begin_ns; + /* Drop unwritten and zero duration events. + * If the timestamp wraps around, end can be before start. Also drop those. */ + if (duration == 0 || ts_ns == 0 || ts_ns < ev->begin_ns) { + return; + } + PanVKRenderpassDataSource::Trace( [=](PanVKRenderpassDataSource::TraceContext ctx) { struct panvk_utrace_perfetto *utp = &dev->utrace.utp;