OLD | NEW |
1 # Gyp file for opts projects | 1 # Gyp file for opts projects |
2 { | 2 { |
3 'targets': [ | 3 'targets': [ |
4 # Due to an unfortunate intersection of lameness between gcc and gyp, | 4 # Due to an unfortunate intersection of lameness between gcc and gyp, |
5 # we have to build the *_SSE2.cpp files in a separate target. The | 5 # we have to build the *_SSE2.cpp files in a separate target. The |
6 # gcc lameness is that, in order to compile SSE2 intrinsics code, it | 6 # gcc lameness is that, in order to compile SSE2 intrinsics code, it |
7 # must be passed the -msse2 flag. However, with this flag, it may | 7 # must be passed the -msse2 flag. However, with this flag, it may |
8 # emit SSE2 instructions even for scalar code, such as the CPUID | 8 # emit SSE2 instructions even for scalar code, such as the CPUID |
9 # test used to test for the presence of SSE2. So that, and all other | 9 # test used to test for the presence of SSE2. So that, and all other |
10 # code must be compiled *without* -msse2. The gyp lameness is that it | 10 # code must be compiled *without* -msse2. The gyp lameness is that it |
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
115 ], | 115 ], |
116 }], | 116 }], |
117 [ 'skia_android_framework', { | 117 [ 'skia_android_framework', { |
118 'cflags!': [ | 118 'cflags!': [ |
119 '-msse2', | 119 '-msse2', |
120 '-mfpu=neon', | 120 '-mfpu=neon', |
121 '-fomit-frame-pointer', | 121 '-fomit-frame-pointer', |
122 '-mno-apcs-frame', | 122 '-mno-apcs-frame', |
123 ] | 123 ] |
124 }], | 124 }], |
| 125 [ 'skia_arch_type == "arm64"', { |
| 126 'sources': [ |
| 127 '../src/opts/SkBitmapProcState_arm_neon.cpp', |
| 128 '../src/opts/SkBitmapProcState_matrixProcs_neon.cpp', |
| 129 '../src/opts/SkBitmapProcState_opts_arm.cpp', |
| 130 '../src/opts/SkBlitMask_opts_arm.cpp', |
| 131 '../src/opts/SkBlitMask_opts_arm_neon.cpp', |
| 132 '../src/opts/SkBlitRow_opts_none.cpp', |
| 133 '../src/opts/SkBlurImage_opts_arm.cpp', |
| 134 '../src/opts/SkBlurImage_opts_neon.cpp', |
| 135 '../src/opts/SkMorphology_opts_arm.cpp', |
| 136 '../src/opts/SkMorphology_opts_neon.cpp', |
| 137 '../src/opts/SkUtils_opts_none.cpp', |
| 138 '../src/opts/SkXfermode_opts_arm.cpp', |
| 139 '../src/opts/SkXfermode_opts_arm_neon.cpp', |
| 140 ], |
| 141 }], |
125 ], | 142 ], |
126 }, | 143 }, |
127 # For the same lame reasons as what is done for skia_opts, we have to | 144 # For the same lame reasons as what is done for skia_opts, we have to |
128 # create another target specifically for SSSE3 code as we would not want | 145 # create another target specifically for SSSE3 code as we would not want |
129 # to compile the SSE2 code with -mssse3 which would potentially allow | 146 # to compile the SSE2 code with -mssse3 which would potentially allow |
130 # gcc to generate SSSE3 code. | 147 # gcc to generate SSSE3 code. |
131 { | 148 { |
132 'target_name': 'opts_ssse3', | 149 'target_name': 'opts_ssse3', |
133 'product_name': 'skia_opts_ssse3', | 150 'product_name': 'skia_opts_ssse3', |
134 'type': 'static_library', | 151 'type': 'static_library', |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
198 '../src/opts/SkBitmapProcState_matrix_neon.h', | 215 '../src/opts/SkBitmapProcState_matrix_neon.h', |
199 '../src/opts/SkBlitMask_opts_arm_neon.cpp', | 216 '../src/opts/SkBlitMask_opts_arm_neon.cpp', |
200 '../src/opts/SkBlitRow_opts_arm_neon.cpp', | 217 '../src/opts/SkBlitRow_opts_arm_neon.cpp', |
201 '../src/opts/SkBlurImage_opts_neon.cpp', | 218 '../src/opts/SkBlurImage_opts_neon.cpp', |
202 '../src/opts/SkMorphology_opts_neon.cpp', | 219 '../src/opts/SkMorphology_opts_neon.cpp', |
203 '../src/opts/SkXfermode_opts_arm_neon.cpp', | 220 '../src/opts/SkXfermode_opts_arm_neon.cpp', |
204 ], | 221 ], |
205 }, | 222 }, |
206 ], | 223 ], |
207 } | 224 } |
OLD | NEW |