diff options
author | Brian Paul <brianp@vmware.com> | 2009-10-01 13:35:42 -0600 |
---|---|---|
committer | Brian Paul <brianp@vmware.com> | 2009-10-01 13:35:42 -0600 |
commit | 5d2413fca4c252ec5c7880fa7f983b5df3d762ba (patch) | |
tree | 28d9fb9fc5724b65579f06fc9258461f9c7fc47f /src/mesa/drivers/dri/intel | |
parent | 15c57648cd87d344777e3aafa79a9be970b83979 (diff) | |
parent | 18883cdf2334511005973155fc517eb678dc0043 (diff) |
Merge branch 'mesa_7_6_branch'
Diffstat (limited to 'src/mesa/drivers/dri/intel')
-rw-r--r-- | src/mesa/drivers/dri/intel/intel_mipmap_tree.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/intel/intel_mipmap_tree.c b/src/mesa/drivers/dri/intel/intel_mipmap_tree.c index c985da5aa2..4f5101a312 100644 --- a/src/mesa/drivers/dri/intel/intel_mipmap_tree.c +++ b/src/mesa/drivers/dri/intel/intel_mipmap_tree.c @@ -29,6 +29,9 @@ #include "intel_mipmap_tree.h" #include "intel_regions.h" #include "intel_chipset.h" +#ifndef I915 +#include "brw_state.h" +#endif #include "main/enums.h" #define FILE_DEBUG_FLAG DEBUG_MIPTREE @@ -269,6 +272,19 @@ intel_miptree_release(struct intel_context *intel, DBG("%s deleting %p\n", __FUNCTION__, *mt); +#ifndef I915 + /* Free up cached binding tables holding a reference on our buffer, to + * avoid excessive memory consumption. + * + * This isn't as aggressive as we could be, as we'd like to do + * it from any time we free the last ref on a region. But intel_region.c + * is context-agnostic. Perhaps our constant state cache should be, as + * well. + */ + brw_state_cache_bo_delete(&brw_context(&intel->ctx)->surface_cache, + (*mt)->region->buffer); +#endif + intel_region_release(&((*mt)->region)); for (i = 0; i < MAX_TEXTURE_LEVELS; i++) |