radeonsi: add missing initialization for userptr buffers
authorNicolai Hähnle <nicolai.haehnle@amd.com>
Wed, 12 Apr 2017 15:05:56 +0000 (17:05 +0200)
committerNicolai Hähnle <nicolai.haehnle@amd.com>
Fri, 14 Apr 2017 21:23:04 +0000 (23:23 +0200)
commit39f51b5db9404b166fa7c1845a348f427c03a8f1
treeb12c621046834c1026313cdc487ad14fe6ec1f55
parentc1dd5d0b01e7d4a74b408ad834f84d1914779a44
radeonsi: add missing initialization for userptr buffers

Fix the accounting for memory usage of userptr buffers, which has been wrong
forever (or at least for a long time).

Also initialize flags. Without this initialization, the sparse buffer flag
might end up being set, which leads to staging buffers being used unnecessarily
(and incorrectly) in transfers to or from userptr buffers.

This works around VM faults that occur with the radeon kernel module when
running piglit ./bin/amd_pinned_memory decrement-offset map-buffer -auto

Fixes: e077c5fe6579 ("gallium/radeon: transfers and invalidation for sparse buffers")
Reported-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
src/gallium/drivers/radeon/r600_buffer_common.c