anv/allocator: Add a sanity assertion in state stream finish.

We assert that the block offset we got while walking the list of blocks is
actually a multiple of the block size.  If something goes wrong and the GPU
decides to stomp on the surface state buffer we can end up getting
corruptions in our list of blocks.  This assertion makes such corruptions a
crash with a meaningful message rather than an infinite loop.
This commit is contained in:
Jason Ekstrand 2015-10-02 16:24:42 -07:00
parent 002e7b0cc3
commit 10f97718c3
1 changed files with 1 additions and 0 deletions

View File

@ -697,6 +697,7 @@ anv_state_stream_finish(struct anv_state_stream *stream)
block = stream->current_block;
while (block != NULL_BLOCK) {
assert(block % stream->block_pool->block_size == 0);
sb = stream->block_pool->map + block;
next_block = VG_NOACCESS_READ(&sb->next);
VG(VALGRIND_MEMPOOL_FREE(stream, VG_NOACCESS_READ(&sb->_vg_ptr)));