[Mesa-dev] [PATCH v2 00/15] GL_AMD_performance_monitor

Samuel Pitoiset samuel.pitoiset at gmail.com
Sun Mar 22 08:35:34 PDT 2015


Hello,

A series I have waited too long to re-submit, but I recently refactored the
code and fixed some minor issues.

This patchset enables GL_AMD_performance_monitor for svga, freedreno, r600,
radeonsi and nvc0 drivers.

This code has been tested with Nouveau (NVD9 and NVE7) but it should also work
with other drivers. All piglit tests, including API and measurement tests are
okay.

Feel free to make a review.

Changes since v1:

* add PIPE_DRIVER_QUERY_TYPE_BYTES (PATCH 02/15)
* rebased on master since galahad driver has been removed

Christoph Bumiller (1):
  st/mesa: implement GL_AMD_performance_monitor

Samuel Pitoiset (14):
  gallium: add pipe_screen::get_driver_query_group_info
  gallium: add new fields to pipe_driver_query_info
  gallium: add new numeric types to pipe_query_result
  gallium: replace pipe_driver_query_info::max_value by a union
  gallium: make pipe_context::begin_query return a boolean
  gallium: add util_get_driver_query_group_info
  svga: implement pipe_screen::get_driver_query_group_info
  freedreno: implement pipe_screen::get_driver_query_group_info
  radeon: implement pipe_screen::get_driver_query_group_info
  nvc0: implement pipe_screen::get_driver_query_group_info
  docs: mark GL_AMD_performance_monitor for the 10.6.0 release
  nvc0: expose more driver-specific query groups
  nvc0: make begin_query return false when all MP counters are used
  nvc0: all queries use an unsigned 64-bits integer by default

 docs/relnotes/10.6.0.html                          |   1 +
 src/gallium/auxiliary/Makefile.sources             |   1 +
 src/gallium/auxiliary/hud/hud_driver_query.c       |   5 +-
 src/gallium/auxiliary/util/u_query.c               |  50 +++
 src/gallium/auxiliary/util/u_query.h               |  45 ++
 src/gallium/docs/source/screen.rst                 |  10 +
 src/gallium/drivers/freedreno/freedreno_query.c    |  25 +-
 src/gallium/drivers/freedreno/freedreno_query.h    |   3 +-
 src/gallium/drivers/freedreno/freedreno_query_hw.c |   3 +-
 src/gallium/drivers/freedreno/freedreno_query_sw.c |   3 +-
 src/gallium/drivers/i915/i915_query.c              |   3 +-
 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      | 100 ++++-
 src/gallium/drivers/nouveau/nvc0/nvc0_screen.c     |   1 +
 src/gallium/drivers/nouveau/nvc0/nvc0_screen.h     |  14 +
 src/gallium/drivers/r300/r300_query.c              |   9 +-
 src/gallium/drivers/radeon/r600_pipe_common.c      |  25 +-
 src/gallium/drivers/radeon/r600_pipe_common.h      |   1 +
 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_context.h            |   1 +
 src/gallium/drivers/svga/svga_pipe_query.c         |   3 +-
 src/gallium/drivers/svga/svga_screen.c             |  17 +-
 src/gallium/drivers/trace/tr_context.c             |   6 +-
 src/gallium/include/pipe/p_context.h               |   2 +-
 src/gallium/include/pipe/p_defines.h               |  36 +-
 src/gallium/include/pipe/p_screen.h                |  11 +
 src/mesa/Makefile.sources                          |   2 +
 src/mesa/state_tracker/st_cb_perfmon.c             | 455 +++++++++++++++++++++
 src/mesa/state_tracker/st_cb_perfmon.h             |  70 ++++
 src/mesa/state_tracker/st_context.c                |   4 +
 src/mesa/state_tracker/st_extensions.c             |   3 +
 37 files changed, 887 insertions(+), 66 deletions(-)
 create mode 100644 src/gallium/auxiliary/util/u_query.c
 create mode 100644 src/gallium/auxiliary/util/u_query.h
 create mode 100644 src/mesa/state_tracker/st_cb_perfmon.c
 create mode 100644 src/mesa/state_tracker/st_cb_perfmon.h

-- 
2.3.3



More information about the mesa-dev mailing list