OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2014 The Android Open Source Project | 2 * Copyright 2014 The Android Open Source Project |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
| 8 #ifdef CRBUG_399842_FIXED |
| 9 |
8 #if defined(__clang__) || (defined(__GNUC__) && !defined(SK_BUILD_FOR_MAC)) | 10 #if defined(__clang__) || (defined(__GNUC__) && !defined(SK_BUILD_FOR_MAC)) |
9 | 11 |
10 #define EXTRACT_ALPHA(var1, var2) \ | 12 #define EXTRACT_ALPHA(var1, var2) \ |
11 movdqa %var1, %var2; /* Clone source pixels to extract alpha
*/\ | 13 movdqa %var1, %var2; /* Clone source pixels to extract alpha
*/\ |
12 psrlw $8, %var2; /* Discard red and blue, leaving alpha a
nd green */\ | 14 psrlw $8, %var2; /* Discard red and blue, leaving alpha a
nd green */\ |
13 pshufhw $0xF5, %var2, %var2; /* Repeat alpha for scaling (high) */\ | 15 pshufhw $0xF5, %var2, %var2; /* Repeat alpha for scaling (high) */\ |
14 movdqa %xmm6, %xmm4; \ | 16 movdqa %xmm6, %xmm4; \ |
15 pshuflw $0xF5, %var2, %var2; /* Repeat alpha for scaling (low) */\ | 17 pshuflw $0xF5, %var2, %var2; /* Repeat alpha for scaling (low) */\ |
16 movdqa %xmm5, %xmm3; \ | 18 movdqa %xmm5, %xmm3; \ |
17 psubw %var2, %xmm4 /* Finalize alpha calculations */ | 19 psubw %var2, %xmm4 /* Finalize alpha calculations */ |
(...skipping 441 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
459 .section .rodata | 461 .section .rodata |
460 #endif | 462 #endif |
461 .p2align 4 | 463 .p2align 4 |
462 .LAlphaCheckMask: | 464 .LAlphaCheckMask: |
463 .long 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000 | 465 .long 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000 |
464 .LInverseAlphaCalc: | 466 .LInverseAlphaCalc: |
465 .word 256, 256, 256, 256, 256, 256, 256, 256 | 467 .word 256, 256, 256, 256, 256, 256, 256, 256 |
466 .LResultMergeMask: | 468 .LResultMergeMask: |
467 .long 0x00FF00FF, 0x00FF00FF, 0x00FF00FF, 0x00FF00FF | 469 .long 0x00FF00FF, 0x00FF00FF, 0x00FF00FF, 0x00FF00FF |
468 #endif | 470 #endif |
| 471 |
| 472 #endif // CRBUG_399842_FIXED |
OLD | NEW |