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:
parent
f0ed0ca234
commit
fbfbbee828
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Reference in New Issue