i830: Do not cache in-flight non-reusable buffers.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
Chris Wilson 2010-05-11 14:52:54 +01:00
parent f1048e14d5
commit ad8af95dd3
1 changed files with 8 additions and 1 deletions

View File

@ -556,8 +556,15 @@ void i830_set_pixmap_bo(PixmapPtr pixmap, dri_bo * bo)
priv = i830_get_pixmap_intel(pixmap);
if (priv == NULL && bo == NULL)
return;
if (priv != NULL) {
if (list_is_empty(&priv->batch)) {
if (priv->bo == bo)
return;
if (list_is_empty(&priv->batch) ||
!drm_intel_bo_is_reusable(priv->bo)) {
dri_bo_unreference(priv->bo);
} else {
list_add(&priv->in_flight, &intel->in_flight);