[Mesa-dev] GL_AMD_performance_monitor for Nouveau

Samuel Pitoiset samuel.pitoiset at gmail.com
Mon Jul 7 02:05:14 PDT 2014


On 07/05/2014 07:18 PM, Ilia Mirkin wrote:
> 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.

I didn't have a look at GL_INTEL_performance_query but this could be 
simple, I think yes.
>
>> 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