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

Chris Wilson ickle at kemper.freedesktop.org
Thu Jan 23 13:17:34 PST 2014


 src/sna/sna_blt.c     |    8 ++++----
 src/sna/sna_display.c |    4 +++-
 2 files changed, 7 insertions(+), 5 deletions(-)

New commits:
commit c9e9c85fc7b21e231c2532fe1c75b92307e112ed
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Thu Jan 23 19:04:27 2014 +0000

    sna/gen2,3: Don't set BLT_DST_TILED
    
    This bit only exists for gen4+ so avoid setting it on gen2 and gen3,
    whilst setting it doesn't seem to cause any harm, there is no reason to
    risk it...
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/sna/sna_blt.c b/src/sna/sna_blt.c
index 9fad292..61e8672 100644
--- a/src/sna/sna_blt.c
+++ b/src/sna/sna_blt.c
@@ -206,7 +206,7 @@ static bool sna_blt_fill_init(struct sna *sna,
 			b[0] = XY_SETUP_MONO_PATTERN_SL_BLT | 7;
 			if (bpp == 32)
 				b[0] |= BLT_WRITE_ALPHA | BLT_WRITE_RGB;
-			if (bo->tiling)
+			if (bo->tiling && kgem->gen >= 040)
 				b[0] |= BLT_DST_TILED;
 			b[1] = blt->br13;
 			b[2] = 0;
@@ -270,7 +270,7 @@ noinline static void sna_blt_fill_begin(struct sna *sna,
 		b[0] = XY_SETUP_MONO_PATTERN_SL_BLT | 7;
 		if (blt->bpp == 32)
 			b[0] |= BLT_WRITE_ALPHA | BLT_WRITE_RGB;
-		if (blt->bo[0]->tiling)
+		if (blt->bo[0]->tiling && kgem->gen >= 040)
 			b[0] |= BLT_DST_TILED;
 		b[1] = blt->br13;
 		b[2] = 0;
@@ -3124,7 +3124,7 @@ bool sna_blt_fill_boxes(struct sna *sna, uint8_t alu,
 			b[0] = XY_SETUP_MONO_PATTERN_SL_BLT | 7;
 			if (bpp == 32)
 				b[0] |= BLT_WRITE_ALPHA | BLT_WRITE_RGB;
-			if (bo->tiling)
+			if (bo->tiling && kgem->gen >= 040)
 				b[0] |= BLT_DST_TILED;
 			b[1] = br13;
 			b[2] = 0;
@@ -3210,7 +3210,7 @@ bool sna_blt_fill_boxes(struct sna *sna, uint8_t alu,
 				b[0] = XY_SETUP_MONO_PATTERN_SL_BLT | 7;
 				if (bpp == 32)
 					b[0] |= BLT_WRITE_ALPHA | BLT_WRITE_RGB;
-				if (bo->tiling)
+				if (bo->tiling && kgem->gen >= 040)
 					b[0] |= BLT_DST_TILED;
 				b[1] = br13;
 				b[2] = 0;
commit 6914b3af7f26c7b61e4ee6ea3a6ccda5011fa4da
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Thu Jan 23 16:30:07 2014 +0000

    sna: Protect against fake CRTCs during initial probe
    
    Reported-by: Nick Bowler <nbowler at draconx.ca>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=73981
    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 30a0133..c28f558 100644
--- a/src/sna/sna_display.c
+++ b/src/sna/sna_display.c
@@ -3492,7 +3492,9 @@ static bool sna_probe_initial_configuration(struct sna *sna)
 
 		for (j = 0; j < config->num_crtc; j++) {
 			xf86CrtcPtr crtc = config->crtc[j];
-			if (to_sna_crtc(crtc)->id != crtc_id)
+
+			if (to_sna_crtc(crtc) == NULL ||
+			    to_sna_crtc(crtc)->id != crtc_id)
 				continue;
 
 			if (crtc->desiredMode.status == MODE_OK) {


More information about the xorg-commit mailing list