Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Side by Side Diff: gyp/opts.gyp

Issue 366593004: Add SSE4 version of BlurImage optimizations. (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: I have to stop optimizing gyp files... Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | src/opts/SkBlurImage_opts_SSE2.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 194 matching lines...) Expand 10 before | Expand all | Expand 10 after
205 'type': 'static_library', 205 'type': 'static_library',
206 'standalone_static_library': 1, 206 'standalone_static_library': 1,
207 'dependencies': [ 207 'dependencies': [
208 'core.gyp:*', 208 'core.gyp:*',
209 'effects.gyp:*' 209 'effects.gyp:*'
210 ], 210 ],
211 'include_dirs': [ 211 'include_dirs': [
212 '../src/core', 212 '../src/core',
213 ], 213 ],
214 'conditions': [ 214 'conditions': [
215 [ 'skia_os in ["linux", "freebsd", "openbsd", "solaris", "nacl", "chrome os", "android", "mac"] \ 215 [ 'skia_os in ["linux", "freebsd", "openbsd", "solaris", "nacl", "chrome os", "android"] \
216 and not skia_android_framework', { 216 and not skia_android_framework', {
217 'cflags': [ 217 'cflags': [
218 '-msse4', 218 '-msse4',
219 ], 219 ],
220 }], 220 }],
221 [ 'skia_arch_width == 64 and skia_arch_type == "x86"', { 221 [ 'skia_os == "mac"', {
222 'xcode_settings': {
223 'OTHER_CPLUSPLUSFLAGS!': [
224 '-mssse3',
225 ],
226 'OTHER_CPLUSPLUSFLAGS': [
227 '-msse4',
228 ],
229 },
230 }],
231 [ 'skia_arch_type == "x86"', {
222 'sources': [ 232 'sources': [
223 '../src/opts/SkBlitRow_opts_SSE4_x64_asm.S', 233 '../src/opts/SkBlurImage_opts_SSE4.cpp',
234 ],
235 'conditions': [
236 [ 'skia_arch_width == 64', {
237 'sources': [
238 '../src/opts/SkBlitRow_opts_SSE4_x64_asm.S',
239 ],
240 }],
241 [ 'skia_arch_width == 32', {
242 'sources': [
243 '../src/opts/SkBlitRow_opts_SSE4_asm.S',
244 ],
245 }],
224 ], 246 ],
225 }], 247 }],
226 [ 'skia_arch_width == 32 and skia_arch_type == "x86"', {
227 'sources': [
228 '../src/opts/SkBlitRow_opts_SSE4_asm.S',
229 ],
230 }],
231 ], 248 ],
232 }, 249 },
233 # NEON code must be compiled with -mfpu=neon which also affects scalar 250 # NEON code must be compiled with -mfpu=neon which also affects scalar
234 # code. To support dynamic NEON code paths, we need to build all 251 # code. To support dynamic NEON code paths, we need to build all
235 # NEON-specific sources in a separate static library. The situation 252 # NEON-specific sources in a separate static library. The situation
236 # is very similar to the SSSE3 and SSE4 one. 253 # is very similar to the SSSE3 and SSE4 one.
237 { 254 {
238 'target_name': 'opts_neon', 255 'target_name': 'opts_neon',
239 'product_name': 'skia_opts_neon', 256 'product_name': 'skia_opts_neon',
240 'type': 'static_library', 257 'type': 'static_library',
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
273 '../src/opts/SkBitmapProcState_matrix_neon.h', 290 '../src/opts/SkBitmapProcState_matrix_neon.h',
274 '../src/opts/SkBlitMask_opts_arm_neon.cpp', 291 '../src/opts/SkBlitMask_opts_arm_neon.cpp',
275 '../src/opts/SkBlitRow_opts_arm_neon.cpp', 292 '../src/opts/SkBlitRow_opts_arm_neon.cpp',
276 '../src/opts/SkBlurImage_opts_neon.cpp', 293 '../src/opts/SkBlurImage_opts_neon.cpp',
277 '../src/opts/SkMorphology_opts_neon.cpp', 294 '../src/opts/SkMorphology_opts_neon.cpp',
278 '../src/opts/SkXfermode_opts_arm_neon.cpp', 295 '../src/opts/SkXfermode_opts_arm_neon.cpp',
279 ], 296 ],
280 }, 297 },
281 ], 298 ],
282 } 299 }
OLDNEW
« no previous file with comments | « no previous file | src/opts/SkBlurImage_opts_SSE2.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698