summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2011-11-27 10:17:40 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2011-11-27 10:18:35 +0000
commit413776c79ee7c55b3a48b1ed29af63f8cea39337 (patch)
tree17137f7182cf04657482343497e2a8a43615e56b
parent507f99eba2c72bc109c9267c698f3d5f9fb6f539 (diff)
sna: Use 64-bit mov (when available) for bitmap glyphs
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--src/sna/sna_accel.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c
index 4b013c91..cb0ef1fe 100644
--- a/src/sna/sna_accel.c
+++ b/src/sna/sna_accel.c
@@ -7282,13 +7282,11 @@ sna_glyph_blt(DrawablePtr drawable, GCPtr gc,
b[0] = br00 | (1 + len);
b[1] = (uint16_t)y1 << 16 | (uint16_t)x1;
b[2] = (uint16_t)(y1+h) << 16 | (uint16_t)(x1+w);
- {
- uint32_t *glyph = (uint32_t*)c->bits;
- b += 3;
+ {
+ uint64_t *src = (uint64_t *)c->bits;
+ uint64_t *dst = (uint64_t *)(b + 3);
do {
- *b++ = *glyph++;
- *b++ = *glyph++;
-
+ *dst++ = *src++;
len -= 2;
} while (len);
}