diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2011-11-27 10:17:40 +0000 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2011-11-27 10:18:35 +0000 |
commit | 413776c79ee7c55b3a48b1ed29af63f8cea39337 (patch) | |
tree | 17137f7182cf04657482343497e2a8a43615e56b | |
parent | 507f99eba2c72bc109c9267c698f3d5f9fb6f539 (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.c | 10 |
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); } |