summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/pipebuffer/pb_bufmgr_cache.c
diff options
context:
space:
mode:
authorBen Skeggs <skeggsb@gmail.com>2008-04-27 18:04:50 +1000
committerBen Skeggs <skeggsb@gmail.com>2008-04-27 18:04:50 +1000
commit0cca90cea1dbe1a76dbf9ac1985c3676ec460b0a (patch)
tree6e496a5d77d13a9f1679006c3c5334e0b8d889f4 /src/gallium/auxiliary/pipebuffer/pb_bufmgr_cache.c
parent7342688286cc3b7c938af2dfeac22df4fa8c8464 (diff)
parenta8e39b6f5a1fedf2f8719e1adb8802ebbfc09688 (diff)
Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1
Diffstat (limited to 'src/gallium/auxiliary/pipebuffer/pb_bufmgr_cache.c')
-rw-r--r--src/gallium/auxiliary/pipebuffer/pb_bufmgr_cache.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/gallium/auxiliary/pipebuffer/pb_bufmgr_cache.c b/src/gallium/auxiliary/pipebuffer/pb_bufmgr_cache.c
index 543fd51253..4bd3f94a6c 100644
--- a/src/gallium/auxiliary/pipebuffer/pb_bufmgr_cache.c
+++ b/src/gallium/auxiliary/pipebuffer/pb_bufmgr_cache.c
@@ -294,8 +294,8 @@ pb_cache_manager_create_buffer(struct pb_manager *_mgr,
}
-static void
-pb_cache_manager_destroy(struct pb_manager *_mgr)
+void
+pb_cache_flush(struct pb_manager *_mgr)
{
struct pb_cache_manager *mgr = pb_cache_manager(_mgr);
struct list_head *curr, *next;
@@ -311,7 +311,13 @@ pb_cache_manager_destroy(struct pb_manager *_mgr)
next = curr->next;
}
_glthread_UNLOCK_MUTEX(mgr->mutex);
-
+}
+
+
+static void
+pb_cache_manager_destroy(struct pb_manager *mgr)
+{
+ pb_cache_flush(mgr);
FREE(mgr);
}