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

Chris Wilson ickle at kemper.freedesktop.org
Fri Apr 13 09:43:53 UTC 2018


 src/sna/sna_display.c |   12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

New commits:
commit 16820c4bfcfcdfad7c787bc4d04e03f08ee8f80a
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Fri Apr 13 10:40:45 2018 +0100

    sna: Handle wedged devices during sna_crtc_redisplay
    
    If the device is already wedged (no GPU), jump straight to the swrast
    path for performing the per-crtc transformations.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105420
    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 cf5a96f5..62cd3ab5 100644
--- a/src/sna/sna_display.c
+++ b/src/sna/sna_display.c
@@ -8816,7 +8816,8 @@ sna_crtc_redisplay(xf86CrtcPtr crtc, RegionPtr region, struct kgem_bo *bo)
 	     region->extents.x2, region->extents.y2,
 	     region_num_rects(region)));
 
-	assert(!wedged(sna));
+	if (wedged(sna))
+		goto fallback;
 
 	if (priv->clear) {
 		RegionRec whole;
@@ -8861,10 +8862,13 @@ sna_crtc_redisplay(xf86CrtcPtr crtc, RegionPtr region, struct kgem_bo *bo)
 			return;
 	}
 
-	if (can_render(sna))
+	if (can_render(sna)) {
 		sna_crtc_redisplay__composite(crtc, region, bo);
-	else
-		sna_crtc_redisplay__fallback(crtc, region, bo);
+		return;
+	}
+
+fallback:
+	sna_crtc_redisplay__fallback(crtc, region, bo);
 }
 
 static void shadow_flip_handler(struct drm_event_vblank *e,


More information about the xorg-commit mailing list