| OLD | NEW |
| 1 | 1 |
| 2 /* | 2 /* |
| 3 * Copyright 2006 The Android Open Source Project | 3 * Copyright 2006 The Android Open Source Project |
| 4 * | 4 * |
| 5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
| 6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
| 7 */ | 7 */ |
| 8 | 8 |
| 9 | 9 |
| 10 #include "SkBlitRow.h" | 10 #include "SkBlitRow.h" |
| (...skipping 374 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 385 unsigned maskRB = mask.fRowBytes - width; | 385 unsigned maskRB = mask.fRowBytes - width; |
| 386 uint32_t expanded32 = fExpandedRaw16; | 386 uint32_t expanded32 = fExpandedRaw16; |
| 387 | 387 |
| 388 #ifdef SK_USE_NEON | 388 #ifdef SK_USE_NEON |
| 389 #define UNROLL 8 | 389 #define UNROLL 8 |
| 390 do { | 390 do { |
| 391 int w = width; | 391 int w = width; |
| 392 if (w >= UNROLL) { | 392 if (w >= UNROLL) { |
| 393 uint32x4_t color; /* can use same one */ | 393 uint32x4_t color; /* can use same one */ |
| 394 uint32x4_t dev_lo, dev_hi; | 394 uint32x4_t dev_lo, dev_hi; |
| 395 uint32x4_t t1, t2; | 395 uint32x4_t t1; |
| 396 uint32x4_t wn1, wn2; | 396 uint32x4_t wn1, wn2; |
| 397 uint16x4_t odev_lo, odev_hi; | 397 uint16x4_t odev_lo, odev_hi; |
| 398 uint16x4_t alpha_lo, alpha_hi; | 398 uint16x4_t alpha_lo, alpha_hi; |
| 399 uint16x8_t alpha_full; | 399 uint16x8_t alpha_full; |
| 400 | 400 |
| 401 color = vdupq_n_u32(expanded32); | 401 color = vdupq_n_u32(expanded32); |
| 402 | 402 |
| 403 do { | 403 do { |
| 404 /* alpha is 8x8, widen and split to get pair of 16x4's */ | 404 /* alpha is 8x8, widen and split to get pair of 16x4's */ |
| 405 alpha_full = vmovl_u8(vld1_u8(alpha)); | 405 alpha_full = vmovl_u8(vld1_u8(alpha)); |
| (...skipping 650 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1056 SK_PLACEMENT_NEW_ARGS(blitter, SkRGB16_Opaque_Blitter, storage, | 1056 SK_PLACEMENT_NEW_ARGS(blitter, SkRGB16_Opaque_Blitter, storage, |
| 1057 storageSize, (device, paint)); | 1057 storageSize, (device, paint)); |
| 1058 } else { | 1058 } else { |
| 1059 SK_PLACEMENT_NEW_ARGS(blitter, SkRGB16_Blitter, storage, | 1059 SK_PLACEMENT_NEW_ARGS(blitter, SkRGB16_Blitter, storage, |
| 1060 storageSize, (device, paint)); | 1060 storageSize, (device, paint)); |
| 1061 } | 1061 } |
| 1062 } | 1062 } |
| 1063 | 1063 |
| 1064 return blitter; | 1064 return blitter; |
| 1065 } | 1065 } |
| OLD | NEW |