Go to file
qiankun.miao 2253aa9393 Add SkBlendARGB32_SSE2() to clean up code
Related nanobench results:
before:
maxrss  loops   min     median  mean    max     stddev  samples         config  bench
  10M   2       31.9µs  32.4µs  33.3µs  38.7µs  6%      █▄▂▂▂▁▂▁▁▁      8888    bitmap_BGRA_8888_A_scale_bicubic
  10M   13      43.8µs  51.8µs  49.6µs  57.9µs  11%     ▁▁▁▁▂▆▇▆▅█      8888    bitmap_BGRA_8888_A_scale_bilerp
  10M   13      23.7µs  24.3µs  26µs    32.7µs  13%     ▅█▆▁▁▁▁▂▁▁      8888    bitmap_Index_8_A
  10M   4       1.68µs  1.7µs   4.09µs  25.4µs  183%    █▁▁▁▁▁▁▁▁▁      8888    text_16_AA_88
  10M   144     1.76µs  1.77µs  1.78µs  1.81µs  1%      █▂▇▂▅▁▁▁▁▁      8888    text_16_AA_FF
  10M   10      4.7µs   5.34µs  5.61µs  8.63µs  21%     █▂▂▃▂▁▁▁▁▄      8888    rotated_rects_aa_alternating_transparent_and_opaque_src
  10M   50      4.44µs  4.47µs  4.5µs   4.71µs  2%      █▅▃▂▂▂▁▁▁▁      8888    rotated_rects_aa_changing_opaque_src
  10M   51      4.39µs  4.78µs  5.21µs  6.62µs  17%     ▁▆▆▇▁▁█▁▂▂      8888    rotated_rects_aa_same_opaque_src
  10M   50      4.47µs  5.79µs  5.43µs  6.14µs  11%     ▄▂▁▃▇▇▆▇▇█      8888    rotated_rects_aa_alternating_transparent_and_opaque_srcover
  10M   30      4.35µs  6.06µs  5.84µs  7.63µs  16%     ▅▅▅▄▅▅▄█▁▁      8888    rotated_rects_aa_changing_transparent_srcover
  10M   44      4.31µs  4.51µs  4.76µs  6.25µs  13%     ▄▂▂▁█▃▁▃▁▁      8888    rotated_rects_aa_changing_opaque_srcover
  10M   46      4.36µs  4.42µs  4.75µs  6.19µs  14%     ▆█▃▁▁▁▁▁▁▁      8888    rotated_rects_aa_same_transparent_srcover
  10M   47      4.29µs  4.35µs  4.44µs  5.15µs  6%      ▃▂▂▁▁█▁▁▁▁      8888    rotated_rects_aa_same_opaque_srcover
  10M   3       39.1µs  39.2µs  50.7µs  153µs   71%     █▁▁▁▁▁▁▁▁▁      8888    rectori
  10M   1       2.3ms   2.31ms  2.35ms  2.74ms  6%      ▁▁▁▁▁▁▁▁█▂      8888    maskcolor
  10M   1       2.33ms  2.34ms  2.53ms  3.14ms  11%     ▁▁▁▁▁▁▅█▄▄      8888    maskopaque
  10M   11      15µs    15.3µs  15.7µs  18.3µs  7%      ▅▃▂▂▁▁▁▁█▁      8888    rrects_3_stroke_4
  10M   46      3.99µs  4.07µs  4.14µs  4.54µs  4%      █▅▅▃▂▂▁▁▁▁      8888    rrects_3
  10M   16      15.6µs  15.9µs  16.1µs  17.5µs  4%      █▄▃▂▂▂▁▂▁▁      8888    ovals_3_stroke_4
  10M   40      5.09µs  5.18µs  5.23µs  5.67µs  3%      █▅▃▂▂▁▃▁▁▁      8888    ovals_3
  10M   231     1.92µs  1.93µs  1.94µs  2µs     1%      █▃▂▁▃▁▁▁▁▁      8888    zeroradroundrect
  10M   924     3.88µs  3.93µs  4.11µs  4.95µs  9%      ▁█▆▃▁▁▁▁▁▁      8888    arbroundrect
  10M   8       8.11µs  8.47µs  8.48µs  8.85µs  3%      █▅▇▄▄▂▁▄▄▆      8888    merge_large
  10M   14      6.71µs  6.92µs  6.96µs  7.46µs  3%      ▃▆▁█▃▃▃▂▂▁      8888    merge_small
  11M   2       225µs   227µs   229µs   233µs   1%      ███▃▇▂▃▁▃▂      8888    displacement_full_large
  16M   1       381µs   401µs   401µs   421µs   3%      ▅▅▅█▆▄▄▃▃▁      8888    displacement_alpha_large
  19M   1       507µs   508µs   509µs   512µs   0%      █▃▂▆▂▂▃▂▃▁      8888    displacement_zero_large
  19M   19      9µs     9.11µs  9.15µs  9.67µs  2%      ▄▂▂▂█▂▁▁▁▂      8888    displacement_full_small
  19M   5       54.2µs  54.5µs  54.9µs  58µs    2%      █▃▂▂▁▁▃▁▁▁      8888    blurroundrect_WH[100x100]_cr[90]
  20M   1       229µs   230µs   231µs   240µs   2%      █▄▃▂▂▁▁▁▁▂      8888    GM_varied_text_clipped_no_lcd
  20M   1       267µs   269µs   270µs   279µs   1%      █▄▃▂▂▂▂▂▁▁      8888    GM_varied_text_ignorable_clip_no_lcd
  22M   1       1.95ms  1.97ms  2.03ms  2.46ms  8%      ▁▁▁▁▁▁▁▂█▃      8888    GM_convex_poly_clip

