OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2012 The Android Open Source Project | 2 * Copyright 2012 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 #include "SkBitmapProcState_opts_SSSE3.h" | 8 #include "SkBitmapProcState_opts_SSSE3.h" |
9 #include "SkColorPriv.h" | 9 #include "SkColorPriv.h" |
10 #include "SkPaint.h" | 10 #include "SkPaint.h" |
(...skipping 714 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
725 int count, uint32_t* colors) { | 725 int count, uint32_t* colors) { |
726 S32_generic_D32_filter_DXDY_SSSE3<false>(s, xy, count, colors); | 726 S32_generic_D32_filter_DXDY_SSSE3<false>(s, xy, count, colors); |
727 } | 727 } |
728 | 728 |
729 void S32_alpha_D32_filter_DXDY_SSSE3(const SkBitmapProcState& s, | 729 void S32_alpha_D32_filter_DXDY_SSSE3(const SkBitmapProcState& s, |
730 const uint32_t* xy, | 730 const uint32_t* xy, |
731 int count, uint32_t* colors) { | 731 int count, uint32_t* colors) { |
732 S32_generic_D32_filter_DXDY_SSSE3<true>(s, xy, count, colors); | 732 S32_generic_D32_filter_DXDY_SSSE3<true>(s, xy, count, colors); |
733 } | 733 } |
734 | 734 |
735 void S32_D16_filter_DX_SSSE3(const SkBitmapProcState& s, | |
736 const uint32_t* xy, | |
737 int count, uint16_t* colors) { | |
738 SkASSERT(254 >= count); | |
739 SkAutoSTMalloc<254, uint32_t> colors32(count); | |
740 S32_generic_D32_filter_DX_SSSE3<false>(s, xy, count, colors32); | |
741 for(int i = 0; i < count; i++) { | |
742 *colors++ = SkPixel32ToPixel16(colors32[i]); | |
743 } | |
744 } | |
745 | |
746 void S32_D16_filter_DXDY_SSSE3(const SkBitmapProcState& s, | |
747 const uint32_t* xy, | |
748 int count, uint16_t* colors) { | |
749 SkASSERT(64 >= count); | |
750 SkAutoSTMalloc<64, uint32_t> colors32(count); | |
751 S32_generic_D32_filter_DXDY_SSSE3<false>(s, xy, count, colors32); | |
752 for(int i = 0; i < count; i++) { | |
753 *colors++ = SkPixel32ToPixel16(colors32[i]); | |
754 } | |
755 } | |
756 | |
757 #else // SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSSE3 | 735 #else // SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSSE3 |
758 | 736 |
759 void S32_opaque_D32_filter_DX_SSSE3(const SkBitmapProcState& s, | 737 void S32_opaque_D32_filter_DX_SSSE3(const SkBitmapProcState& s, |
760 const uint32_t* xy, | 738 const uint32_t* xy, |
761 int count, uint32_t* colors) { | 739 int count, uint32_t* colors) { |
762 sk_throw(); | 740 sk_throw(); |
763 } | 741 } |
764 | 742 |
765 void S32_alpha_D32_filter_DX_SSSE3(const SkBitmapProcState& s, | 743 void S32_alpha_D32_filter_DX_SSSE3(const SkBitmapProcState& s, |
766 const uint32_t* xy, | 744 const uint32_t* xy, |
767 int count, uint32_t* colors) { | 745 int count, uint32_t* colors) { |
768 sk_throw(); | 746 sk_throw(); |
769 } | 747 } |
770 | 748 |
771 void S32_opaque_D32_filter_DXDY_SSSE3(const SkBitmapProcState& s, | 749 void S32_opaque_D32_filter_DXDY_SSSE3(const SkBitmapProcState& s, |
772 const uint32_t* xy, | 750 const uint32_t* xy, |
773 int count, uint32_t* colors) { | 751 int count, uint32_t* colors) { |
774 sk_throw(); | 752 sk_throw(); |
775 } | 753 } |
776 | 754 |
777 void S32_alpha_D32_filter_DXDY_SSSE3(const SkBitmapProcState& s, | 755 void S32_alpha_D32_filter_DXDY_SSSE3(const SkBitmapProcState& s, |
778 const uint32_t* xy, | 756 const uint32_t* xy, |
779 int count, uint32_t* colors) { | 757 int count, uint32_t* colors) { |
780 sk_throw(); | 758 sk_throw(); |
781 } | 759 } |
782 | 760 |
783 void S32_D16_filter_DX_SSSE3(const SkBitmapProcState& s, | |
784 const uint32_t* xy, | |
785 int count, uint16_t* colors) { | |
786 sk_throw(); | |
787 } | |
788 | |
789 void S32_D16_filter_DXDY_SSSE3(const SkBitmapProcState& s, | |
790 const uint32_t* xy, | |
791 int count, uint16_t* colors) { | |
792 sk_throw(); | |
793 } | |
794 | |
795 #endif | 761 #endif |
OLD | NEW |