From: Tom Stellard <thomas.stell...@amd.com> When adding a new buffer to the beginning of the memory pool, we were accidentally deleting the buffer that was first in the buffer list. This was caused by a bug in the memory pool's linked list implementation. --- src/gallium/drivers/r600/compute_memory_pool.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/src/gallium/drivers/r600/compute_memory_pool.c b/src/gallium/drivers/r600/compute_memory_pool.c index 454af90..4846bfe 100644 --- a/src/gallium/drivers/r600/compute_memory_pool.c +++ b/src/gallium/drivers/r600/compute_memory_pool.c @@ -337,14 +337,9 @@ void compute_memory_finalize_pending(struct compute_memory_pool* pool, } } else { /* Add item to the front of the list */ - item->next = pool->item_list->next; - if (pool->item_list->next) { - pool->item_list->next->prev = item; - } + item->next = pool->item_list; item->prev = pool->item_list->prev; - if (pool->item_list->prev) { - pool->item_list->prev->next = item; - } + pool->item_list->prev = item; pool->item_list = item; } } -- 1.7.11.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev