xf86-video-intel: 2 commits - src/sna/sna_accel.c src/sna/sna_display.c
Chris Wilson
ickle at kemper.freedesktop.org
Mon Apr 28 07:59:52 PDT 2014
src/sna/sna_accel.c | 8 ++++++++
src/sna/sna_display.c | 8 +++++---
2 files changed, 13 insertions(+), 3 deletions(-)
New commits:
commit 0b23011c27736d0ae2b33d8ea147c16b909baa57
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Mon Apr 28 15:59:18 2014 +0100
sna: Tweaks to cursor DBG logging
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 14446c7..740876c 100644
--- a/src/sna/sna_display.c
+++ b/src/sna/sna_display.c
@@ -3103,7 +3103,7 @@ static struct sna_cursor *__sna_create_cursor(struct sna *sna)
struct sna_cursor *c;
int size = sna->cursor.size;
- __DBG(("%s(size=%d)\n", __FUNCTION__, size));
+ __DBG(("%s(size=%d, num_stash=%d)\n", __FUNCTION__, size, sna->cursor.num_stash));
c = sna->cursor.stash;
assert(c);
@@ -3286,7 +3286,7 @@ static struct sna_cursor *__sna_get_cursor(struct sna *sna, xf86CrtcPtr crtc)
pwrite.size = 4*size*size;
pwrite.data_ptr = (uintptr_t)image;
if (drmIoctl(sna->kgem.fd, DRM_IOCTL_I915_GEM_PWRITE, &pwrite))
- __DBG(("%s: cursor update (pwrite) failed: %d\n", errno));
+ __DBG(("%s: cursor update (pwrite) failed: %d\n", __FUNCTION__, errno));
}
cursor->size = size;
@@ -3611,8 +3611,10 @@ sna_use_hw_cursor(ScreenPtr screen, CursorPtr cursor)
cursor->bits->width, cursor->bits->height));
/* cursors are invariant */
- if (cursor == sna->cursor.ref)
+ if (cursor == sna->cursor.ref) {
+ assert(sna->cursor.num_stash >= 0);
return TRUE;
+ }
if (sna->cursor.ref) {
FreeCursor(sna->cursor.ref, None);
commit d4bd452caa335a54076fa003ee616c2efe93bca3
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Mon Apr 28 14:01:43 2014 +0100
sna: Assert against underflows in BLT command lengths
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 8249e78..677db40 100644
--- a/src/sna/sna_accel.c
+++ b/src/sna/sna_accel.c
@@ -7747,6 +7747,7 @@ sna_copy_bitmap_blt(DrawablePtr _bitmap, DrawablePtr drawable, GCPtr gc,
sx, sy, bx1, bx2));
src_stride = bstride*bh;
+ assert(src_stride > 0);
if (src_stride <= 128) {
src_stride = ALIGN(src_stride, 8) / 4;
assert(src_stride <= 32);
@@ -12875,6 +12876,7 @@ sna_poly_fill_rect_stippled_1_blt(DrawablePtr drawable,
bx1, bx2));
src_stride = bstride*bh;
+ assert(src_stride > 0);
if (src_stride <= 128) {
src_stride = ALIGN(src_stride, 8) / 4;
assert(src_stride <= 32);
@@ -13067,6 +13069,7 @@ sna_poly_fill_rect_stippled_1_blt(DrawablePtr drawable,
bx1, bx2, bw, bstride));
src_stride = bstride*bh;
+ assert(src_stride > 0);
if (src_stride <= 128) {
src_stride = ALIGN(src_stride, 8) / 4;
assert(src_stride <= 32);
@@ -13257,6 +13260,7 @@ sna_poly_fill_rect_stippled_1_blt(DrawablePtr drawable,
bx1, bx2));
src_stride = bstride*bh;
+ assert(src_stride > 0);
if (src_stride <= 128) {
src_stride = ALIGN(src_stride, 8) / 4;
assert(src_stride <= 32);
@@ -13457,6 +13461,7 @@ sna_poly_fill_rect_stippled_n_box__imm(struct sna *sna,
len = bw*bh;
len = ALIGN(len, 8) / 4;
+ assert(len > 0);
assert(len <= 32);
if (!kgem_check_batch(&sna->kgem, 8+len) ||
!kgem_check_bo_fenced(&sna->kgem, bo) ||
@@ -13582,6 +13587,7 @@ sna_poly_fill_rect_stippled_n_box(struct sna *sna,
len = bw*bh;
len = ALIGN(len, 8) / 4;
+ assert(len > 0);
if (!kgem_check_batch(&sna->kgem, 8+len) ||
!kgem_check_bo_fenced(&sna->kgem, bo) ||
!kgem_check_reloc(&sna->kgem, 2)) {
@@ -14691,6 +14697,7 @@ sna_glyph_blt(DrawablePtr drawable, GCPtr gc,
if (x1 + w <= extents->x1 || y1 + h <= extents->y1)
goto skip;
+ assert(len > 0);
if (!kgem_check_batch(&sna->kgem, 3+len)) {
_kgem_submit(&sna->kgem);
_kgem_set_mode(&sna->kgem, KGEM_BLT);
@@ -15429,6 +15436,7 @@ sna_reversed_glyph_blt(DrawablePtr drawable, GCPtr gc,
}
}
+ assert(len > 0);
if (!kgem_check_batch(&sna->kgem, 3+len)) {
_kgem_submit(&sna->kgem);
_kgem_set_mode(&sna->kgem, KGEM_BLT);
More information about the xorg-commit
mailing list