OLD | NEW |
1 /* NEON optimized code (C) COPYRIGHT 2009 Motorola | 1 /* NEON optimized code (C) COPYRIGHT 2009 Motorola |
2 * | 2 * |
3 * Use of this source code is governed by a BSD-style license that can be | 3 * Use of this source code is governed by a BSD-style license that can be |
4 * found in the LICENSE file. | 4 * found in the LICENSE file. |
5 */ | 5 */ |
6 | 6 |
7 #include "SkBitmapProcState.h" | 7 #include "SkBitmapProcState.h" |
8 #include "SkPerspIter.h" | 8 #include "SkPerspIter.h" |
9 #include "SkShader.h" | 9 #include "SkShader.h" |
10 #include "SkUtils.h" | 10 #include "SkUtils.h" |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
58 | 58 |
59 struct ClampTileProcs { | 59 struct ClampTileProcs { |
60 static unsigned X(const SkBitmapProcState&, SkFixed fx, int max) { | 60 static unsigned X(const SkBitmapProcState&, SkFixed fx, int max) { |
61 return SkClampMax(fx >> 16, max); | 61 return SkClampMax(fx >> 16, max); |
62 } | 62 } |
63 static unsigned Y(const SkBitmapProcState&, SkFixed fy, int max) { | 63 static unsigned Y(const SkBitmapProcState&, SkFixed fy, int max) { |
64 return SkClampMax(fy >> 16, max); | 64 return SkClampMax(fy >> 16, max); |
65 } | 65 } |
66 }; | 66 }; |
67 | 67 |
68 // Referenced in opts_check_SSE2.cpp | 68 // Referenced in opts_check_x86.cpp |
69 void ClampX_ClampY_nofilter_scale(const SkBitmapProcState& s, uint32_t xy[], | 69 void ClampX_ClampY_nofilter_scale(const SkBitmapProcState& s, uint32_t xy[], |
70 int count, int x, int y) { | 70 int count, int x, int y) { |
71 return NoFilterProc_Scale<ClampTileProcs, true>(s, xy, count, x, y); | 71 return NoFilterProc_Scale<ClampTileProcs, true>(s, xy, count, x, y); |
72 } | 72 } |
73 void ClampX_ClampY_nofilter_affine(const SkBitmapProcState& s, uint32_t xy[], | 73 void ClampX_ClampY_nofilter_affine(const SkBitmapProcState& s, uint32_t xy[], |
74 int count, int x, int y) { | 74 int count, int x, int y) { |
75 return NoFilterProc_Affine<ClampTileProcs>(s, xy, count, x, y); | 75 return NoFilterProc_Affine<ClampTileProcs>(s, xy, count, x, y); |
76 } | 76 } |
77 | 77 |
78 static SkBitmapProcState::MatrixProc ClampX_ClampY_Procs[] = { | 78 static SkBitmapProcState::MatrixProc ClampX_ClampY_Procs[] = { |
(...skipping 435 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
514 if (SkShader::kRepeat_TileMode == fTileModeX && SkShader::kRepeat_TileMode =
= fTileModeY) { | 514 if (SkShader::kRepeat_TileMode == fTileModeX && SkShader::kRepeat_TileMode =
= fTileModeY) { |
515 return SK_ARM_NEON_WRAP(RepeatX_RepeatY_Procs)[index]; | 515 return SK_ARM_NEON_WRAP(RepeatX_RepeatY_Procs)[index]; |
516 } | 516 } |
517 | 517 |
518 fTileProcX = choose_tile_proc(fTileModeX); | 518 fTileProcX = choose_tile_proc(fTileModeX); |
519 fTileProcY = choose_tile_proc(fTileModeY); | 519 fTileProcY = choose_tile_proc(fTileModeY); |
520 fTileLowBitsProcX = choose_tile_lowbits_proc(fTileModeX); | 520 fTileLowBitsProcX = choose_tile_lowbits_proc(fTileModeX); |
521 fTileLowBitsProcY = choose_tile_lowbits_proc(fTileModeY); | 521 fTileLowBitsProcY = choose_tile_lowbits_proc(fTileModeY); |
522 return GeneralXY_Procs[index]; | 522 return GeneralXY_Procs[index]; |
523 } | 523 } |
OLD | NEW |