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