[Mesa-dev] [PATCH 0/7] nvc0: various perf improvements for Elemental

Samuel Pitoiset samuel.pitoiset at gmail.com
Tue Oct 25 19:41:09 UTC 2016


Hi,

This little series tries to improve performance with the Elemental
demo (Unreal) and I actually have +6% FPS on both Fermi/Kepler. It's
not THAT much, but few weeks ago I also improved that demo by +15%.
But this time I looked mostly into the draw path and the invalidation
between compute and 3d instead of writing compiler optimizations.

I didn't see any regressions with full piglit on GK110, but I will
launch a new one on Fermi.

Please review,
Thanks!

Samuel Pitoiset (7):
  nvc0: reduce the number of PUSH_SPACE in draw path
  nvc0: only update primitive restart for indexed draws
  nvc0: simplify draw parameters upload for vertex shaders
  nvc0: be smarter when invalidating shader caches
  nvc0: clean nve4_compute_validate_textures()
  nvc0: only invalidate currently bound tic/tsc
  nvc0: add support for PIPE_CAP_SURFACE_REINTERPRET_BLOCKS

 src/gallium/drivers/nouveau/nv50/nv50_miptree.c  | 13 +++++++----
 src/gallium/drivers/nouveau/nv50/nv50_resource.h |  3 ++-
 src/gallium/drivers/nouveau/nvc0/nvc0_compute.c  | 11 +++++----
 src/gallium/drivers/nouveau/nvc0/nvc0_miptree.c  |  6 +++--
 src/gallium/drivers/nouveau/nvc0/nvc0_program.c  |  2 +-
 src/gallium/drivers/nouveau/nvc0/nvc0_resource.c | 27 +++++++++++++++++++++-
 src/gallium/drivers/nouveau/nvc0/nvc0_resource.h |  3 ++-
 src/gallium/drivers/nouveau/nvc0/nvc0_screen.c   |  2 +-
 src/gallium/drivers/nouveau/nvc0/nvc0_surface.c  |  7 +++++-
 src/gallium/drivers/nouveau/nvc0/nvc0_tex.c      | 14 ++++++++----
 src/gallium/drivers/nouveau/nvc0/nvc0_vbo.c      | 29 +++++++++++-------------
 src/gallium/drivers/nouveau/nvc0/nve4_compute.c  | 28 +++++++++--------------
 12 files changed, 92 insertions(+), 53 deletions(-)

-- 
2.10.1



More information about the mesa-dev mailing list