Implement SSE2-based implementations of the morphology filters (dilate & erode)....
authorsenorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>
Wed, 30 Oct 2013 21:57:04 +0000 (21:57 +0000)
committersenorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>
Wed, 30 Oct 2013 21:57:04 +0000 (21:57 +0000)
commit7a47ad3bacb36ca7609490bd7cbd85d2c49a0042
tree375a48616970b64e1818808ff449c543af8aae84
parent2d2e5c4e2425a1cb64d31d7d10832f4a3a9137a4
Implement SSE2-based implementations of the morphology filters (dilate & erode). This gives a 3-5X speedup over the naive implementation, and also mitigates a timing-based security attack in Chrome (https://code.google.com/p/chromium/issues/detail?id=251711).

NOTE: this will require a corresponding GYP change on the Skia roll into Chrome: https://codereview.chromium.org/52453004/

R=mtklein@google.com, reed@google.com

Review URL: https://codereview.chromium.org/52603004

git-svn-id: http://skia.googlecode.com/svn/trunk@12038 2bbb7eff-a529-9590-31e7-b0007b416f81
gyp/effects.gyp
gyp/opts.gyp
src/effects/SkMorphologyImageFilter.cpp
src/opts/SkMorphology_opts.h [new file with mode: 0644]
src/opts/SkMorphology_opts_SSE2.cpp [new file with mode: 0644]
src/opts/SkMorphology_opts_SSE2.h [new file with mode: 0644]
src/opts/SkMorphology_opts_none.cpp [new file with mode: 0644]
src/opts/opts_check_SSE2.cpp