[cairo-commit] src/drm

Chris Wilson ickle at kemper.freedesktop.org
Thu Jan 28 05:24:20 PST 2010


 src/drm/cairo-drm-i915-glyphs.c |    2 +-
 src/drm/cairo-drm-intel.c       |    3 +++
 2 files changed, 4 insertions(+), 1 deletion(-)

New commits:
commit 5f0a0088af784157d8efe149ed073c8fa010e648
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Thu Jan 28 13:23:39 2010 +0000

    drm-intel: Unmap a full glyph cache.
    
    When we swap a full glyph cache for a fresh one, be sure to unmap the
    old one prior to release.

diff --git a/src/drm/cairo-drm-i915-glyphs.c b/src/drm/cairo-drm-i915-glyphs.c
index babd59e..f85e96d 100644
--- a/src/drm/cairo-drm-i915-glyphs.c
+++ b/src/drm/cairo-drm-i915-glyphs.c
@@ -461,8 +461,8 @@ i915_surface_glyphs (void			*abstract_surface,
 	    if (unlikely (status))
 		goto FINISH;
 	}
-	glyph = intel_glyph_pin (scaled_glyph->surface_private);
 
+	glyph = intel_glyph_pin (scaled_glyph->surface_private);
 	if (glyph->cache->buffer.bo != last_bo) {
 	    intel_buffer_cache_t *cache = glyph->cache;
 
diff --git a/src/drm/cairo-drm-intel.c b/src/drm/cairo-drm-intel.c
index 984dcd8..334c07c 100644
--- a/src/drm/cairo-drm-intel.c
+++ b/src/drm/cairo-drm-intel.c
@@ -1182,6 +1182,9 @@ intel_get_glyph (intel_device_t *device,
 
 	assert (cache->buffer.bo->exec != NULL);
 
+	if (cache->buffer.bo->virtual != NULL)
+	    intel_bo_unmap (cache->buffer.bo);
+
 	_cairo_rtree_reset (&cache->rtree);
 	intel_bo_destroy (device, cache->buffer.bo);
 	cache->buffer.bo = NULL;


More information about the cairo-commit mailing list