[Mesa-dev] [PATCH 0/4] panfrost: Expose HW counters through the pipe_query iface
Boris Brezillon
boris.brezillon at collabora.com
Thu Apr 4 15:37:37 UTC 2019
Hello,
This is an attempt at exposing Mali Midgard/Bifrost perf counters in a
more or less generic way so that they can be used through the
pipe_query interface. That should allow one to dump/display those
counters using gallium-hud or any tool/lib that uses the
GL_AMD_performance_monitor API (apitrace) to query HW counters.
This series adds new hooks to the panfrost_driver driver interface so
that both the drm and non-drm drivers can be plugged (I only developped
the glue for the DRM driver so far, but can work on the non-DRM driver
if needed).
Only T860 counters are exposed so far, as this is the platform I tested
on. It's been tested with gallium-hud in invisible mode (the driver
doesn't support RECT texture, which is needed to display the HUD):
List all available counters:
# GALLIUM_HUD_VISIBLE=false GALLIUM_HUD=help <app>
Dump counters in a directory:
# GALLIUM_HUD_VISIBLE=false GALLIUM_HUD_DUMP_DIR=<dump-dir> GALLIUM_HUD=<counter1>,<counter2>,... <app>
Should also work with apitrace, but I haven't tested yet.
Regards,
Boris
Boris Brezillon (4):
drm-uapi: panfrost: Add perfcnt related bits
panfrost: Expose perfcounters through the pipe_query interface
panfrost: Implement perfcnt hooks in the DRM driver
panfrost: Add T860 counters
include/drm-uapi/panfrost_drm.h | 122 +++++++
src/gallium/drivers/panfrost/meson.build | 3 +-
src/gallium/drivers/panfrost/pan_context.c | 80 ++++-
src/gallium/drivers/panfrost/pan_context.h | 9 +-
src/gallium/drivers/panfrost/pan_drm.c | 245 +++++++++++++
src/gallium/drivers/panfrost/pan_perfcnt.c | 389 +++++++++++++++++++++
src/gallium/drivers/panfrost/pan_perfcnt.h | 36 ++
src/gallium/drivers/panfrost/pan_screen.c | 9 +-
src/gallium/drivers/panfrost/pan_screen.h | 41 +++
9 files changed, 926 insertions(+), 8 deletions(-)
create mode 100644 src/gallium/drivers/panfrost/pan_perfcnt.c
create mode 100644 src/gallium/drivers/panfrost/pan_perfcnt.h
--
2.20.1
More information about the mesa-dev
mailing list