sna: Fix glyph DBG to include clip extents and actual glyph origin

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
Chris Wilson 2012-07-17 09:20:21 +01:00
parent f0ed0ca234
commit fbfbbee828
1 changed files with 37 additions and 6 deletions

View File

@ -10942,6 +10942,12 @@ sna_glyph_blt(DrawablePtr drawable, GCPtr gc,
_kgem_submit(&sna->kgem);
_kgem_set_mode(&sna->kgem, KGEM_BLT);
}
DBG(("%s: glyph clip box (%d, %d), (%d, %d)\n",
__FUNCTION__,
extents->x1, extents->y1,
extents->x2, extents->y2));
b = sna->kgem.batch + sna->kgem.nbatch;
b[0] = XY_SETUP_BLT | 3 << 20;
b[1] = bo->pitch;
@ -10984,12 +10990,12 @@ sna_glyph_blt(DrawablePtr drawable, GCPtr gc,
goto skip;
len = (w8 * h + 7) >> 3 << 1;
DBG(("%s glyph: (%d, %d) x (%d[%d], %d), len=%d\n" ,__FUNCTION__,
x,y, w, w8, h, len));
x1 = x + c->metrics.leftSideBearing;
y1 = y - c->metrics.ascent;
DBG(("%s glyph: (%d, %d) -> (%d, %d) x (%d[%d], %d), len=%d\n" ,__FUNCTION__,
x,y, x1, y1, w, w8, h, len));
if (x1 >= extents->x2 || y1 >= extents->y2)
goto skip;
if (x1 + w <= extents->x1 || y1 + h <= extents->y1)
@ -11000,6 +11006,11 @@ sna_glyph_blt(DrawablePtr drawable, GCPtr gc,
_kgem_submit(&sna->kgem);
_kgem_set_mode(&sna->kgem, KGEM_BLT);
DBG(("%s: new batch, glyph clip box (%d, %d), (%d, %d)\n",
__FUNCTION__,
extents->x1, extents->y1,
extents->x2, extents->y2));
b = sna->kgem.batch + sna->kgem.nbatch;
b[0] = XY_SETUP_BLT | 3 << 20;
b[1] = bo->pitch;
@ -11059,6 +11070,11 @@ skip:
b = sna->kgem.batch + sna->kgem.nbatch;
sna->kgem.nbatch += 3;
DBG(("%s: glyph clip box (%d, %d), (%d, %d)\n",
__FUNCTION__,
extents->x1, extents->y1,
extents->x2, extents->y2));
b[0] = XY_SETUP_CLIP;
b[1] = extents->y1 << 16 | extents->x1;
b[2] = extents->y2 << 16 | extents->x2;
@ -11637,6 +11653,11 @@ sna_reversed_glyph_blt(DrawablePtr drawable, GCPtr gc,
_kgem_submit(&sna->kgem);
_kgem_set_mode(&sna->kgem, KGEM_BLT);
}
DBG(("%s: glyph clip box (%d, %d), (%d, %d)\n",
__FUNCTION__,
extents->x1, extents->y1,
extents->x2, extents->y2));
b = sna->kgem.batch + sna->kgem.nbatch;
b[0] = XY_SETUP_BLT | 1 << 20;
b[1] = bo->pitch;
@ -11675,12 +11696,12 @@ sna_reversed_glyph_blt(DrawablePtr drawable, GCPtr gc,
goto skip;
len = (w8 * h + 7) >> 3 << 1;
DBG(("%s glyph: (%d, %d) x (%d[%d], %d), len=%d\n" ,__FUNCTION__,
x,y, w, w8, h, len));
x1 = x + c->metrics.leftSideBearing;
y1 = y - c->metrics.ascent;
DBG(("%s glyph: (%d, %d) -> (%d, %d) x (%d[%d], %d), len=%d\n" ,__FUNCTION__,
x,y, x1, y1, w, w8, h, len));
if (x1 >= extents->x2 || y1 >= extents->y2 ||
x1 + w <= extents->x1 || y1 + h <= extents->y1) {
DBG(("%s: glyph is clipped (%d, %d)x(%d,%d) against extents (%d, %d), (%d, %d)\n",
@ -11713,6 +11734,11 @@ sna_reversed_glyph_blt(DrawablePtr drawable, GCPtr gc,
_kgem_submit(&sna->kgem);
_kgem_set_mode(&sna->kgem, KGEM_BLT);
DBG(("%s: new batch, glyph clip box (%d, %d), (%d, %d)\n",
__FUNCTION__,
extents->x1, extents->y1,
extents->x2, extents->y2));
b = sna->kgem.batch + sna->kgem.nbatch;
b[0] = XY_SETUP_BLT | 1 << 20;
b[1] = bo->pitch;
@ -11778,6 +11804,11 @@ skip:
b = sna->kgem.batch + sna->kgem.nbatch;
sna->kgem.nbatch += 3;
DBG(("%s: glyph clip box (%d, %d), (%d, %d)\n",
__FUNCTION__,
extents->x1, extents->y1,
extents->x2, extents->y2));
b[0] = XY_SETUP_CLIP;
b[1] = extents->y1 << 16 | extents->x1;
b[2] = extents->y2 << 16 | extents->x2;