summaryrefslogtreecommitdiff
path: root/opts/opts_check_SSE2.cpp
AgeCommit message (Collapse)Author
2013-07-31Enable runtime checks for SSSE3 on x86 on Android.mtklein@google.com
$ compare-android.sh bench --match bitmap_ --repeat 30 master -> ssse3 N=30 p=0.001000 (corrected to 0.000033) sig? speedup bench n -1.16% bitmap_scale_filter_256_64 y -0.72% bitmap_8888_A_scale_bicubic y -0.21% bitmap_index8_A n -0.00% bitmap_565 n -0.00% bitmap_scale_filter_90_80 n 0.03% bitmap_8888_A_source_transparent y 0.06% bitmap_index8 y 0.30% bitmap_8888_A_source_stripes_two n 0.34% bitmap_scale_filter_80_90 y 0.42% bitmap_8888_A y 0.44% bitmap_8888_A_source_opaque n 0.53% bitmap_scale_filter_90_10 y 0.71% bitmap_8888_A_source_stripes_three y 0.91% bitmap_8888_A_scale_rotate_bicubic y 1.04% bitmap_8888_update n 1.19% bitmap_scale_filter_10_90 n 1.39% bitmap_scale_filter_90_90 y 1.77% bitmap_8888_update_volatile y 1.89% bitmap_8888 y 2.37% bitmap_scale_filter_30_90 y 9.57% bitmap_scale_filter_64_256 n 17.86% bitmap_scale_filter_90_30 y 25.40% bitmap_8888_A_scale_rotate_bilerp y 27.19% bitmap_8888_scale_rotate_bilerp y 27.23% bitmap_8888_update_scale_rotate_bilerp y 27.29% bitmap_8888_update_volatile_scale_rotate_bilerp y 55.08% bitmap_8888_A_scale_bilerp y 58.75% bitmap_8888_update_volatile_scale_bilerp y 58.90% bitmap_8888_scale_bilerp y 58.92% bitmap_8888_update_scale_bilerp Overall speedup: 10.52% BUG=skia:1111 R=djsollen@google.com Review URL: https://codereview.chromium.org/21203005 git-svn-id: http://skia.googlecode.com/svn/trunk/src@10474 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-19The image resampling code has been transplanted from Chrome; it's incredibly ↵humper@google.com
fast. We've tested this CL plumbed into Chrome and done benchmarking with excellent results. This CL can land independent of any Chrome changes; it's completely internal to skia. BUG= R=reed@google.com Review URL: https://codereview.chromium.org/19335002 git-svn-id: http://skia.googlecode.com/svn/trunk/src@10206 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-09New bitmap filter checkin; this time with less build breakagehumper@google.com
BUG= Review URL: https://codereview.chromium.org/18942002 git-svn-id: http://skia.googlecode.com/svn/trunk/src@9944 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-09Revert "More general image filter interface; tested implementation of ↵humper@google.com
standalone" This reverts commit 4df3e8b079e019af5f60c13e7e6ec6589663962a. git-svn-id: http://skia.googlecode.com/svn/trunk/src@9937 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-09More general image filter interface; tested implementation of standalonehumper@google.com
image scaler (not yet plumbed). High quality downsampler. Fast SSE resampler. BUG= R=reed@google.com Review URL: https://codereview.chromium.org/17381008 git-svn-id: http://skia.googlecode.com/svn/trunk/src@9936 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-21remove dst/rendertarget support for kARGB_4444_Configreed@google.com
BUG= Review URL: https://codereview.chromium.org/17335008 git-svn-id: http://skia.googlecode.com/svn/trunk/src@9727 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-26Sanitizing source files in Skia_Periodic_House_Keepingskia.committer@gmail.com
git-svn-id: http://skia.googlecode.com/svn/trunk/src@7406 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-23Result of running tools/sanitize_source_files.py (which was added in ↵rmistry@google.com
https://codereview.appspot.com/6465078/) This CL is part I of IV (I broke down the 1280 files into 4 CLs). Review URL: https://codereview.appspot.com/6485054 git-svn-id: http://skia.googlecode.com/svn/trunk/src@5262 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-27revert 4799-4801 -- red and blue are reversed on windows and linuxreed@google.com
git-svn-id: http://skia.googlecode.com/svn/trunk/src@4803 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-27land http://codereview.appspot.com/6327044/reed@google.com
SSE optimization for 565 pixel format -- by Lei git-svn-id: http://skia.googlecode.com/svn/trunk/src@4799 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-24land http://codereview.appspot.com/6353063/ by Leireed@google.com
optimizations for D16 using SSE2 skia_bench -config 565 -match bitmap_8888_scale_filter -forceFilter 1 -repeat 30 The result I got on Android platform was below: w/o this optimization routine: D/skia ( 1868): running bench [640 480] bitmap_8888_scale_filter D/skia ( 1868): 565: cmsecs = 286.50 w/ with optimization: D/skia ( 1463): running bench [640 480] bitmap_8888_scale_filter D/skia ( 1463): 565: cmsecs = 186.80 The net gain is 34.80%. git-svn-id: http://skia.googlecode.com/svn/trunk/src@4729 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-16land http://codereview.appspot.com/6325044/ by Leireed@google.com
git-svn-id: http://skia.googlecode.com/svn/trunk/src@4622 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-06fix warnings on Mac in src/optscaryclark@google.com
Fix these class of warnings: - unused functions - unused locals - sign mismatch - missing function prototypes - missing newline at end of file - 64 to 32 bit truncation The changes prefer to link in dead code in the debug build with 'if (false)' than to comment it out, but trivial cases are commented out or sometimes deleted if it appears to be a copy/paste error. Review URL: https://codereview.appspot.com/6303045 git-svn-id: http://skia.googlecode.com/svn/trunk/src@4184 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-17Use intrinsics instead of inline assembly for detecting CPU ID & SSE2/3 supporttomhudson@google.com
on 64-bit builds in MS Visual Studio 2010. Original code provided by jianliang79. http://code.google.com/p/skia/issues/detail?id=600 git-svn-id: http://skia.googlecode.com/svn/trunk/src@3991 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-16Disable SSSE3 for Android x86 *ONLY*.tomhudson@google.com
First attempt to do this inadvertently turned it off for everyone; watch performance numbers. New benchmarks from r3963 should give us coverage. http://codereview.appspot.com/6198069/ git-svn-id: http://skia.googlecode.com/svn/trunk/src@3970 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-10Reactivate SSSE3 optimizations, undoing r3770.tomhudson@google.com
This will break Android x86 clients; they will need to work around, and hopefully can resubmit a patch to do so that doesn't disable SSSE3 on all other platforms (20-30% performance penalty). http://codereview.appspot.com/6201070/ git-svn-id: http://skia.googlecode.com/svn/trunk/src@3901 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-27Allow building on platforms with SSE2 but not SSSE3 by adding an #ifdef.tomhudson@google.com
Patch from Wei James (wistoch@gmail). http://codereview.appspot.com/6124050/ git-svn-id: http://skia.googlecode.com/svn/trunk/src@3770 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-19Remove stale #include.tomhudson@google.com
Unreviewed cowboy commit to fix build. git-svn-id: http://skia.googlecode.com/svn/trunk/src@3424 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-19(SSE2) acceleration for rectangular opaque erases.tomhudson@google.com
15% speedup for rectangles < 31 px wide, 5% for larger. http://codereview.appspot.com/5843050/ git-svn-id: http://skia.googlecode.com/svn/trunk/src@3423 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-06SSSE3 code for drawing rotated bitmaps; produces 25-30% speedup.tomhudson@google.com
Courtesy of Jin Yang. http://codereview.appspot.com/5704055/ git-svn-id: http://skia.googlecode.com/svn/trunk/src@3331 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-28SSE2 version of ClampX_ClampY_{no}filter_affine, courtesy of Jin Yang.tomhudson@google.com
Speeds up drawing rotated bitmaps by 20-30%. http://codereview.appspot.com/5700076/ git-svn-id: http://skia.googlecode.com/svn/trunk/src@3272 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-22SSE2 version of ClampX_ClampY_{no}filter_scale; yields 10-20% speedup intomhudson@google.com
bitmap_8888 benchmarks on top of last week's SSSE3 patch. Thanks to Jin Yang. http://codereview.appspot.com/5685055/ git-svn-id: http://skia.googlecode.com/svn/trunk/src@3227 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-14Add SSSE3 acceleration for S32_{opaque,alpha}_D32_filter_DX; should yieldtomhudson@google.com
25% speedup on 64b architectures, something smaller but still valuable on 32b. Adds new files, breaking client gyps. http://codereview.appspot.com/5515044/ git-svn-id: http://skia.googlecode.com/svn/trunk/src@3193 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-14SSE2 version of blit_lcd16, courtesy of Jin Yang.tomhudson@google.com
Yields 25-30% speedup on Windows (32b), 4-7% on Linux (64b, less register pressure), not invoked on Mac (lcd text is 32b instead of 16b). Followup: GDI system settings on Windows can suppress LCD text for small fonts, interfering with our benchmarks. (http://code.google.com/p/skia/issues/detail?id=483) http://codereview.appspot.com/5617058/ git-svn-id: http://skia.googlecode.com/svn/trunk/src@3189 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-15support blitMask+shader natively (1.75x faster for AA, and now we can supportreed@google.com
LCD at all with a shader.) git-svn-id: http://skia.googlecode.com/svn/trunk/src@2689 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-14rename/refactor in preparation for supporting accelerated blits of shader-outputreed@google.com
through a mask. git-svn-id: http://skia.googlecode.com/svn/trunk/src@2684 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-10-18move LCD blits into opts, so they can have assembly versionsreed@google.com
git-svn-id: http://skia.googlecode.com/svn/trunk/src@2484 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-10-12separate SkBlitMask decl into its own headerreed@google.com
git-svn-id: http://skia.googlecode.com/svn/trunk/src@2461 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-28Automatic update of all copyright notices to reflect new license terms.epoger@google.com
I have manually examined all of these diffs and restored a few files that seem to require manual adjustment. The following files still need to be modified manually, in a separate CL: android_sample/SampleApp/AndroidManifest.xml android_sample/SampleApp/res/layout/layout.xml android_sample/SampleApp/res/menu/sample.xml android_sample/SampleApp/res/values/strings.xml android_sample/SampleApp/src/com/skia/sampleapp/SampleApp.java android_sample/SampleApp/src/com/skia/sampleapp/SampleView.java experimental/CiCarbonSampleMain.c experimental/CocoaDebugger/main.m experimental/FileReaderApp/main.m experimental/SimpleCocoaApp/main.m experimental/iOSSampleApp/Shared/SkAlertPrompt.h experimental/iOSSampleApp/Shared/SkAlertPrompt.m experimental/iOSSampleApp/SkiOSSampleApp-Base.xcconfig experimental/iOSSampleApp/SkiOSSampleApp-Debug.xcconfig experimental/iOSSampleApp/SkiOSSampleApp-Release.xcconfig gpu/src/android/GrGLDefaultInterface_android.cpp gyp/common.gypi gyp_skia include/ports/SkHarfBuzzFont.h include/views/SkOSWindow_wxwidgets.h make.bat make.py src/opts/memset.arm.S 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 src/ports/SkXMLParser_empty.cpp src/utils/ios/SkImageDecoder_iOS.mm src/utils/ios/SkOSFile_iOS.mm src/utils/ios/SkStream_NSData.mm tests/FillPathTest.cpp Review URL: http://codereview.appspot.com/4816058 git-svn-id: http://skia.googlecode.com/svn/trunk/src@1982 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-07re-enable SSE2 blitmask procs, only excluding if we're black (in which casereed@google.com
the protable version is still faster) git-svn-id: http://skia.googlecode.com/svn/trunk/src@1819 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-09http://codereview.appspot.com/3980041/reed@google.com
Add blitmask procs (with optional platform acceleration) patch by yaojie.yan git-svn-id: http://skia.googlecode.com/svn/trunk/src@910 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-13SSE2 optimizations for 32bit Color operation.senorblanco@chromium.org
[Patch from weiwei.li@intel.com] SSE2 optimization has been added by Stephen White before, this improves the skia performance on SSE2-supporting platform. (please refer to below issues) Issue 171055: More SSE2ification Issue 157141: More SSE2ification Issue 150060: minor tweaks to SSE2 code for -fPIC Issue 144072: SSE2 optimizations for 32bit blending blitters This CL implements SSE2 optimizations for the 32bit Color operation. Like above issues, it uses CPUID to detect for SSE2 and changes the platform procs at runtime as well. The 32bit Color operation is heavily used on Chrome HTML5 canvas operations. Take Microsoft IE test drives Pulsating Bubbles as example (http://ie.microsoft.com/testdrive/Performance/PulsatingBubbles/Default.xhtml), if running this cases on Chrome, the overhead of 32bit Color operation is about 40~50%. So this CL will make skia performance more better, and also make Chrome HTML5 canvas performance more better. Additional, this CL has passed the skia bench & tests validation, the result is pretty good. We also apply this CL to the latest chromium, and re-run Microsoft IE test drives Pulsating Bubbles, the performance is improved by almost 9~10%. git-svn-id: http://skia.googlecode.com/svn/trunk/src@633 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-06-24http://codereview.appspot.com/1706045/showreed@android.com
git-svn-id: http://skia.googlecode.com/svn/trunk/src@583 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-12-10SSE2-ified S32_alpha_D32_filter_DX (refactoring to come). Also shaved a fewsenorblanco@chromium.org
cycles off the SSE2 blends. Review URL: http://codereview.appspot.com/171055 git-svn-id: http://skia.googlecode.com/svn/trunk/src@456 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-11-30More SSE2 optimizations. This CL implements an SSE2 version of ↵senorblanco@chromium.org
S32_bitmap_D32_filter_DX, and uses aligned loads and stores for dst, in all blending. Review URL: http://codereview.appspot.com/157141 git-svn-id: http://skia.googlecode.com/svn/trunk/src@448 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-11-20Build fix for WIN64 (unreviewed).senorblanco@chromium.org
git-svn-id: http://skia.googlecode.com/svn/trunk/src@439 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-11-16More SSE2-ification; fix for gcc -msse2.senorblanco@chromium.org
Review URL: http://codereview.appspot.com/154163 git-svn-id: http://skia.googlecode.com/svn/trunk/src@428 2bbb7eff-a529-9590-31e7-b0007b416f81