xf86-video-intel: 2 commits - src/sna/sna_video_hwmc.c src/sna/sna_video_textured.c

Chris Wilson ickle at kemper.freedesktop.org
Fri Jan 27 02:34:21 PST 2012


 src/sna/sna_video_hwmc.c     |    5 +----
 src/sna/sna_video_textured.c |   25 ++++++++++++++++++-------
 2 files changed, 19 insertions(+), 11 deletions(-)

New commits:
commit 86f1ae9164a94323c08e1dc6cb301e5bc1126b10
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Fri Jan 27 10:26:11 2012 +0000

    sna/video: Add some more DBG breadcrumbs to the textured PutImage
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/sna/sna_video_textured.c b/src/sna/sna_video_textured.c
index fcef820..09f1551 100644
--- a/src/sna/sna_video_textured.c
+++ b/src/sna/sna_video_textured.c
@@ -229,6 +229,12 @@ sna_video_textured_put_image(ScrnInfoPtr scrn,
 	Bool flush = false;
 	Bool ret;
 
+	DBG(("%s: src=(%d, %d),(%d, %d), dst=(%d, %d),(%d, %d), id=%d, sizep=%dx%d, sync?=%d\n",
+	     __FUNCTION__,
+	     src_x, src_y, src_w, src_h,
+	     drw_x, drw_y, drw_w, drw_h,
+	     id, width, height, sync));
+
 	if (buf == 0)
 		return BadAlloc;
 
@@ -245,6 +251,9 @@ sna_video_textured_put_image(ScrnInfoPtr scrn,
 		return Success;
 
 	if (xvmc_passthrough(id)) {
+		DBG(("%s: using passthough, name=%d\n",
+		     __FUNCTION__, *(uint32_t *)buf));
+
 		if (sna->kgem.gen < 31) {
 			/* XXX: i915 is not support and needs some
 			 * serious care.  grep for KMS in i915_hwmc.c */
@@ -254,6 +263,8 @@ sna_video_textured_put_image(ScrnInfoPtr scrn,
 		frame.bo = kgem_create_for_name(&sna->kgem, *(uint32_t*)buf);
 		if (frame.bo == NULL)
 			return BadAlloc;
+
+		assert(frame.bo->size >= frame.size);
 	} else {
 		frame.bo = kgem_create_linear(&sna->kgem, frame.size);
 		if (frame.bo == NULL)
@@ -270,16 +281,16 @@ sna_video_textured_put_image(ScrnInfoPtr scrn,
 					      &clip->extents);
 
 	ret = Success;
-	if (!sna->render.video(sna, video, &frame, clip,
-			       src_w, src_h,
-			       drw_w, drw_h,
-			       pixmap))
+	if (sna->render.video(sna, video, &frame, clip,
+			      src_w, src_h,
+			      drw_w, drw_h,
+			      pixmap))
+		DamageDamageRegion(drawable, clip);
+	else
 		ret = BadAlloc;
 
 	kgem_bo_destroy(&sna->kgem, frame.bo);
 
-	DamageDamageRegion(drawable, clip);
-
 	/* Push the frame to the GPU as soon as possible so
 	 * we can hit the next vsync.
 	 */
commit ce1cae7f4715fc8e14327c5b705d9f2cc45a3741
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Fri Jan 27 00:37:51 2012 +0000

    sna/video: Simplify the gen2/915gm check
    
    And make the later check in put image match.
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/sna/sna_video_hwmc.c b/src/sna/sna_video_hwmc.c
index 3da7d3a..1f36096 100644
--- a/src/sna/sna_video_hwmc.c
+++ b/src/sna/sna_video_hwmc.c
@@ -196,10 +196,7 @@ Bool sna_video_xvmc_setup(struct sna *sna,
 	char buf[64];
 
 	/* Needs KMS support. */
-	if (IS_I915G(sna) || IS_I915GM(sna))
-		return FALSE;
-
-	if (IS_GEN2(sna))
+	if (sna->kgem.gen < 31)
 		return FALSE;
 
 	pAdapt = calloc(1, sizeof(XF86MCAdaptorRec));
diff --git a/src/sna/sna_video_textured.c b/src/sna/sna_video_textured.c
index a72d335..fcef820 100644
--- a/src/sna/sna_video_textured.c
+++ b/src/sna/sna_video_textured.c
@@ -245,7 +245,7 @@ sna_video_textured_put_image(ScrnInfoPtr scrn,
 		return Success;
 
 	if (xvmc_passthrough(id)) {
-		if (sna->kgem.gen == 30) {
+		if (sna->kgem.gen < 31) {
 			/* XXX: i915 is not support and needs some
 			 * serious care.  grep for KMS in i915_hwmc.c */
 			return BadAlloc;


More information about the xorg-commit mailing list