radeonsi: upload new descriptors when resident buffers are invalidated
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Thu, 18 May 2017 21:51:26 +0000 (23:51 +0200)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Wed, 14 Jun 2017 08:04:36 +0000 (10:04 +0200)
commit811756dfd0779187c205f1e89c0d014d29f60866
tree71bdd141f01798d80bdb36cb322267aa94455e78
parent48fe8a6210c808669bf003b62a735c6fb4bd8742
radeonsi: upload new descriptors when resident buffers are invalidated

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.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
src/gallium/drivers/radeon/r600_pipe_common.h
src/gallium/drivers/radeonsi/si_descriptors.c
src/gallium/drivers/radeonsi/si_pipe.h