radeonsi: put up to 5 VBO descriptors into user SGPRs

Graphics / Mesa 3D Graphics Library / Mesa - Marek Olšák [amd.com] - 13 January 2020 20:57 UTC

gfx6-8: 1 VBO descriptor in user SGPRs gfx9-10: 5 VBO descriptors in user SGPRs

We no longer pull up to 5 VBO descriptors from GTT when SDMA is disabled.

Totals from affected shaders: SGPRS: 1110528 -> 1170528 (5.40 %)
VGPRS: 952896 -> 951936 (-0.10 %) Spilled SGPRs: 83 -> 61 (-26.51 %) Spilled VGPRs: 0 -> 0 (0.00 %) Private memory VGPRs: 0 -> 0 (0.00 %) Scratch size: 0 -> 0 (0.00 %) dwords per thread Code Size: 23766296 -> 22843920 (-3.88 %) bytes LDS: 0 -> 0 (0.00 %) blocks Max Waves: 179344 -> 179344 (0.00 %) Wait states: 0 -> 0 (0.00 %)

363b4027fcb radeonsi: put up to 5 VBO descriptors into user SGPRs
src/gallium/drivers/radeonsi/si_blit.c | 1 +
src/gallium/drivers/radeonsi/si_descriptors.c | 78 +++++++++++++++--------
src/gallium/drivers/radeonsi/si_pipe.c | 2 +
src/gallium/drivers/radeonsi/si_pipe.h | 13 ++--
src/gallium/drivers/radeonsi/si_shader.c | 59 +++++++++++------
src/gallium/drivers/radeonsi/si_shader.h | 6 ++
src/gallium/drivers/radeonsi/si_shader_internal.h | 1 +
src/gallium/drivers/radeonsi/si_state.c | 17 ++++-
src/gallium/drivers/radeonsi/si_state_draw.c | 1 +
src/gallium/drivers/radeonsi/si_state_shaders.c | 32 ++++++++--
10 files changed, 148 insertions(+), 62 deletions(-)

Upstream: cgit.freedesktop.org


  • Share