xf86-video-intel: src/sna/sna_dri.c

Chris Wilson ickle at kemper.freedesktop.org
Fri Jul 19 03:09:18 PDT 2013


 src/sna/sna_dri.c |   27 +++++++++++++++++++++++++--
 1 file changed, 25 insertions(+), 2 deletions(-)

New commits:
commit e9831b50b58c36af3d2dd196b3abbfaa8e9a22c6
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Fri Jul 19 10:59:03 2013 +0100

    sna/dri: Expose the refcnts in DBG before we hit the assertions
    
    Useful to try and explain some failures.
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/sna/sna_dri.c b/src/sna/sna_dri.c
index b65ebff..54ad0fe 100644
--- a/src/sna/sna_dri.c
+++ b/src/sna/sna_dri.c
@@ -215,6 +215,11 @@ sna_dri_pixmap_update_bo(struct sna *sna, PixmapPtr pixmap)
 	if (buffer == NULL)
 		return;
 
+	DBG(("%s: pixmap=%ld, old handle=%d, new handle=%d\n", __FUNCTION__,
+	     pixmap->drawable.serialNumber,
+	     get_private(buffer)->bo->handle,
+	     sna_pixmap(pixmap)->gpu_bo->handle));
+
 	private = get_private(buffer);
 	assert(private->pixmap == pixmap);
 
@@ -951,11 +956,17 @@ sna_dri_copy_region(DrawablePtr draw,
 	void (*copy)(struct sna *, DrawablePtr, RegionPtr,
 		     struct kgem_bo *, struct kgem_bo *, bool) = sna_dri_copy;
 
-	DBG(("%s: pixmap=%ld, src=%u, dst=%u\n",
+	DBG(("%s: pixmap=%ld, src=%u (refs=%d/%d, flush=%d) , dst=%u (refs=%d/%d, flush=%d)\n",
 	     __FUNCTION__,
 	     pixmap->drawable.serialNumber,
 	     get_private(src_buffer)->bo->handle,
-	     get_private(dst_buffer)->bo->handle));
+	     get_private(src_buffer)->refcnt,
+	     get_private(src_buffer)->bo->refcnt,
+	     get_private(src_buffer)->bo->flush,
+	     get_private(dst_buffer)->bo->handle,
+	     get_private(dst_buffer)->refcnt,
+	     get_private(dst_buffer)->bo->refcnt,
+	     get_private(dst_buffer)->bo->flush));
 
 	assert(get_private(src_buffer)->refcnt);
 	assert(get_private(dst_buffer)->refcnt);
@@ -2051,6 +2062,18 @@ sna_dri_schedule_swap(ClientPtr client, DrawablePtr draw, DRI2BufferPtr front,
 	enum frame_event_type swap_type = DRI2_SWAP;
 	CARD64 current_msc;
 
+	DBG(("%s: pixmap=%ld, back=%u (refs=%d/%d, flush=%d) , fron=%u (refs=%d/%d, flush=%d)\n",
+	     __FUNCTION__,
+	     get_drawable_pixmap(draw)->drawable.serialNumber,
+	     get_private(back)->bo->handle,
+	     get_private(back)->refcnt,
+	     get_private(back)->bo->refcnt,
+	     get_private(back)->bo->flush,
+	     get_private(front)->bo->handle,
+	     get_private(front)->refcnt,
+	     get_private(front)->bo->refcnt,
+	     get_private(front)->bo->flush));
+
 	DBG(("%s(target_msc=%llu, divisor=%llu, remainder=%llu)\n",
 	     __FUNCTION__,
 	     (long long)*target_msc,


More information about the xorg-commit mailing list