pipebuffer: New function to flush the buffer cache.
authorJosé Fonseca <jrfonseca@tungstengraphics.com>
Wed, 23 Apr 2008 16:59:57 +0000 (01:59 +0900)
committerJosé Fonseca <jrfonseca@tungstengraphics.com>
Wed, 23 Apr 2008 17:13:41 +0000 (02:13 +0900)
src/gallium/auxiliary/pipebuffer/pb_bufmgr.h
src/gallium/auxiliary/pipebuffer/pb_bufmgr_cache.c

index 96f9af3825fa33883b3a7ad247108d9ec5ea65e8..8de286e3f945d69483a37ddf9c800224285b6bc1 100644 (file)
@@ -144,6 +144,9 @@ struct pb_manager *
 pb_cache_manager_create(struct pb_manager *provider, 
                        unsigned usecs); 
 
+void
+pb_cache_flush(struct pb_manager *mgr);
+
 
 /** 
  * Fenced buffer manager.
index 543fd51253cce899be33a157b289e3aa6d73a7f4..4bd3f94a6c0e89850fa18c9c642d395436fa2667 100644 (file)
@@ -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);
 }