after:
maxrss	loops	min	median	mean	max	stddev	samples   	config	bench
  10M	2	31.5µs	32.3µs	32.8µs	37.2µs	5%	█▄▃▂▂▂▁▁▁▁	8888	bitmap_BGRA_8888_A_scale_bicubic
  10M	13	43.9µs	44µs	44.1µs	44.9µs	1%	█▂▁▁▁▆▁▁▁▂	8888	bitmap_BGRA_8888_A_scale_bilerp
  10M	19	22.7µs	23.3µs	25.6µs	32.4µs	14%	▁▁▁▁▁▅▆▁▅█	8888	bitmap_Index_8_A
  10M	5	1.79µs	1.97µs	3.85µs	21.1µs	158%	█▁▁▁▁▁▁▁▁▁	8888	text_16_AA_88
  10M	141	1.83µs	1.83µs	1.85µs	1.93µs	2%	▅▁▁█▁▁▁▁▁▁	8888	text_16_AA_FF
  10M	10	4.65µs	4.92µs	5.06µs	6.56µs	11%	█▃▃▂▂▂▁▁▁▁	8888	rotated_rects_aa_alternating_transparent_and_opaque_src
  10M	51	4.35µs	4.48µs	4.83µs	6.68µs	17%	▂▁▁▁▁▁▁▂▆█	8888	rotated_rects_aa_changing_opaque_src
  10M	51	4.38µs	4.79µs	4.85µs	5.84µs	11%	▁█▁▃▃▁▄▁▄▇	8888	rotated_rects_aa_same_opaque_src
  10M	32	5.58µs	6.24µs	6.1µs	6.39µs	5%	█▂█▆▁▇▄▅▇▇	8888	rotated_rects_aa_alternating_transparent_and_opaque_srcover
  10M	42	4.28µs	5.59µs	5.11µs	6.01µs	15%	▂▂█▇█▂▁▆▁▇	8888	rotated_rects_aa_changing_transparent_srcover
  10M	48	4.24µs	4.33µs	4.58µs	6.46µs	15%	▁▁▁▁▁█▃▂▁▁	8888	rotated_rects_aa_changing_opaque_srcover
  10M	48	4.28µs	4.3µs	4.4µs	5.12µs	6%	▂▂▁▁▁▁▁▁▁█	8888	rotated_rects_aa_same_transparent_srcover
  10M	46	4.24µs	4.29µs	4.66µs	7.11µs	20%	▁▁▁▁▁▁▁▁▃█	8888	rotated_rects_aa_same_opaque_srcover
  10M	3	39.3µs	39.4µs	51.4µs	154µs	70%	█▁▁▁▁▁▁▁▁▁	8888	rectori
  10M	1	2.32ms	2.43ms	2.53ms	3.14ms	11%	▁▁▁▁▂▄█▃▅▁	8888	maskcolor
  10M	1	2.33ms	2.37ms	2.54ms	3.21ms	12%	▁▁▁▁▁▂█▅▆▁	8888	maskopaque
  10M	10	15.3µs	15.6µs	15.8µs	17.2µs	4%	█▅▃▂▂▂▁▁▁▁	8888	rrects_3_stroke_4
  10M	46	4.03µs	4.09µs	4.15µs	4.47µs	4%	█▄▆▂▂▂▁▁▁▁	8888	rrects_3
  10M	15	15.9µs	16.2µs	16.3µs	17.8µs	4%	█▄▃▂▂▂▁▁▁▁	8888	ovals_3_stroke_4
  10M	40	5.14µs	5.26µs	5.29µs	5.72µs	3%	█▅▃▂▂▁▂▂▁▁	8888	ovals_3
  10M	222	1.91µs	1.99µs	2.21µs	2.91µs	19%	▂▁▁▁▁▁▂▇▇█	8888	zeroradroundrect
  10M	462	3.9µs	3.96µs	4.23µs	5.22µs	12%	▆▄█▁▂▁▁▁▁▁	8888	arbroundrect
  10M	8	8.2µs	8.59µs	8.62µs	8.97µs	3%	▆▄█▄▅▃▁▆▄█	8888	merge_large
  10M	14	6.73µs	6.88µs	6.86µs	7.08µs	2%	▄█▁▂▄▂▅▄▂▅	8888	merge_small
  11M	2	221µs	234µs	237µs	263µs	5%	▄▃▃▃▄▃▂▁▇█	8888	displacement_full_large
  16M	1	387µs	416µs	427µs	471µs	7%	▇█▁▃▃▁▃▃▇▆	8888	displacement_alpha_large
  19M	1	512µs	521µs	528µs	594µs	5%	█▂▂▂▁▁▂▃▁▁	8888	displacement_zero_large
  19M	18	9.06µs	9.12µs	9.13µs	9.23µs	1%	█▃▃▃▄▃▆▁▅▅	8888	displacement_full_small
  19M	5	55.6µs	55.9µs	56.5µs	59.5µs	2%	█▃▂▁▁▁▁▁▅▁	8888	blurroundrect_WH[100x100]_cr[90]
  20M	1	229µs	233µs	235µs	254µs	3%	█▄▃▂▂▁▁▂▁▁	8888	GM_varied_text_clipped_no_lcd
  20M	1	270µs	271µs	272µs	278µs	1%	█▄▃▂▂▂▁▂▁▇	8888	GM_varied_text_ignorable_clip_no_lcd
  22M	1	1.96ms	2ms	2.06ms	2.45ms	7%	▂▂▁▁▁▁▁▃█▄	8888	GM_convex_poly_clip

