From 7190949927ffcd8a3d02f8de8e35dcb9bc77af84 Mon Sep 17 00:00:00 2001 From: Renato Pereyra Date: Tue, 1 Apr 2025 13:21:36 -0500 Subject: [PATCH] perfetto/android: align datasource names with tooling expectations A few Android tools are based on/assume the datasource names gpu.renderstages and gpu.counters. It is less effort to align with that naming for Android builds than to chase down those tools and fix them, not to mention account for new tools that may be created in the future. Part-of: --- src/freedreno/vulkan/tu_perfetto.cc | 2 +- src/gallium/drivers/freedreno/freedreno_perfetto.cc | 5 +++++ src/gallium/drivers/radeonsi/si_perfetto.cpp | 5 +++++ src/intel/ds/intel_driver_ds.cc | 5 +++++ src/panfrost/vulkan/panvk_utrace_perfetto.cc | 5 +++++ src/tool/pps/pps_datasource.cc | 6 ++++++ 6 files changed, 27 insertions(+), 1 deletion(-) diff --git a/src/freedreno/vulkan/tu_perfetto.cc b/src/freedreno/vulkan/tu_perfetto.cc index 33b7cb37963..e2d7ebe83af 100644 --- a/src/freedreno/vulkan/tu_perfetto.cc +++ b/src/freedreno/vulkan/tu_perfetto.cc @@ -339,7 +339,7 @@ tu_perfetto_init(void) { perfetto::DataSourceDescriptor dsd; #if DETECT_OS_ANDROID - /* AGI requires this name */ + // Android tooling expects this data source name dsd.set_name("gpu.renderstages"); #else dsd.set_name("gpu.renderstages.msm"); diff --git a/src/gallium/drivers/freedreno/freedreno_perfetto.cc b/src/gallium/drivers/freedreno/freedreno_perfetto.cc index d2bce3c43e7..9482e4f7231 100644 --- a/src/gallium/drivers/freedreno/freedreno_perfetto.cc +++ b/src/gallium/drivers/freedreno/freedreno_perfetto.cc @@ -268,7 +268,12 @@ fd_perfetto_init(void) util_perfetto_init(); perfetto::DataSourceDescriptor dsd; +#if DETECT_OS_ANDROID + // Android tooling expects this data source name + dsd.set_name("gpu.renderstages"); +#else dsd.set_name("gpu.renderstages.msm"); +#endif FdRenderpassDataSource::Register(dsd); } diff --git a/src/gallium/drivers/radeonsi/si_perfetto.cpp b/src/gallium/drivers/radeonsi/si_perfetto.cpp index bbc24acfe00..4dd0c33b80b 100644 --- a/src/gallium/drivers/radeonsi/si_perfetto.cpp +++ b/src/gallium/drivers/radeonsi/si_perfetto.cpp @@ -325,7 +325,12 @@ static void si_driver_ds_init_once(void) #ifdef HAVE_PERFETTO util_perfetto_init(); perfetto::DataSourceDescriptor dsd; +#if DETECT_OS_ANDROID + // Android tooling expects this data source name + dsd.set_name("gpu.renderstages"); +#else dsd.set_name("gpu.renderstages.amd"); +#endif SIRenderpassDataSource::Register(dsd); #endif } diff --git a/src/intel/ds/intel_driver_ds.cc b/src/intel/ds/intel_driver_ds.cc index 7c017fc5af6..e96d6b14fff 100644 --- a/src/intel/ds/intel_driver_ds.cc +++ b/src/intel/ds/intel_driver_ds.cc @@ -578,7 +578,12 @@ intel_driver_ds_init_once(void) #ifdef HAVE_PERFETTO util_perfetto_init(); perfetto::DataSourceDescriptor dsd; +#if DETECT_OS_ANDROID + // Android tooling expects this data source name + dsd.set_name("gpu.renderstages"); +#else dsd.set_name("gpu.renderstages.intel"); +#endif IntelRenderpassDataSource::Register(dsd); #endif } diff --git a/src/panfrost/vulkan/panvk_utrace_perfetto.cc b/src/panfrost/vulkan/panvk_utrace_perfetto.cc index 74151801a09..9029602db97 100644 --- a/src/panfrost/vulkan/panvk_utrace_perfetto.cc +++ b/src/panfrost/vulkan/panvk_utrace_perfetto.cc @@ -255,7 +255,12 @@ static void register_data_source(void) { perfetto::DataSourceDescriptor dsd; +#if DETECT_OS_ANDROID + // Android tooling expects this data source name + dsd.set_name("gpu.renderstages"); +#else dsd.set_name("gpu.renderstages.panfrost"); +#endif PanVKRenderpassDataSource::Register(dsd); } diff --git a/src/tool/pps/pps_datasource.cc b/src/tool/pps/pps_datasource.cc index 3adef8cf29c..61d07595d23 100644 --- a/src/tool/pps/pps_datasource.cc +++ b/src/tool/pps/pps_datasource.cc @@ -8,6 +8,7 @@ * SPDX-License-Identifier: MIT */ +#include "util/detect_os.h" #include "pps_datasource.h" #include "pps_driver.h" @@ -147,7 +148,12 @@ void GpuDataSource::register_data_source(const std::string &_driver_name) { driver_name = _driver_name; static perfetto::DataSourceDescriptor dsd; +#if DETECT_OS_ANDROID + // Android tooling expects this data source name + dsd.set_name("gpu.counters"); +#else dsd.set_name("gpu.counters." + driver_name); +#endif Register(dsd); }