radeonsi: upload new descriptors when resident buffers are invalidated

Graphics / Mesa 3D Graphics Library / Mesa - Samuel Pitoiset [gmail.com] - 14 June 2017 04:04 EDT

When texture buffers are invalidated the addr in the resident descriptor has to be updated but we can't create a new descriptor because the resident handle has to be the same.

Instead, use the WRITE_DATA packet which allows to update memory directly but graphics/compute have to be idle in case the GPU is reading the descriptor.

811756d radeonsi: upload new descriptors when resident buffers are invalidated
src/gallium/drivers/radeon/r600_pipe_common.h | 4 +
src/gallium/drivers/radeonsi/si_descriptors.c | 145 ++++++++++++++++++++++++++
src/gallium/drivers/radeonsi/si_pipe.h | 3 +
3 files changed, 152 insertions(+)

Upstream: cgit.freedesktop.org


  • Share