aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/opts/opts_check_arm.cpp
Commit message (Collapse)AuthorAge
* Sanitizing source files in Skia_Periodic_House_KeepingGravatar skia.committer@gmail.com2013-01-26
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@7406 2bbb7eff-a529-9590-31e7-b0007b416f81
* first cut at making iOS workGravatar caryclark@google.com2012-09-20
| | | | | | | | | | | | | Replace __arm__ with SK_CPU_ARM add support for iOS simulator and device fix const warning in iOSSampleApp update gyp files https://code.google.com/p/skia/issues/detail?id=900 tracks fixing missing arm assembly Review URL: https://codereview.appspot.com/6552045 git-svn-id: http://skia.googlecode.com/svn/trunk@5606 2bbb7eff-a529-9590-31e7-b0007b416f81
* arm: First step towards dynamic NEON support.Gravatar digit@google.com2012-05-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds minimal support for dynamic ARM NEON support, i.e. the ability to probe the CPU at runtime for NEON and provide alternate code paths when it is available. - Add include/core/SkUtilsArm.h, which declares a few helper macros (e.g. SK_NEON_ARM_IS_DYNAMIC), plus the handy function 'sk_cpu_arm_has_neon()' which returns true if the target CPU supports the ARM NEON instruction set. Note that the header is in include/core/ because it will have to be included from NEON-specific code under src/code/ It would probably be more logical to put it under include/opts/ instead, but this would require moving all the NEON-specific stuff under src/code/ into src/opts/, which is not trivial due to the way the code is currently architected. - Add src/core/SkUtilsArm.cpp which implements 'sk_cpu_arm_has_neon' for ARM-based Linux systems, only when SK_NEON_ARM_IS_DYNAMIC is true. (For other cases, 'sk_cpu_arm_has_neon' is an inline function that returns a constant 'true' or 'false' value). There is no user-level accessible CPUID instruction on ARM, so do all CPU feature probing by parsing /proc/cpuinfo. This is Linux-specific. For Debug build types, the CPU probing result is printed to the Android log (or Linux command-line) for easier debugging. - Create a new 'opts_neon' target (static library) which shall contain all the NEON-specific code paths for the library. This is necessary because -mfpu=neon impacts also non-scalar code. Just like with -mssse3 on x86, we can't build the rest of the library with this flag. Note that for now, we only include memset16_neon and memset32_neon in this library. - Modify opts_check_arm.cpp to implement SK_ARM_NEON_IS_DYNAMIC properly. Compared to a 'xoom' build, the only difference is the use of NEON-optimized memset16/32 functions. Later patches will move more NEON-specific code paths to 'opts_neon'. Review URL: https://codereview.appspot.com/6247058 git-svn-id: http://skia.googlecode.com/svn/trunk@4069 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix Android, too, by providing cross-platform NULL version of new factory.Gravatar tomhudson@google.com2012-03-19
| | | | | | | | Another cowboy build fix. git-svn-id: http://skia.googlecode.com/svn/trunk@3425 2bbb7eff-a529-9590-31e7-b0007b416f81
* don't mention the neon functions if no neon is availableGravatar reed@google.com2011-10-21
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@2514 2bbb7eff-a529-9590-31e7-b0007b416f81
* Manually update copyright notices in files that defied the automated processGravatar epoger@google.com2011-07-28
| | | | | | | | | | | | | | | | | | | used in http://codereview.appspot.com/4816058/ ('Automatic update of all copyright notices to reflect new license terms.') Note that the following files have been left alone, because they name copyright holders outside of Google. Please let me know if we need to update these files: experimental/CiCarbonSampleMain.c src/opts/memset16_neon.S src/opts/memset32_neon.S src/opts/opts_check_arm.cpp src/ports/SkDebug_brew.cpp src/ports/SkMemory_brew.cpp src/ports/SkOSFile_brew.cpp Review URL: http://codereview.appspot.com/4806054 git-svn-id: http://skia.googlecode.com/svn/trunk@1981 2bbb7eff-a529-9590-31e7-b0007b416f81
* http://codereview.appspot.com/4365051/Gravatar reed@google.com2011-04-27
| | | | | | | | | | Unnecessary code duplication for returning arm/neon version of memset . Removed the redundant file and merged the functionality into opts_check_arm.cpp which will return arm or neon version of memset based on build flag git-svn-id: http://skia.googlecode.com/svn/trunk@1197 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add versions of memset16() and memset32() in ARM assembly.Gravatar agl@chromium.org2010-08-13
In benchmarks here on Cortex A9 processors, this code runs 25-30% faster than the C equivalent. Patch by: Steve McIntyre (ARM) http://codereview.appspot.com/1973042 git-svn-id: http://skia.googlecode.com/svn/trunk@594 2bbb7eff-a529-9590-31e7-b0007b416f81