xf86-video-intel: 2 commits - src/sna/sna_accel.c src/sna/sna_display.c
Chris Wilson
ickle at kemper.freedesktop.org
Mon Oct 31 07:13:48 PDT 2011
src/sna/sna_accel.c | 29 +++++++++++++++--------------
src/sna/sna_display.c | 2 +-
2 files changed, 16 insertions(+), 15 deletions(-)
New commits:
commit 20a4f533958991557a3b05af00f2856657579d68
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Mon Oct 31 14:14:40 2011 +0000
sna: Apply the GPU damage for clipped PolyFillRectangles
Reported-by: Clemens Eisserer <linuxhippy at gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=42425
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c
index 5f7e3b9..4c9c09a 100644
--- a/src/sna/sna_accel.c
+++ b/src/sna/sna_accel.c
@@ -1368,7 +1368,7 @@ sna_self_copy_boxes(DrawablePtr src, DrawablePtr dst, GCPtr gc,
int alu = gc ? gc->alu : GXcopy;
int16_t tx, ty;
- if (n == 0 || (dx | dy) == 0)
+ if (n == 0 || ((dx | dy) == 0 && alu == GXcopy))
return;
DBG(("%s (boxes=%dx[(%d, %d), (%d, %d)...], src=+(%d, %d), alu=%d, pix.size=%dx%d)\n",
@@ -5022,8 +5022,11 @@ sna_poly_fill_rect_blt(DrawablePtr drawable,
}
RegionUninit(&clip);
- if (b != boxes)
+ if (b != boxes) {
fill.boxes(sna, &fill, boxes, b-boxes);
+ if (damage)
+ sna_damage_add_boxes(damage, boxes, last_box-boxes, 0, 0);
+ }
}
done:
fill.done(sna, &fill);
diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c
index 98743bc..a82ccd8 100644
--- a/src/sna/sna_display.c
+++ b/src/sna/sna_display.c
@@ -603,7 +603,7 @@ static void update_flush_interval(struct sna *sna)
sna->flush_interval = 2000 * 1000 * 1000 / max_vrefresh;
DBG(("max_vrefresh=%d, flush_interval=%d ns\n",
- max_vrefresh, sna->flush_inteval));
+ max_vrefresh, sna->flush_interval));
}
static Bool
commit 7172f28c2b36aaa8c3a74ae4a7f699d3d4af10eb
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Mon Oct 31 12:53:35 2011 +0000
sna: Fix placement of clipped wide PolyRectangle
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c
index feb13e9..5f7e3b9 100644
--- a/src/sna/sna_accel.c
+++ b/src/sna/sna_accel.c
@@ -4356,7 +4356,7 @@ zero_clipped:
box[1].y2 += rr.height;
box[2].y1 = rr.y + 1;
- box[2].y2 = box[2].y1 + rr.height;
+ box[2].y2 = rr.y + rr.height;
box[2].x1 = rr.x;
box[2].x2 = rr.x + 1;
@@ -4414,7 +4414,7 @@ zero_clipped:
box[1].y2 += rr.height;
box[2].y1 = rr.y + 1;
- box[2].y2 = box[2].y1 + rr.height;
+ box[2].y2 = rr.y + rr.height;
box[2].x1 = rr.x;
box[2].x2 = rr.x + 1;
@@ -4495,12 +4495,11 @@ wide_clipped:
box[1].y1 = rr.y + offset3;
box[1].y2 = rr.y + rr.height - offset1;
- box[2].x1 = rr.x + rr.width - offset1;
- box[2].x2 = box[2].x1 + offset2;
- box[2].y1 = rr.y + offset3;
- box[2].y2 = rr.y + rr.height - offset1;
+ box[2] = box[1];
+ box[3].x1 += rr.width;
+ box[3].x2 += rr.width;
- box[3] = box[1];
+ box[3] = box[0];
box[3].y1 += rr.height;
box[3].y2 += rr.height;
count = 4;
@@ -4564,12 +4563,11 @@ wide_clipped:
box[1].y1 = rr.y + offset3;
box[1].y2 = rr.y + rr.height - offset1;
- box[2].x1 = rr.x + rr.width - offset1;
- box[2].x2 = box[2].x1 + offset2;
- box[2].y1 = rr.y + offset3;
- box[2].y2 = rr.y + rr.height - offset1;
+ box[2] = box[1];
+ box[3].x1 += rr.width;
+ box[3].x2 += rr.width;
- box[3] = box[1];
+ box[3] = box[0];
box[3].y1 += rr.height;
box[3].y2 += rr.height;
count = 4;
More information about the xorg-commit
mailing list