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

Chris Wilson ickle at kemper.freedesktop.org
Thu Jul 26 07:20:37 PDT 2012


 src/sna/sna_display.c        |    2 +-
 src/sna/sna_dri.c            |   20 +++++++++-----------
 src/sna/sna_video_textured.c |    2 +-
 3 files changed, 11 insertions(+), 13 deletions(-)

New commits:
commit c621183466aa55a5938027b702069e792df2272d
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Thu Jul 26 15:18:56 2012 +0100

    sna/dri: Tidy fallback/normal CopyRegion
    
    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 6a4a454..d647c02 100644
--- a/src/sna/sna_dri.c
+++ b/src/sna/sna_dri.c
@@ -578,8 +578,6 @@ sna_dri_copy_to_front(struct sna *sna, DrawablePtr draw, RegionPtr region,
 		get_drawable_deltas(draw, pixmap, &dx, &dy);
 	}
 
-	sna_dri_select_mode(sna, src_bo, flush);
-
 	damage(pixmap, region);
 	if (region) {
 		boxes = REGION_RECTS(region);
@@ -596,16 +594,18 @@ sna_dri_copy_to_front(struct sna *sna, DrawablePtr draw, RegionPtr region,
 				      dst_bo, dx, dy,
 				      boxes, n);
 	} else {
+		sna_dri_select_mode(sna, src_bo, flush);
+
 		sna->render.copy_boxes(sna, GXcopy,
 				       (PixmapPtr)draw, src_bo, -draw->x, -draw->y,
 				       pixmap, dst_bo, dx, dy,
 				       boxes, n, COPY_LAST);
-	}
 
-	DBG(("%s: flushing? %d\n", __FUNCTION__, flush));
-	if (flush) { /* STAT! */
-		kgem_submit(&sna->kgem);
-		bo = kgem_get_last_request(&sna->kgem);
+		DBG(("%s: flushing? %d\n", __FUNCTION__, flush));
+		if (flush) { /* STAT! */
+			kgem_submit(&sna->kgem);
+			bo = kgem_get_last_request(&sna->kgem);
+		}
 	}
 
 	pixman_region_translate(region, dx, dy);
@@ -670,8 +670,6 @@ sna_dri_copy_from_front(struct sna *sna, DrawablePtr draw, RegionPtr region,
 		get_drawable_deltas(draw, pixmap, &dx, &dy);
 	}
 
-	sna_dri_select_mode(sna, src_bo, false);
-
 	if (region) {
 		boxes = REGION_RECTS(region);
 		n = REGION_NUM_RECTS(region);
@@ -688,6 +686,7 @@ sna_dri_copy_from_front(struct sna *sna, DrawablePtr draw, RegionPtr region,
 				      dst_bo, -draw->x, -draw->y,
 				      boxes, n);
 	} else {
+		sna_dri_select_mode(sna, src_bo, false);
 		sna->render.copy_boxes(sna, GXcopy,
 				       pixmap, src_bo, dx, dy,
 				       (PixmapPtr)draw, dst_bo, -draw->x, -draw->y,
@@ -730,14 +729,13 @@ sna_dri_copy(struct sna *sna, DrawablePtr draw, RegionPtr region,
 		n = 1;
 	}
 
-	sna_dri_select_mode(sna, src_bo, false);
-
 	if (wedged(sna)) {
 		sna_dri_copy_fallback(sna, draw->bitsPerPixel,
 				      src_bo, 0, 0,
 				      dst_bo, 0, 0,
 				      boxes, n);
 	} else {
+		sna_dri_select_mode(sna, src_bo, false);
 		sna->render.copy_boxes(sna, GXcopy,
 				       (PixmapPtr)draw, src_bo, 0, 0,
 				       (PixmapPtr)draw, dst_bo, 0, 0,
commit 52d2491a1bafb979d79bb970027c55788f199acb
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Thu Jul 26 15:19:14 2012 +0100

    sna/video: Protect against attempting to use TexturedVideo whilst wedged
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c
index 37a5e9f..a908596 100644
--- a/src/sna/sna_display.c
+++ b/src/sna/sna_display.c
@@ -2419,7 +2419,7 @@ sna_covering_crtc(ScrnInfoPtr scrn,
 	int best_coverage, c;
 
 	/* If we do not own the VT, we do not own the CRTC either */
-	if (!scrn->vtSema || wedged(to_sna(scrn)))
+	if (!scrn->vtSema)
 		return NULL;
 
 	DBG(("%s for box=(%d, %d), (%d, %d)\n",
diff --git a/src/sna/sna_video_textured.c b/src/sna/sna_video_textured.c
index 2332ce2..27fc09f 100644
--- a/src/sna/sna_video_textured.c
+++ b/src/sna/sna_video_textured.c
@@ -235,7 +235,7 @@ sna_video_textured_put_image(ScrnInfoPtr scrn,
 		return BadAlloc;
 	}
 
-	if (!sna_pixmap_force_to_gpu(pixmap, MOVE_READ | MOVE_WRITE)) {
+	if (!sna_pixmap_move_to_gpu(pixmap, MOVE_READ | MOVE_WRITE)) {
 		DBG(("%s: attempting to render to a non-GPU pixmap\n",
 		     __FUNCTION__));
 		return BadAlloc;


More information about the xorg-commit mailing list