vk/allocator: Add support for valgrind tracking of state pools and streams
authorJason Ekstrand <jason.ekstrand@intel.com>
Mon, 18 May 2015 19:06:02 +0000 (12:06 -0700)
committerJason Ekstrand <jason.ekstrand@intel.com>
Mon, 18 May 2015 22:58:20 +0000 (15:58 -0700)
commit4063b7deb8f1d0c4f675d7e503be384fb60ee2d1
tree295f37c349cdf233c0100979686ea650d9032c38
parentb6ab076d6b7dd91ce0dda8741ba974b2402fa726
vk/allocator: Add support for valgrind tracking of state pools and streams

We leave the block pool untracked so that reads/writes to freed blocks
will get caught and do the tracking at the state pool/stream level.  We
have to do a few extra gymnastics for streams because valgrind works in
terms of poitners and we work in terms of separate map and offset.
Fortunately, the users of the state pool and stream should always be using
the map pointer provided in the anv_state structure.  We just have to
track, per block, the map that was used when we initially got the block.
Then we can make sure we always use that map and valgrind should stay
happy.
src/vulkan/allocator.c