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 }], | |
142 ], | 125 ], |
143 }, | 126 }, |
144 # For the same lame reasons as what is done for skia_opts, we have to | 127 # For the same lame reasons as what is done for skia_opts, we have to |
145 # create another target specifically for SSSE3 code as we would not want | 128 # create another target specifically for SSSE3 code as we would not want |
146 # to compile the SSE2 code with -mssse3 which would potentially allow | 129 # to compile the SSE2 code with -mssse3 which would potentially allow |
147 # gcc to generate SSSE3 code. | 130 # gcc to generate SSSE3 code. |
148 { | 131 { |
149 'target_name': 'opts_ssse3', | 132 'target_name': 'opts_ssse3', |
150 'product_name': 'skia_opts_ssse3', | 133 'product_name': 'skia_opts_ssse3', |
151 'type': 'static_library', | 134 'type': 'static_library', |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
215 '../src/opts/SkBitmapProcState_matrix_neon.h', | 198 '../src/opts/SkBitmapProcState_matrix_neon.h', |
216 '../src/opts/SkBlitMask_opts_arm_neon.cpp', | 199 '../src/opts/SkBlitMask_opts_arm_neon.cpp', |
217 '../src/opts/SkBlitRow_opts_arm_neon.cpp', | 200 '../src/opts/SkBlitRow_opts_arm_neon.cpp', |
218 '../src/opts/SkBlurImage_opts_neon.cpp', | 201 '../src/opts/SkBlurImage_opts_neon.cpp', |
219 '../src/opts/SkMorphology_opts_neon.cpp', | 202 '../src/opts/SkMorphology_opts_neon.cpp', |
220 '../src/opts/SkXfermode_opts_arm_neon.cpp', | 203 '../src/opts/SkXfermode_opts_arm_neon.cpp', |
221 ], | 204 ], |
222 }, | 205 }, |
223 ], | 206 ], |
224 } | 207 } |
OLD | NEW |