From e7bda844e665c56c22d6ed0d801ee670d4137b1a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Bruno=20Jim=C3=A9nez?= Date: Wed, 16 Jul 2014 23:12:46 +0200 Subject: [PATCH] r600g/compute: Quick exit if there's nothing to add to the pool This way we can avoid defragmenting the pool, even if it is needed to defragment it, and looping again through the list of unallocated items. Reviewed-by: Tom Stellard --- src/gallium/drivers/r600/compute_memory_pool.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/gallium/drivers/r600/compute_memory_pool.c b/src/gallium/drivers/r600/compute_memory_pool.c index b158f5e36be..75a8bd30dd7 100644 --- a/src/gallium/drivers/r600/compute_memory_pool.c +++ b/src/gallium/drivers/r600/compute_memory_pool.c @@ -262,6 +262,10 @@ int compute_memory_finalize_pending(struct compute_memory_pool* pool, unallocated += align(item->size_in_dw, ITEM_ALIGNMENT); } + if (unallocated == 0) { + return 0; + } + if (pool->status & POOL_FRAGMENTED) { compute_memory_defrag(pool, pipe); } -- 2.30.2