[Mesa-dev] GL_AMD_performance_monitor for Nouveau

Ilia Mirkin imirkin at alum.mit.edu
Sat Jul 5 10:18:06 PDT 2014


On Sat, Jul 5, 2014 at 2:49 PM, Samuel Pitoiset
<samuel.pitoiset at gmail.com> wrote:
> Hi,
>
> As part of my Google Summer of Code 2014, I implemented
> GL_AMD_performance_monitor for Nouveau using the state tracker of Gallium.
>
> Currently, only MP counters for NVC0+ (fermi) are exposed through this
> extension. At the end of my project, graphics counters for NV50 (tesla) will be
> available from GL_AMD_performance_monitor (I'm still working on the kernel
> interface).
>
> This set of patches has been tested on NVC1 and NVE7.
>
> Comments and reviews are welcome.
>
> Thanks in advance for your feedbacks!

Very cool. Haven't had a detailed look, but would it be a lot of
effort to also support GL_INTEL_performance_query? Mesa core supports
it, so I assume it'd just be a couple more callbacks in
st_cb_perfmon.c.

>
> src/gallium/auxiliary/hud/hud_driver_query.c       |   2 +-
> src/gallium/drivers/freedreno/freedreno_query.c    |   4 +-
> src/gallium/drivers/freedreno/freedreno_query.h    |   2 +-
> src/gallium/drivers/freedreno/freedreno_query_hw.c |   3 +-
> src/gallium/drivers/freedreno/freedreno_query_sw.c |   3 +-
> src/gallium/drivers/galahad/glhd_context.c         |   6 +-
> src/gallium/drivers/i915/i915_query.c              |   3 +-
> src/gallium/drivers/identity/id_context.c          |   6 +-
> src/gallium/drivers/ilo/ilo_query.c                |   3 +-
> src/gallium/drivers/llvmpipe/lp_query.c            |   3 +-
> src/gallium/drivers/noop/noop_pipe.c               |   3 +-
> src/gallium/drivers/nouveau/nv30/nv30_query.c      |   5 +-
> src/gallium/drivers/nouveau/nv50/nv50_query.c      |   3 +-
> src/gallium/drivers/nouveau/nvc0/nvc0_query.c      |  99 +++++++++++++++---
> src/gallium/drivers/nouveau/nvc0/nvc0_screen.c     |   1 +
> src/gallium/drivers/nouveau/nvc0/nvc0_screen.h     |   8 ++
> src/gallium/drivers/r300/r300_query.c              |   9 +-
> src/gallium/drivers/radeon/r600_query.c            |  16 +--
> src/gallium/drivers/rbug/rbug_context.c            |   8 +-
> src/gallium/drivers/softpipe/sp_query.c            |   3 +-
> src/gallium/drivers/svga/svga_pipe_query.c         |   3 +-
> src/gallium/drivers/trace/tr_context.c             |   6 +-
> src/gallium/include/pipe/p_context.h               |   2 +-
> src/gallium/include/pipe/p_defines.h               |  23 ++++-
> src/gallium/include/pipe/p_screen.h                |  11 ++
> src/mesa/Makefile.sources                          |   1 +
> src/mesa/state_tracker/st_cb_perfmon.c             | 361 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> src/mesa/state_tracker/st_cb_perfmon.h             |  63 ++++++++++++
> src/mesa/state_tracker/st_context.c                |   3 +
> src/mesa/state_tracker/st_extensions.c             |   1 +
> 30 files changed, 610 insertions(+), 54 deletions(-)
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list