BUG=skia:

Review URL: https://codereview.chromium.org/754733002
2014-11-25 06:35:02 -08:00
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bench Use scratch keys for stencil buffers. 2014-11-25 05:52:06 -08:00
bin Don't count a leading 1 as a signficant digit in the ratio. 2014-11-24 17:44:23 -05:00
debugger More SkPicture cleanup 2014-11-17 06:45:18 -08:00
dm Store DM failures in an array, not a single string. 2014-11-19 13:36:19 -08:00
docs Remove references to out/Debug/tests executable. 2014-10-09 08:56:55 -07:00
expectations Marking three GMs ignore-failure 2014-11-25 06:17:49 -08:00
experimental Cleanup: Remove SimpleiOSApp xcode project file. 2014-11-03 15:10:49 -08:00
forth Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
gm more c 2014-11-24 19:11:48 -08:00
gyp more c 2014-11-24 19:11:48 -08:00
include Use scratch keys for stencil buffers. 2014-11-25 05:52:06 -08:00
platform_tools Simplfy DEPS: always pull all deps, remove unused barelinux platform. 2014-11-21 11:41:35 -08:00
resources Add tests (and fix!) for known bad ICO files. 2014-11-10 13:12:25 -08:00
samplecode option to return drawable from recording 2014-11-24 14:41:51 -08:00
src Add SkBlendARGB32_SSE2() to clean up code 2014-11-25 06:35:02 -08:00
tests Use scratch keys for stencil buffers. 2014-11-25 05:52:06 -08:00
third_party "NULL !=" = NULL 2014-09-05 13:34:00 -07:00
tools option to return drawable from recording 2014-11-24 14:41:51 -08:00
trybots_to_run/chrome Deleting the hardcoded list of compile bots in trybots_to_run. 2013-04-09 11:59:42 +00:00
.gitignore Cleanup: Remove bug_chomper entry from .gitignore. 2014-11-24 17:53:55 -08:00
AUTHORS Revert of Revert of Add gpu support for Apple specific 'Vertex Arrays' functions (patchset #1 id:1 of https://codereview.chromium.org/750973003/) 2014-11-24 11:22:37 -08:00
codereview.settings Add Project to skia 2014-06-20 09:39:15 -07:00
CONTRIBUTING Add CONTRIBUTING file 2014-01-13 15:06:26 +00:00
CQ_COMMITTERS Adding myself to comitters 2014-09-16 11:03:39 -07:00
DEPS Simplfy DEPS: always pull all deps, remove unused barelinux platform. 2014-11-21 11:41:35 -08:00
Doxyfile Fix links to skia-buildbot code in preparation for deletion 2014-10-14 04:44:44 -07:00
gyp_skia allow caller to override the default output directory for gyp 2014-09-29 11:42:25 -07:00
gyp_skia.py Roll gyp deps from 1765 to 1796. 2013-11-21 18:11:14 +00:00
LICENSE Manually update copyright notices in files that defied the automated process 2011-07-28 14:24:55 +00:00
make.bat Link to skiadocs site, since that is the canonical location for documentation. 2014-10-13 17:56:30 -03:00
make.py Fix reference to non-existant 'tests' target. 2014-10-13 17:51:57 -03:00
Makefile Update LSAN suppressions. 2014-08-29 07:55:35 -07:00
OWNERS add root files from chrome 2013-08-13 19:11:15 +00:00
PRESUBMIT.py PRESUBMIT should only check owners for the top level include directory 2014-08-26 14:00:55 -07:00
README Point to skiadocs in our README. 2014-05-09 04:30:09 +00:00
README.chromium add root files from chrome 2013-08-13 19:11:15 +00:00
skia.gyp Remove the comments settings for vim tab width and expansion variables. 2013-12-02 22:23:03 +00:00
SKP_VERSION Update SKP version 2014-11-24 23:11:56 -08:00
whitespace.txt Whitespace change to see how the Android bots behave 2014-10-30 05:52:17 -07:00

Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.

See full details, and build instructions, at https://sites.google.com/site/skiadocs/home