aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/core/SkPreConfig.h
Commit message (Collapse)AuthorAge
* use __BYTE_ORDER__ macro to detect endianness when availableGravatar Lee Salzman2016-11-28
| | | | | | | | | BUG=skia: Change-Id: Iff27097c248a643319e930a6212c5a7155bd0064 Reviewed-on: https://skia-review.googlesource.com/5280 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Apple devices do not support CRC32 instructions. Don't believe Clang's lies.Gravatar mtklein2016-09-08
| | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2322033002 CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Review-Url: https://codereview.chromium.org/2322033002
* update Android auto-detection.Gravatar mtklein2016-08-25
| | | | | | | | | | | | Clang defines __ANDROID__ BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2278483004 No public API changes. TBR=reed@google.com Review-Url: https://codereview.chromium.org/2278483004
* Enable SK_DEBUG/SK_RELEASE to be defined in the user config.Gravatar djsollen2016-08-05
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2204683005 Review-Url: https://codereview.chromium.org/2204683005
* spin off easy stuff from Herb's windows GN CLGravatar mtklein2016-08-04
| | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2209533004 No public API changes. TBR=reed@google.com Review-Url: https://codereview.chromium.org/2209533004
* Make SK_BUILD_FOR_WIN32 auto-detection work.Gravatar mtklein2016-08-03
| | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2205173003 No public API changes TBR=reed@google.com Review-Url: https://codereview.chromium.org/2205173003
* Make both SK_API definition points identical and order independent.Gravatar mtklein2016-07-28
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2189983002 Review-Url: https://codereview.chromium.org/2189983002
* Add support for FuchsiaGravatar abarth2016-07-15
| | | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2152273002 [mtklein edit from here down] No public API changes. TBR=reed@google.com Review-Url: https://codereview.chromium.org/2152273002
* SkLeanWindows.h: #include "Windows.h" fewer placesGravatar halcanary2016-06-07
| | | | | | | | | | | | | | | | | | | | | | | | $ git grep -l '<windows.h>' include src include/private/SkLeanWindows.h $ git grep -l SkLeanWindows.h | grep '\.h$' include/ports/SkTypeface_win.h include/utils/win/SkHRESULT.h include/utils/win/SkTScopedComPtr.h include/views/SkEvent.h src/core/SkMathPriv.h src/ports/SkTypeface_win_dw.h src/utils/SkThreadUtils_win.h src/utils/win/SkWGL.h The same for `#include <intrin.h>` that was found in SkMath.h. Those functions that needed it are moved to SkMathPriv.h. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2041943002 CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_chromium_compile_dbg_ng,win_chromium_compile_rel_ng Review-Url: https://codereview.chromium.org/2041943002
* [GN] Add support for disabling opts via SK_BUILD_NO_OPTS define.Gravatar sdefresne2016-06-01
| | | | | | | | | | | | | | | | | | | | | When targetting iOS and using gyp to generate the build files, it is not possible to select files to build depending on the architecture. Due to that, the skia code was disabling all optimisation when SK_BUILD_FOR_IOS was defined. Since it is possible to select the correct optimised version when using gn, this pessimisation is hurting the build. Introduce a new define to disable the optimisation SK_BUILD_NO_OPTS. It will be used by Chromium when building skia for iOS with gyp but not gn. Define SK_BUILD_NO_OPTS along-side SK_BUILD_FOR_IOS for all files that look like build configuration (Xcode projects, gyp configuration files, public.bzl) in order to avoid introducing breakage on those builds. BUG=607933 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2002423002 Review-Url: https://codereview.chromium.org/2002423002
* force no SSE on iOS simulatorGravatar mtklein2016-03-23
| | | | | | | | | TBR=reed@google.com BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1832533002 Review URL: https://codereview.chromium.org/1832533002
* check for both __ARM_NEON__ and __ARM_NEONGravatar lsalzman2016-01-26
| | | | | | | | | | No public API changes. TBR=reed@google.com BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1630903004 Review URL: https://codereview.chromium.org/1630903004
* SkPreConfig.h: Allow defined(__unix__) to imply SK_BUILD_FOR_UNIXGravatar mseaborn2015-12-15
| | | | | | | | | | | | | | This is more general than checking for __linux, __FreeBSD__, etc. (In principle we could remove some of the existing checks such as __FreeBSD__, but I have not tried that so far.) In particular, it allows Skia to build with the NaCl or PNaCl toolchains, which is something we would like for Mojo. BUG=https://github.com/domokit/mojo/issues/431 TEST=none Review URL: https://codereview.chromium.org/1523733003
* CMake, include/: changes to make fiddle 2.0 betterGravatar halcanary2015-12-01
| | | | | | | | | | | cmake: remove unused directories from skia.h / ${public_includes} SkPreConfig.h: work around buggy `#ifdef linux` include: guard many platform-specific headers CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac10.9-Clang-x86_64-Release-CMake-Trybot Review URL: https://codereview.chromium.org/1488813002
* Add build targets for advanced Intel instruction sets (1 of 3).Gravatar mtklein2015-08-24
| | | | | | | | | | | | | | | | | | | | | | | CL (1 of 3) adds empty lists in our .gypi, and builds the files in those empty lists with the appropriate flags. CL (2 of 3) will have Chrome's GYP and GN files read these lists, and build them with the appropriate flags. CL (3 of 3) will add runtime detection and stub files to the lists with empty Init_sse42(), Init_avx(), Init_avx2() methods. After that, we should be able to use SSE 4.2, AVX, and AVX2 if desired. Some motivation: - SSE 4.2 adds some sweet string-oriented methods that can help us write fast high quality 32-bit hashes. - AVX is SSE doubled, e.g. 8 floats or two SkPMFloat at a time. - AVX2 is SSE2 doubled, e.g. 8 pixels at a time. BUG=skia:4117 Review URL: https://codereview.chromium.org/1290423007
* The compiler can generate smulbb perfectly well nowadays.Gravatar mtklein2015-08-07
| | | | | | BUG=skia:4117 Review URL: https://codereview.chromium.org/1273203002
* __ARM_NEON is defined both by ARMv8 and ARMv7 + -mfpu=neon.Gravatar mtklein2015-08-06
| | | | | | | | Can't hurt to simplify a little. BUG=skia:4117 Review URL: https://codereview.chromium.org/1274513003
* IWYU: 'core' target, files starting A-C.Gravatar bungeman2015-08-05
| | | | | | | | | TBR=reed@google.com Verbal lgtm, does not change API. Committed: https://skia.googlesource.com/skia/+/7403d87db8e43d4c2b5b25ac22a0ebc22bd09d69 Review URL: https://codereview.chromium.org/1265033002
* Revert of IWYU: 'core' target, files starting A-C. (patchset #5 id:80001 of ↵Gravatar reed2015-08-04
| | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1265033002/ ) Reason for revert: revert to unblock DEPS roll ../../chrome/browser/chromeos/display/overscan_calibrator.cc:43:10: error: variable has incomplete type 'SkPath' SkPath base_path; Original issue's description: > IWYU: 'core' target, files starting A-C. > > TBR=reed@google.com > Verbal lgtm, does not change API. > > Committed: https://skia.googlesource.com/skia/+/7403d87db8e43d4c2b5b25ac22a0ebc22bd09d69 TBR=reed@google.com,mtklein@google.com,bungeman@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1273613002
* IWYU: 'core' target, files starting A-C.Gravatar bungeman2015-08-04
| | | | | | | TBR=reed@google.com Verbal lgtm, does not change API. Review URL: https://codereview.chromium.org/1265033002
* Remove WEBKIT_VERSION_MIN_REQUIRED and config.h.Gravatar bungeman2015-07-29
| | | | | | | | | | | | | | | WebKit style guide (https://www.webkit.org/coding/coding-style.html) explicitly states: > All implementation files must #include "config.h" first. > Header files should never include "config.h". Also, it isn't currently being used. TBR=reed@google.com This just removes unused bits. Review URL: https://codereview.chromium.org/1256133004
* Remove SK_BUILD_FOR SDL, BREW, and PALM.Gravatar bungeman2015-07-29
| | | | | | | | SDL isn't an OS anyway, it's just a library views can use. Remaining support for Brew was removed some time ago, and there are currently no uses of SK_BUILD_FOR_PALM. Review URL: https://codereview.chromium.org/1268573002
* Remove SK_BUILD_FOR_WINCE.Gravatar bungeman2015-07-29
| | | | | | | | This hasn't been tested for years, and no one currently knows when it last worked (if ever). It is doubtful that any of the remaining logic would even make sense with a modern version of Embedded Compact 2013. Review URL: https://codereview.chromium.org/1260453008
* Revert of Allow NEON on iOS. (patchset #3 id:40001 of ↵Gravatar mtklein2015-04-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1091823002/) Reason for revert: need to coordinate this with chrome gyps/gn Original issue's description: > Allow NEON on iOS. > > I have nanobench building and running (Color32_arm_neon) on my iPad. > > No public API changes. > TBR=reed@google.com > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/e5043b7ea5170a639367b67c986568907576be4b TBR=caryclark@google.com,mtklein@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1094843005
* Allow NEON on iOS.Gravatar mtklein2015-04-17
| | | | | | | | | | | I have nanobench building and running (Color32_arm_neon) on my iPad. No public API changes. TBR=reed@google.com BUG=skia: Review URL: https://codereview.chromium.org/1091823002
* Remove all code related to NaClGravatar borenet2015-04-02
| | | | | | | BUG=skia:3600 DOCS_PREVIEW= https://skia.org/?cl=1036283002 Review URL: https://codereview.chromium.org/1036283002
* Specialize Sk2d for ARM64Gravatar mtklein2015-03-20
| | | | | | | | | | | | | | | | | | | The implementation is nearly identical to Sk2f, with these changes: - float32x2_t -> float64x2_t - vfoo -> vfooq - one extra Newton's method step in sqrt(). Also, generally fix NEON detection to be defined(SK_ARM_HAS_NEON). SK_ARM_HAS_NEON is not being set on ARM64 bots right now (nor does the compiler seem to set __ARM_NEON__), so this CL fixes everything up. BUG=skia: Committed: https://skia.googlesource.com/skia/+/e57b5cab261a243dcbefa74c91c896c28959bf09 CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Mac10.7-Clang-Arm7-Debug-iOS-Trybot,Build-Ubuntu-GCC-Arm64-Release-Android-Trybot Review URL: https://codereview.chromium.org/1020963002
* Revert of Specialize Sk2d for ARM64 (patchset #3 id:40001 of ↵Gravatar mtklein2015-03-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1020963002/) Reason for revert: https://uberchromegw.corp.google.com/i/client.skia.compile/builders/Build-Mac10.7-Clang-Arm7-Debug-iOS/builds/2441/steps/build%20most/logs/stdio https://uberchromegw.corp.google.com/i/client.skia.compile/builders/Build-Mac10.7-Clang-Arm7-Release-iOS/builds/2424/steps/build%20most/logs/stdio https://uberchromegw.corp.google.com/i/client.skia.compile/builders/Build-Ubuntu-GCC-Arm64-Release-Android/builds/8/steps/build%20most/logs/stdio Original issue's description: > Specialize Sk2d for ARM64 > > The implementation is nearly identical to Sk2f, with these changes: > - float32x2_t -> float64x2_t > - vfoo -> vfooq > - one extra Newton's method step in sqrt(). > > Also, generally fix NEON detection to be defined(SK_ARM_HAS_NEON). > SK_ARM_HAS_NEON is not being set on ARM64 bots right now (nor does the compiler > seem to set __ARM_NEON__), so this CL fixes everything up. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/e57b5cab261a243dcbefa74c91c896c28959bf09 TBR=msarett@google.com,reed@google.com,mtklein@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1028523003
* Specialize Sk2d for ARM64Gravatar mtklein2015-03-20
| | | | | | | | | | | | | | | The implementation is nearly identical to Sk2f, with these changes: - float32x2_t -> float64x2_t - vfoo -> vfooq - one extra Newton's method step in sqrt(). Also, generally fix NEON detection to be defined(SK_ARM_HAS_NEON). SK_ARM_HAS_NEON is not being set on ARM64 bots right now (nor does the compiler seem to set __ARM_NEON__), so this CL fixes everything up. BUG=skia: Review URL: https://codereview.chromium.org/1020963002
* Remove copile time enabling of SK_ARM_HAS_NEON.Gravatar Derek Sollenberger2014-08-01
| | | | | | | | | We need to know this in our build system so that we can include the necessary neon CPP files. R=mtklein@google.com Review URL: https://codereview.chromium.org/432453003
* Update NEON compiler defines to use SK_ prefixGravatar djsollen2014-08-01
| | | | | | | | | BUG=skia:2785 R=mtklein@google.com Author: djsollen@google.com Review URL: https://codereview.chromium.org/433513004
* SK_CPU_ARM --> SK_CPU_ARM32Gravatar mtklein2014-06-03
| | | | | | | | | | | That's what it means. It keeps confusing us as named today. BUG=skia: R=djsollen@google.com, mtklein@google.com, reed@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/314643004
* Improved x86 SSE build and run-time checks.Gravatar commit-bot@chromium.org2014-05-12
| | | | | | | | | | | | | | | | | | | | Replaces the current build/run-time checks for SSE level in opts_check_x86.cpp with a simpler and more future-proof version. Also adds SSE versions 4.1 and 4.2 to the config file. Author: henrik.smiding@intel.com Signed-off-by: Henrik Smiding <henrik.smiding@intel.com> Committed: http://code.google.com/p/skia/source/detail?r=14644 R=reed@google.com, mtklein@google.com, tomhudson@google.com, djsollen@google.com, joakim.landberg@intel.com Author: henrik.smiding@intel.com Review URL: https://codereview.chromium.org/272503006 git-svn-id: http://skia.googlecode.com/svn/trunk@14693 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert of Improved x86 SSE build and run-time checks. ↵Gravatar commit-bot@chromium.org2014-05-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/272503006/) Reason for revert: Windows builders breaking. :( Original issue's description: > Improved x86 SSE build and run-time checks. > > Replaces the current build/run-time checks for SSE level in > opts_check_x86.cpp with a simpler and more future-proof version. > Also adds SSE versions 4.1 and 4.2 to the config file. > > Author: henrik.smiding@intel.com > > Signed-off-by: Henrik Smiding <henrik.smiding@intel.com> > > Committed: http://code.google.com/p/skia/source/detail?r=14644 R=reed@google.com, tomhudson@google.com, djsollen@google.com, joakim.landberg@intel.com, henrik.smiding@intel.com TBR=djsollen@google.com, henrik.smiding@intel.com, joakim.landberg@intel.com, reed@google.com, tomhudson@google.com NOTREECHECKS=true NOTRY=true Author: mtklein@google.com Review URL: https://codereview.chromium.org/277593004 git-svn-id: http://skia.googlecode.com/svn/trunk@14646 2bbb7eff-a529-9590-31e7-b0007b416f81
* Improved x86 SSE build and run-time checks.Gravatar commit-bot@chromium.org2014-05-08
| | | | | | | | | | | | | | | | | | Replaces the current build/run-time checks for SSE level in opts_check_x86.cpp with a simpler and more future-proof version. Also adds SSE versions 4.1 and 4.2 to the config file. Author: henrik.smiding@intel.com Signed-off-by: Henrik Smiding <henrik.smiding@intel.com> R=reed@google.com, mtklein@google.com, tomhudson@google.com, djsollen@google.com, joakim.landberg@intel.com Author: henrik.smiding@intel.com Review URL: https://codereview.chromium.org/272503006 git-svn-id: http://skia.googlecode.com/svn/trunk@14644 2bbb7eff-a529-9590-31e7-b0007b416f81
* Define SK_CPU_X86 on x86 machines.Gravatar commit-bot@chromium.org2014-04-09
| | | | | | | | | | | | | | | | | Use this to only register flattening for SkSSE2ProcCoeffXfermode::CreateProc when it's linked. BUG=skia: R=reed@google.com, mtklein@google.com, bsalomon@google.com TBR=reed@google.com NOTRY=true NOTREECHECKS=true Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/231223002 git-svn-id: http://skia.googlecode.com/svn/trunk@14108 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert to old behavior regarding SK_CPU_ARM and update documentation around ↵Gravatar commit-bot@chromium.org2014-04-03
| | | | | | | | | | | | SK_CPU_ARM64 on iOS. R=robertphillips@google.com Author: djsollen@google.com Review URL: https://codereview.chromium.org/216823008 git-svn-id: http://skia.googlecode.com/svn/trunk@14057 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix ios build in chromium when targeting multiple architecturesGravatar djsollen@google.com2014-04-03
| | | | | | | | R=robertphillips@google.com Review URL: https://codereview.chromium.org/222583003 git-svn-id: http://skia.googlecode.com/svn/trunk@14048 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add more big endian platformsGravatar commit-bot@chromium.org2014-04-03
| | | | | | | | | | | | | | This patch adds more platforms to the list that have the BIGENDIAN defines set. Downstream users are using parts of SKIA on BigEndian machines. R=cmp@chromium.org, bungeman@google.com, bsalomon@google.com, reed@google.com, sergeyberezin@chromium.org Author: steve@ssinger.info Review URL: https://codereview.chromium.org/218733002 git-svn-id: http://skia.googlecode.com/svn/trunk@14046 2bbb7eff-a529-9590-31e7-b0007b416f81
* ARM Skia NEON patches - 35 - First AArch64 supportGravatar commit-bot@chromium.org2014-04-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Aarch64 support This change contains the necessary modifications to have Skia build and run properly on an ARMv8 processor in aarch64 execution state. Here's a list of the changes: - add an arm64 target to the build system + SK_CPU_ARM64 flag - MatrixTest was failing when built in Release mode. Fused MAC instructions were generated which made some intermediate results more accurate. As the test relies on result comparison, the more precise results when compared to others led to a gap bigger than what was tolerated. As I don't know if some actual skia code relies on results being comparable, I've disabled fused MAC instruction with -ffp-contract=off for arm64. - Modify include/core/SkOnce.h to have barriers work. - SK_CPU_ARM64 implies SK_ARM_NEON_MODE_ALWAYS. - use existing Xfermode optimisations with modifications that can be removed in the future when toolchains are ready. Also save a few instructions is two Xfermodes (will apply to ARM too). - use existing SkBoxBlur and SkMorphology optimisations. - use existing SkBlitMask optimisations - use existing BitmapProcState and Convolution optimisations. Future changes will include: - Blitters (only partialy merged upstream) - SkUtils (there's little value in sending asm optimisations without having them benchmarked on real hardware). Signed-off-by: Kevin PETIT <kevin.petit@arm.com> BUG=skia: Committed: http://code.google.com/p/skia/source/detail?r=13980 R=djsollen@google.com, reed@google.com, mtklein@google.com, halcanary@google.com Author: kevin.petit@arm.com Review URL: https://codereview.chromium.org/143423004 git-svn-id: http://skia.googlecode.com/svn/trunk@14025 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert of ARM Skia NEON patches - 35 - First AArch64 support ↵Gravatar commit-bot@chromium.org2014-03-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/143423004/) Reason for revert: GYP's failing on most (all?) bots. Original issue's description: > ARM Skia NEON patches - 35 - First AArch64 support > > Aarch64 support > > This change contains the necessary modifications to have Skia build and > run properly on an ARMv8 processor in aarch64 execution state. > > Here's a list of the changes: > > - add an arm64 target to the build system + SK_CPU_ARM64 flag > > - MatrixTest was failing when built in Release mode. Fused MAC > instructions were generated which made some intermediate results > more accurate. As the test relies on result comparison, the more > precise results when compared to others led to a gap bigger than > what was tolerated. As I don't know if some actual skia code relies > on results being comparable, I've disabled fused MAC instruction > with -ffp-contract=off for arm64. > > - Modify include/core/SkOnce.h to have barriers work. > > - SK_CPU_ARM64 implies SK_ARM_NEON_MODE_ALWAYS. > > - use existing Xfermode optimisations with modifications that can be > removed in the future when toolchains are ready. Also save a few > instructions is two Xfermodes (will apply to ARM too). > > - use existing SkBoxBlur and SkMorphology optimisations. > > - use existing SkBlitMask optimisations > > - use existing BitmapProcState and Convolution optimisations. > > Future changes will include: > > - Blitters (only partialy merged upstream) > > - SkUtils (there's little value in sending asm optimisations without > having them benchmarked on real hardware). > > Signed-off-by: Kevin PETIT <kevin.petit@arm.com> > > BUG=skia: > > Committed: http://code.google.com/p/skia/source/detail?r=13980 R=djsollen@google.com, reed@google.com, halcanary@google.com, kevin.petit@arm.com TBR=djsollen@google.com, halcanary@google.com, kevin.petit@arm.com, reed@google.com NOTREECHECKS=true NOTRY=true BUG=skia: Author: mtklein@google.com Review URL: https://codereview.chromium.org/216113005 git-svn-id: http://skia.googlecode.com/svn/trunk@13983 2bbb7eff-a529-9590-31e7-b0007b416f81
* ARM Skia NEON patches - 35 - First AArch64 supportGravatar commit-bot@chromium.org2014-03-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Aarch64 support This change contains the necessary modifications to have Skia build and run properly on an ARMv8 processor in aarch64 execution state. Here's a list of the changes: - add an arm64 target to the build system + SK_CPU_ARM64 flag - MatrixTest was failing when built in Release mode. Fused MAC instructions were generated which made some intermediate results more accurate. As the test relies on result comparison, the more precise results when compared to others led to a gap bigger than what was tolerated. As I don't know if some actual skia code relies on results being comparable, I've disabled fused MAC instruction with -ffp-contract=off for arm64. - Modify include/core/SkOnce.h to have barriers work. - SK_CPU_ARM64 implies SK_ARM_NEON_MODE_ALWAYS. - use existing Xfermode optimisations with modifications that can be removed in the future when toolchains are ready. Also save a few instructions is two Xfermodes (will apply to ARM too). - use existing SkBoxBlur and SkMorphology optimisations. - use existing SkBlitMask optimisations - use existing BitmapProcState and Convolution optimisations. Future changes will include: - Blitters (only partialy merged upstream) - SkUtils (there's little value in sending asm optimisations without having them benchmarked on real hardware). Signed-off-by: Kevin PETIT <kevin.petit@arm.com> BUG=skia: R=djsollen@google.com, reed@google.com, mtklein@google.com, halcanary@google.com Author: kevin.petit@arm.com Review URL: https://codereview.chromium.org/143423004 git-svn-id: http://skia.googlecode.com/svn/trunk@13980 2bbb7eff-a529-9590-31e7-b0007b416f81
* Enable the SSSE3 files to be built for Android when SSSE3 is not present.Gravatar commit-bot@chromium.org2014-02-25
| | | | | | | | | | | | Committed: http://code.google.com/p/skia/source/detail?r=13547 R=reed@google.com, mtklein@google.com Author: djsollen@google.com Review URL: https://codereview.chromium.org/169753004 git-svn-id: http://skia.googlecode.com/svn/trunk@13583 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert of Enable the SSSE3 files to be built for Android when SSSE3 is not ↵Gravatar commit-bot@chromium.org2014-02-21
| | | | | | | | | | | | | | | | | | | | | | | | | present. (https://codereview.chromium.org/169753004/) Reason for revert: Breaking the build. Non-android machines are calling sk_throw(). Original issue's description: > Enable the SSSE3 files to be built for Android when SSSE3 is not present. > > Committed: http://code.google.com/p/skia/source/detail?r=13547 R=reed@google.com, mtklein@google.com, djsollen@google.com TBR=djsollen@google.com, mtklein@google.com, reed@google.com NOTREECHECKS=true NOTRY=true Author: scroggo@google.com Review URL: https://codereview.chromium.org/175543004 git-svn-id: http://skia.googlecode.com/svn/trunk@13549 2bbb7eff-a529-9590-31e7-b0007b416f81
* Enable the SSSE3 files to be built for Android when SSSE3 is not present.Gravatar commit-bot@chromium.org2014-02-21
| | | | | | | | | | R=reed@google.com, mtklein@google.com Author: djsollen@google.com Review URL: https://codereview.chromium.org/169753004 git-svn-id: http://skia.googlecode.com/svn/trunk@13547 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add ifdef to avoid "not defined" compiler warnings for VS checksGravatar commit-bot@chromium.org2014-02-06
| | | | | | | | | | | BUG=skia:2130 R=reed@google.com Author: hcm@google.com Review URL: https://codereview.chromium.org/153093004 git-svn-id: http://skia.googlecode.com/svn/trunk@13345 2bbb7eff-a529-9590-31e7-b0007b416f81
* Ensure SSE2/3 is always enabled on Android.Gravatar commit-bot@chromium.org2014-01-27
| | | | | | | | | | R=mtklein@google.com, reed@google.com Author: djsollen@google.com Review URL: https://codereview.chromium.org/132883008 git-svn-id: http://skia.googlecode.com/svn/trunk@13204 2bbb7eff-a529-9590-31e7-b0007b416f81
* remove SK_SCALAR_IS_[FLOAT,FIXED] and assume floatsGravatar reed@google.com2013-12-17
| | | | | | | | | | | | | To keep the CL (slightly) managable, this does not make any changes to existing macros (e.g. SkScalarMul). Just tackling #ifdef constructs this time around. BUG= R=bsalomon@google.com, caryclark@google.com Review URL: https://codereview.chromium.org/117053002 git-svn-id: http://skia.googlecode.com/svn/trunk@12712 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert "Revert "add SK_ATTR_DEPRECATED -- will need to disable for chrome, ↵Gravatar reed@google.com2013-10-31
| | | | | | | | | | | | since it triggers a warning"" This reverts commit 1e787c38fa71f2a21fd728f1b1d620b9b09b0d3d. BUG= Review URL: https://codereview.chromium.org/54603004 git-svn-id: http://skia.googlecode.com/svn/trunk@12057 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert "add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it ↵Gravatar reed@google.com2013-10-31
| | | | | | | | triggers a warning" This reverts commit 1d22c4aaf9d8f053f25194a1ed74b137bfb19497. git-svn-id: http://skia.googlecode.com/svn/trunk@12056 2bbb7eff-a529-9590-31e7-b0007b416f81