| 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 |