OLD | NEW |
1 # Copyright 2013 The Chromium Authors. All rights reserved. | 1 # Copyright 2013 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 | 5 |
6 # This gyp file contains the platform-specific optimizations for Skia | 6 # This gyp file contains the platform-specific optimizations for Skia |
7 { | 7 { |
8 'targets': [ | 8 'targets': [ |
9 # Due to an unfortunate intersection of lameness between gcc and gyp, | 9 # Due to an unfortunate intersection of lameness between gcc and gyp, |
10 # we have to build the *_SSE2.cpp files in a separate target. The | 10 # we have to build the *_SSE2.cpp files in a separate target. The |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
51 '../third_party/skia/src/opts/SkBlitRect_opts_SSE2.cpp', | 51 '../third_party/skia/src/opts/SkBlitRect_opts_SSE2.cpp', |
52 '../third_party/skia/src/opts/SkBlitRow_opts_SSE2.cpp', | 52 '../third_party/skia/src/opts/SkBlitRow_opts_SSE2.cpp', |
53 '../third_party/skia/src/opts/SkUtils_opts_SSE2.cpp', | 53 '../third_party/skia/src/opts/SkUtils_opts_SSE2.cpp', |
54 '../third_party/skia/src/opts/SkXfermode_opts_SSE2.cpp', | 54 '../third_party/skia/src/opts/SkXfermode_opts_SSE2.cpp', |
55 '../third_party/skia/src/opts/SkBitmapFilter_opts_SSE2.cpp', | 55 '../third_party/skia/src/opts/SkBitmapFilter_opts_SSE2.cpp', |
56 '../third_party/skia/src/opts/SkMorphology_opts_SSE2.cpp', | 56 '../third_party/skia/src/opts/SkMorphology_opts_SSE2.cpp', |
57 '../third_party/skia/src/opts/SkBlurImage_opts_SSE2.cpp', | 57 '../third_party/skia/src/opts/SkBlurImage_opts_SSE2.cpp', |
58 ], | 58 ], |
59 'dependencies': [ | 59 'dependencies': [ |
60 'skia_opts_ssse3', | 60 'skia_opts_ssse3', |
| 61 'skia_opts_sse4', |
61 ], | 62 ], |
62 }], | 63 }], |
63 [ 'target_arch == "arm"', { | 64 [ 'target_arch == "arm"', { |
64 'conditions': [ | 65 'conditions': [ |
65 [ 'arm_version >= 7 and arm_neon == 1', { | 66 [ 'arm_version >= 7 and arm_neon == 1', { |
66 'defines': [ | 67 'defines': [ |
67 '__ARM_HAVE_NEON', | 68 '__ARM_HAVE_NEON', |
68 ], | 69 ], |
69 }], | 70 }], |
70 [ 'arm_version >= 7 and arm_neon_optional == 1', { | 71 [ 'arm_version >= 7 and arm_neon_optional == 1', { |
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
197 }, | 198 }, |
198 }], | 199 }], |
199 [ 'target_arch != "arm" and target_arch != "arm64" and \ | 200 [ 'target_arch != "arm" and target_arch != "arm64" and \ |
200 target_arch != "mipsel"', { | 201 target_arch != "mipsel"', { |
201 'sources': [ | 202 'sources': [ |
202 '../third_party/skia/src/opts/SkBitmapProcState_opts_SSSE3.cpp', | 203 '../third_party/skia/src/opts/SkBitmapProcState_opts_SSSE3.cpp', |
203 ], | 204 ], |
204 }], | 205 }], |
205 ], | 206 ], |
206 }, | 207 }, |
| 208 # For the same lame reasons as what is done for skia_opts, we also have to |
| 209 # create another target specifically for SSE4 code as we would not want |
| 210 # to compile the SSE2 code with -msse4 which would potentially allow |
| 211 # gcc to generate SSE4 code. |
| 212 { |
| 213 'target_name': 'skia_opts_sse4', |
| 214 'type': 'static_library', |
| 215 'includes': [ |
| 216 'skia_common.gypi', |
| 217 ], |
| 218 'include_dirs': [ |
| 219 '../third_party/skia/include/core', |
| 220 '../third_party/skia/src/core', |
| 221 ], |
| 222 'conditions': [ |
| 223 [ 'OS in ["linux", "freebsd", "openbsd", "solaris", "android"]', { |
| 224 'cflags': [ |
| 225 '-msse4', |
| 226 ], |
| 227 }], |
| 228 [ 'OS == "mac"', { |
| 229 'xcode_settings': { |
| 230 'GCC_ENABLE_SSE41_EXTENSIONS': 'YES', |
| 231 }, |
| 232 }], |
| 233 [ 'target_arch == "x64"', { |
| 234 'sources': [ |
| 235 '../third_party/skia/src/opts/SkBlitRow_opts_SSE4_x64_asm.S', |
| 236 ], |
| 237 }], |
| 238 [ 'target_arch == "ia32"', { |
| 239 'sources': [ |
| 240 '../third_party/skia/src/opts/SkBlitRow_opts_SSE4_asm.S', |
| 241 ], |
| 242 }], |
| 243 ], |
| 244 }, |
207 { | 245 { |
208 'target_name': 'skia_opts_none', | 246 'target_name': 'skia_opts_none', |
209 'type': 'static_library', | 247 'type': 'static_library', |
210 'includes': [ | 248 'includes': [ |
211 'skia_common.gypi', | 249 'skia_common.gypi', |
212 ], | 250 ], |
213 'include_dirs': [ | 251 'include_dirs': [ |
214 '../third_party/skia/include/core', | 252 '../third_party/skia/include/core', |
215 '../third_party/skia/include/effects', | 253 '../third_party/skia/include/effects', |
216 '../third_party/skia/src/core', | 254 '../third_party/skia/src/core', |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
282 'defines': [ | 320 'defines': [ |
283 '__ARM_HAVE_OPTIONAL_NEON_SUPPORT', | 321 '__ARM_HAVE_OPTIONAL_NEON_SUPPORT', |
284 ], | 322 ], |
285 }], | 323 }], |
286 ], | 324 ], |
287 }, | 325 }, |
288 ], | 326 ], |
289 }], | 327 }], |
290 ], | 328 ], |
291 } | 329 } |
OLD | NEW |