[Mesa-dev] [PATCH 00/14] st/mesa: accelerate glReadPixels PBO downloads

Nicolai Hähnle nhaehnle at gmail.com
Wed May 18 15:25:30 UTC 2016


Hi,

this series makes the existing PBO texture upload code symmetric, adding a
download path that uses shader images a no-attachment framebuffers. This
should help performance by reducing stalls in several games, including
GRID: Autosport (verified with an apitrace), Metro 2033 Redux, and likely
others.

It should be possible to extend the framework to glGetTexImage without much
effort, but I wanted to get out what I have so far. Tested with Piglit on
radeonsi, including some more extensive local tests that I have yet to clean
up.

Please review!

Thanks,
Nicolai
--
 .../auxiliary/cso_cache/cso_context.c        |  39 ++
 .../auxiliary/cso_cache/cso_context.h        |   9 +
 src/gallium/auxiliary/util/u_inlines.h       |  15 +-
 src/gallium/include/pipe/p_defines.h         |   1 +
 src/mesa/Makefile.sources                    |   2 +
 src/mesa/state_tracker/st_atom_image.c       |   9 +-
 src/mesa/state_tracker/st_cb_readpixels.c    | 193 +++++-
 src/mesa/state_tracker/st_cb_texture.c       | 488 ++------------
 src/mesa/state_tracker/st_cb_texture.h       |   6 -
 src/mesa/state_tracker/st_context.c          |   5 +-
 src/mesa/state_tracker/st_context.h          |  12 +-
 src/mesa/state_tracker/st_pbo.c              | 598 +++++++++++++++++
 src/mesa/state_tracker/st_pbo.h              |  99 +++
 13 files changed, 996 insertions(+), 480 deletions(-)



More information about the mesa-dev mailing list