xf86-video-intel: src/intel_uxa.c

Chris Wilson ickle at kemper.freedesktop.org
Thu Sep 6 03:09:20 PDT 2012


 src/intel_uxa.c |    4 ++++
 1 file changed, 4 insertions(+)

New commits:
commit 031fa1c1c1129e486a02ffb5b3b9071f03b60048
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Thu Sep 6 11:08:23 2012 +0100

    uxa/prime: Mark the pixmap as pinned once exported (similar to flink)
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/intel_uxa.c b/src/intel_uxa.c
index 452db6e..2148102 100644
--- a/src/intel_uxa.c
+++ b/src/intel_uxa.c
@@ -1191,6 +1191,9 @@ intel_uxa_share_pixmap_backing(PixmapPtr ppix, ScreenPtr slave, void **fd_handle
 	drm_intel_bo_get_tiling(bo, &tiling, &swizzle);
 
 	if (tiling == I915_TILING_X) {
+		if (priv->pinned)
+			return FALSE;
+
 	        tiling = I915_TILING_NONE;
 
 		size = intel_uxa_pixmap_compute_size(ppix, ppix->drawable.width, ppix->drawable.height, &tiling, &stride, INTEL_CREATE_PIXMAP_DRI2);
@@ -1212,6 +1215,7 @@ intel_uxa_share_pixmap_backing(PixmapPtr ppix, ScreenPtr slave, void **fd_handle
 	}
 	drm_intel_bo_get_tiling(bo, &tiling, &swizzle);
 	drm_intel_bo_gem_export_to_prime(bo, &handle);
+	priv->pinned = 1;
 
 	*fd_handle = (void *)(long)handle;
 	return TRUE;


More information about the xorg-commit mailing list