summaryrefslogtreecommitdiff
path: root/src/sna/blt.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/sna/blt.c')
-rw-r--r--src/sna/blt.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/sna/blt.c b/src/sna/blt.c
index 4a330938..4c27678d 100644
--- a/src/sna/blt.c
+++ b/src/sna/blt.c
@@ -138,7 +138,7 @@ xmm_save_128(__m128i *dst, __m128i data)
}
#endif
-fast_memcpy void
+fast void
memcpy_blt(const void *src, void *dst, int bpp,
int32_t src_stride, int32_t dst_stride,
int16_t src_x, int16_t src_y,
@@ -202,6 +202,14 @@ memcpy_blt(const void *src, void *dst, int bpp,
dst_bytes += dst_stride;
} while (--height);
break;
+ case 16:
+ do {
+ ((uint64_t *)dst_bytes)[0] = ((const uint64_t *)src_bytes)[0];
+ ((uint64_t *)dst_bytes)[1] = ((const uint64_t *)src_bytes)[1];
+ src_bytes += src_stride;
+ dst_bytes += dst_stride;
+ } while (--height);
+ break;
default:
do {