46b8083339
This sets us up two new opts targets with the immediate goal of adding half-float (SkHalf.h) opts: - opts_neon_fp16: uses hardware support on most ARM chips with NEON to do 4 conversions at a time; - opts_avx: uses hardware support on Intel chips with AVX to do 8 conversions at a time. opts_avx will be a handy thing to have around later too, especially if we want to work with floats. This doesn't actually add any new source files to these libraries yet, so they're no-ops for now. I'll need to write a parallel change to Chrome's GN and GYPs before we can start adding sources. This also rolls GYP up to head, to get suppport for EnableEnhancedInstructionSet: '3' on Windows, which is how we turn on AVX there. There's no Mac-specific flag, so we use OTHER_CPLUSPLUSFLAGS. BUG=skia: TBR=reed@google.com Review URL: https://codereview.chromium.org/915693002
89 lines
4.3 KiB
Python
89 lines
4.3 KiB
Python
{
|
|
'none_sources': [
|
|
'<(skia_src_path)/opts/SkBitmapProcState_opts_none.cpp',
|
|
'<(skia_src_path)/opts/SkBlitMask_opts_none.cpp',
|
|
'<(skia_src_path)/opts/SkBlitRow_opts_none.cpp',
|
|
'<(skia_src_path)/opts/SkBlurImage_opts_none.cpp',
|
|
'<(skia_src_path)/opts/SkMorphology_opts_none.cpp',
|
|
'<(skia_src_path)/opts/SkTextureCompression_opts_none.cpp',
|
|
'<(skia_src_path)/opts/SkUtils_opts_none.cpp',
|
|
'<(skia_src_path)/opts/SkXfermode_opts_none.cpp',
|
|
],
|
|
|
|
'armv7_sources': [
|
|
'<(skia_src_path)/opts/SkBitmapProcState_opts_arm.cpp',
|
|
'<(skia_src_path)/opts/SkBlitMask_opts_arm.cpp',
|
|
'<(skia_src_path)/opts/SkBlitRow_opts_arm.cpp',
|
|
'<(skia_src_path)/opts/SkBlurImage_opts_arm.cpp',
|
|
'<(skia_src_path)/opts/SkMorphology_opts_arm.cpp',
|
|
'<(skia_src_path)/opts/SkTextureCompression_opts_arm.cpp',
|
|
'<(skia_src_path)/opts/SkUtils_opts_arm.cpp',
|
|
'<(skia_src_path)/opts/SkXfermode_opts_arm.cpp',
|
|
'<(skia_src_path)/opts/memset.arm.S',
|
|
],
|
|
'neon_sources': [
|
|
'<(skia_src_path)/opts/SkBitmapProcState_arm_neon.cpp',
|
|
'<(skia_src_path)/opts/SkBitmapProcState_matrixProcs_neon.cpp',
|
|
'<(skia_src_path)/opts/SkBlitMask_opts_arm_neon.cpp',
|
|
'<(skia_src_path)/opts/SkBlitRow_opts_arm_neon.cpp',
|
|
'<(skia_src_path)/opts/SkBlurImage_opts_neon.cpp',
|
|
'<(skia_src_path)/opts/SkMorphology_opts_neon.cpp',
|
|
'<(skia_src_path)/opts/SkTextureCompression_opts_neon.cpp',
|
|
'<(skia_src_path)/opts/SkXfermode_opts_arm_neon.cpp',
|
|
'<(skia_src_path)/opts/memset16_neon.S',
|
|
'<(skia_src_path)/opts/memset32_neon.S',
|
|
],
|
|
'neon_fp16_sources': [
|
|
],
|
|
'arm64_sources': [
|
|
'<(skia_src_path)/opts/SkBitmapProcState_arm_neon.cpp',
|
|
'<(skia_src_path)/opts/SkBitmapProcState_matrixProcs_neon.cpp',
|
|
'<(skia_src_path)/opts/SkBitmapProcState_opts_arm.cpp',
|
|
'<(skia_src_path)/opts/SkBlitMask_opts_arm.cpp',
|
|
'<(skia_src_path)/opts/SkBlitMask_opts_arm_neon.cpp',
|
|
'<(skia_src_path)/opts/SkBlitRow_opts_arm.cpp',
|
|
'<(skia_src_path)/opts/SkBlitRow_opts_arm_neon.cpp',
|
|
'<(skia_src_path)/opts/SkBlurImage_opts_arm.cpp',
|
|
'<(skia_src_path)/opts/SkBlurImage_opts_neon.cpp',
|
|
'<(skia_src_path)/opts/SkMorphology_opts_arm.cpp',
|
|
'<(skia_src_path)/opts/SkMorphology_opts_neon.cpp',
|
|
'<(skia_src_path)/opts/SkTextureCompression_opts_none.cpp',
|
|
'<(skia_src_path)/opts/SkUtils_opts_none.cpp',
|
|
'<(skia_src_path)/opts/SkXfermode_opts_arm.cpp',
|
|
'<(skia_src_path)/opts/SkXfermode_opts_arm_neon.cpp',
|
|
],
|
|
|
|
'mips_dsp_sources': [
|
|
'<(skia_src_path)/opts/SkBitmapProcState_opts_mips_dsp.cpp',
|
|
'<(skia_src_path)/opts/SkBlitMask_opts_none.cpp',
|
|
'<(skia_src_path)/opts/SkBlitRow_opts_mips_dsp.cpp',
|
|
'<(skia_src_path)/opts/SkBlurImage_opts_none.cpp',
|
|
'<(skia_src_path)/opts/SkMorphology_opts_none.cpp',
|
|
'<(skia_src_path)/opts/SkTextureCompression_opts_none.cpp',
|
|
'<(skia_src_path)/opts/SkUtils_opts_none.cpp',
|
|
'<(skia_src_path)/opts/SkXfermode_opts_none.cpp',
|
|
],
|
|
|
|
'sse2_sources': [
|
|
'<(skia_src_path)/opts/SkBitmapFilter_opts_SSE2.cpp',
|
|
'<(skia_src_path)/opts/SkBitmapProcState_opts_SSE2.cpp',
|
|
'<(skia_src_path)/opts/SkBlitRect_opts_SSE2.cpp',
|
|
'<(skia_src_path)/opts/SkBlitRow_opts_SSE2.cpp',
|
|
'<(skia_src_path)/opts/SkBlurImage_opts_SSE2.cpp',
|
|
'<(skia_src_path)/opts/SkMorphology_opts_SSE2.cpp',
|
|
'<(skia_src_path)/opts/SkTextureCompression_opts_none.cpp',
|
|
'<(skia_src_path)/opts/SkUtils_opts_SSE2.cpp',
|
|
'<(skia_src_path)/opts/SkXfermode_opts_SSE2.cpp',
|
|
'<(skia_src_path)/opts/opts_check_x86.cpp',
|
|
],
|
|
'ssse3_sources': [
|
|
'<(skia_src_path)/opts/SkBitmapProcState_opts_SSSE3.cpp',
|
|
],
|
|
'sse41_sources': [
|
|
'<(skia_src_path)/opts/SkBlurImage_opts_SSE4.cpp',
|
|
'<(skia_src_path)/opts/SkBlitRow_opts_SSE4.cpp',
|
|
],
|
|
'avx_sources': [
|
|
],
|
|
}
|