xf86-video-intel: 2 commits - src/sna/sna_accel.c src/sna/sna_glyphs.c
Chris Wilson
ickle at kemper.freedesktop.org
Thu May 31 06:50:37 PDT 2012
src/sna/sna_accel.c | 4 ++--
src/sna/sna_glyphs.c | 9 ++++++++-
2 files changed, 10 insertions(+), 3 deletions(-)
New commits:
commit 0347c8abec9740d706d87dd2f719ac68f3d1c32e
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Thu May 31 13:50:31 2012 +0100
sna/glyphs: Fix upconverting of glyphs via gpu
When using the mask instead of the src for adding the glyphs we need to
pass the glyph coordinates through the mask coordinates rather than the
source.
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
diff --git a/src/sna/sna_glyphs.c b/src/sna/sna_glyphs.c
index 81e833e..45c24d8 100644
--- a/src/sna/sna_glyphs.c
+++ b/src/sna/sna_glyphs.c
@@ -940,7 +940,11 @@ next_image:
if (glyph_atlas)
tmp.done(sna, &tmp);
- if (this_atlas->format == format->format) {
+ DBG(("%s: atlas format=%08x, mask format=%08x\n",
+ __FUNCTION__,
+ (int)this_atlas->format,
+ (int)(format->depth << 24 | format->format)));
+ if (this_atlas->format == (format->depth << 24 | format->format)) {
ok = sna->render.composite(sna, PictOpAdd,
this_atlas, NULL, mask,
0, 0, 0, 0, 0, 0,
@@ -954,6 +958,8 @@ next_image:
&tmp);
}
if (!ok) {
+ DBG(("%s: fallback -- can not handle PictOpAdd of glyph onto mask!\n",
+ __FUNCTION__));
FreePicture(mask, 0);
return FALSE;
}
@@ -968,6 +974,7 @@ next_image:
r.src.x, r.src.y,
glyph->info.width, glyph->info.height));
+ r.mask = r.src;
r.dst.x = x - glyph->info.x;
r.dst.y = y - glyph->info.y;
r.width = glyph->info.width;
commit 90ae4f853222ee33206134f4efdc4accfb2f2c38
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Thu May 31 14:17:40 2012 +0100
sna: Avoid mixing signed/unsigned int/int16 arithmetric
Life becomes unpleasant with sign extension.
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 cebfc7e..4511ec8 100644
--- a/src/sna/sna_accel.c
+++ b/src/sna/sna_accel.c
@@ -5881,7 +5881,7 @@ sna_poly_zero_line_blt(DrawablePtr drawable,
while (--n) {
int16_t sdx, sdy;
- uint16_t adx, ady, length;
+ int adx, ady, length;
int e, e1, e2, e3;
int x1 = x2, x;
int y1 = y2, y;
@@ -7079,7 +7079,7 @@ sna_poly_zero_segment_blt(DrawablePtr drawable,
const xSegment *s = _s;
do {
int16_t sdx, sdy;
- uint16_t adx, ady, length;
+ int adx, ady, length;
int e, e1, e2, e3;
int x1, x2;
int y1, y2;
More information about the xorg-commit
mailing list