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(-) _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev