pipebuffer: Be more lenient when matching cached buffer sizes.
authorJosé Fonseca <jrfonseca@tungstengraphics.com>
Mon, 9 Jun 2008 09:49:13 +0000 (18:49 +0900)
committerJosé Fonseca <jrfonseca@tungstengraphics.com>
Mon, 9 Jun 2008 23:37:38 +0000 (08:37 +0900)
Reuse cached buffers up to twice as big a requested.

src/gallium/auxiliary/pipebuffer/pb_bufmgr_cache.c

index 4bd3f94a6c0e89850fa18c9c642d395436fa2667..f1a457dde4dde0030b1e1c51880518e566510315 100644 (file)
@@ -207,8 +207,11 @@ pb_cache_is_buffer_compat(struct pb_cache_buffer *buf,
                           size_t size,
                           const struct pb_desc *desc)
 {
-   /* TODO: be more lenient with size */
-   if(buf->base.base.size != size)
+   if(buf->base.base.size < size)
+      return FALSE;
+
+   /* be lenient with size */
+   if(buf->base.base.size >= 2*size)
       return FALSE;
    
    if(!pb_check_alignment(desc->alignment, buf->base.base.alignment))