mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 19:40:10 +01:00
i965/tiled_memcpy: Unroll bytes==64 case.
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
This commit is contained in:
parent
0e605d9b3a
commit
eafeb8db66
1 changed files with 16 additions and 0 deletions
|
|
@ -149,6 +149,14 @@ rgba8_copy_aligned_dst(void *dst, const void *src, size_t bytes)
|
|||
assert(bytes == 0 || !(((uintptr_t)dst) & 0xf));
|
||||
|
||||
#if defined(__SSSE3__) || defined(__SSE2__)
|
||||
if (bytes == 64) {
|
||||
rgba8_copy_16_aligned_dst(dst + 0, src + 0);
|
||||
rgba8_copy_16_aligned_dst(dst + 16, src + 16);
|
||||
rgba8_copy_16_aligned_dst(dst + 32, src + 32);
|
||||
rgba8_copy_16_aligned_dst(dst + 48, src + 48);
|
||||
return dst;
|
||||
}
|
||||
|
||||
while (bytes >= 16) {
|
||||
rgba8_copy_16_aligned_dst(dst, src);
|
||||
src += 16;
|
||||
|
|
@ -171,6 +179,14 @@ rgba8_copy_aligned_src(void *dst, const void *src, size_t bytes)
|
|||
assert(bytes == 0 || !(((uintptr_t)src) & 0xf));
|
||||
|
||||
#if defined(__SSSE3__) || defined(__SSE2__)
|
||||
if (bytes == 64) {
|
||||
rgba8_copy_16_aligned_dst(dst + 0, src + 0);
|
||||
rgba8_copy_16_aligned_dst(dst + 16, src + 16);
|
||||
rgba8_copy_16_aligned_dst(dst + 32, src + 32);
|
||||
rgba8_copy_16_aligned_dst(dst + 48, src + 48);
|
||||
return dst;
|
||||
}
|
||||
|
||||
while (bytes >= 16) {
|
||||
rgba8_copy_16_aligned_src(dst, src);
|
||||
src += 16;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue