[Mesa-dev] [PATCH 00/16] nvc0: improve MP counters support on Fermi
samuel.pitoiset at gmail.com
Fri Oct 16 10:22:20 PDT 2015
This series fixes some issues related to MP performance counters on Fermi.
MP counters for GF100/GF110 have also been improved because they are compute
capability 2.0 while the other Fermi chipsets are 2.1 and some HW events are
Compute support is now enabled by default on Fermi because I can't reproduce
those weird effects on 3D state. This has been probably fixed as a side effect.
Anyway, if someone complain about it, I'll be glad to fix it.
This series has been tested with the following apps:
- glxgears, glxspheres64 and so on ...
And with the following Fermi chipsets:
Note that with GF100/GF110, some MP counters are not correctly context-switched
and results might be wrong. This is a known issue that we need to fix on the
There are no regressions with piglit.
I'll submit an other series in the next few days which adds some performance
monitoring metrics on Fermi and I'll double check MP counters on Kepler.
Samuel Pitoiset (16):
nvc0: remove useless call to query_get_cfg() in nvc0_hw_sm_query_end()
nvc0: split out begin_query() hook used by MP counters
nvc0: rip off the kepler MP-enabling logic from the Fermi codepath
nvc0: correctly enable the MP counters' multiplexer on Fermi
nvc0: fix sequence field init for MP counters on Fermi
nvc0: allow to use 8 MP counters on Fermi
nvc0: fix queries which use multiple MP counters on Fermi
nvc0: fix monitoring multiple MP counters queries on Fermi
nvc0: fix unaligned mem access when reading MP counters on Fermi
nvc0: store the number of GPCs to nvc0_screen
nvc0: read MP counters of all GPCs on Fermi
nvc0: allow only one active query for the MP counters group
nvc0: enable compute support by default on Fermi
nvc0: move SW/HW queries info to their respective files
nvc0: add MP counters variants for GF100/GF110
nvc0: add a note about MP counters on GF100/GF110
src/gallium/drivers/nouveau/nvc0/nvc0_query.c | 208 +-----
src/gallium/drivers/nouveau/nvc0/nvc0_query_hw.c | 14 +
src/gallium/drivers/nouveau/nvc0/nvc0_query_hw.h | 3 +
.../drivers/nouveau/nvc0/nvc0_query_hw_sm.c | 809 ++++++++++++++++++---
.../drivers/nouveau/nvc0/nvc0_query_hw_sm.h | 7 +-
src/gallium/drivers/nouveau/nvc0/nvc0_query_sw.c | 64 ++
src/gallium/drivers/nouveau/nvc0/nvc0_query_sw.h | 3 +
src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 8 +-
src/gallium/drivers/nouveau/nvc0/nvc0_screen.h | 1 +
9 files changed, 834 insertions(+), 283 deletions(-)
More information about the mesa-dev