virgl: also destroy all read-transfers
authorErik Faye-Lund <erik.faye-lund@collabora.com>
Tue, 2 Apr 2019 08:48:30 +0000 (10:48 +0200)
committerErik Faye-Lund <erik.faye-lund@collabora.com>
Wed, 3 Apr 2019 16:59:23 +0000 (18:59 +0200)
commitb85ca86c1eb2cd095351196cd3a3eb7c1ff4184a
tree59b06e58cff4c56b76e9c0392ce0591df2baebc8
parent4c332a1f9fa60fe0e587a07b7265766ed136e5ea
virgl: also destroy all read-transfers

For texture write-transfers, we either free them on the transfer-queue
or right away. But for read-transfers, we currently only destroy them in
case they used a temp-resource. This leads to occasional resource-leaks.

Let's add a call to virgl_resource_destroy_transfer in the missing case.

Do the same thing for buffers as well, but the logic is a bit easier to
follow there.

Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Fixes: f0e71b10888 ("virgl: use transfer queue")
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
src/gallium/drivers/virgl/virgl_buffer.c
src/gallium/drivers/virgl/virgl_texture.c