skia2/src/opts
mtklein 07344a5386 Revert of SkPx: new approach to fixed-point SIMD (patchset #9 id:160001 of https://codereview.chromium.org/1317233005/ )
Reason for revert:
http://build.chromium.org/p/client.skia.compile/builders/Build-Mac10.8-Clang-Arm7-Debug-Android/builds/4627

Original issue's description:
> SkPx: new approach to fixed-point SIMD
>
> SkPx is like Sk4px, except each platform implementation of SkPx can declare
> a different sweet spot of N pixels, with extra loads and stores to handle the
> ragged edge of 0<n<N pixels.
>
> In this case, _sse's sweet spot remains 4 pixels.   _neon jumps up to 8 so
> we can now use NEON's transposing loads and stores, and _none is just 1.
> This makes operations involving alpha considerably more efficient on NEON,
> as alpha is its own distinct 8x8 bit plane that's easy to toss around.
>
> This incorporates a few other improvements I've been wanting:
>   - no requirement that we're dealing with SkPMColor.  SkColor works too.
>   - no anonymous namespace hack to differentiate implementations.
>
> Codegen and perf look good on Clang/x86-64 and GCC/ARMv7.
> The NEON code looks very similar to the old NEON code, as intended.
> No .skp or GM diffs on my laptop.  Don't expect any.
>
> I intend this to replace Sk4px.  Plan after landing:
>   - port SkXfermode_opts.h
>   - port Color32 in SkBlitRow_D32.cpp (and move to SkBlitRow_opts.h like other
>     SkOpts code)
>   - delete all Sk4px-related code
>   - clean up evolutionary dead ends in SkNx (Sk16b, Sk16h, Sk4i, Sk4d, etc.)
>     leaving Sk2f, Sk4f (and Sk2s, Sk4s).
>   - find a machine with AVX2 to work on, write SkPx_avx2.h handling 8 pixels
>     at a time.
>
> In the end we'll have Sk4f for float pixels, SkPx for fixed-point pixels.
>
> BUG=skia:4117
>
> Committed: https://skia.googlesource.com/skia/+/82c93b45ed6ac0b628adb8375389c202d1f586f9

TBR=mtklein@google.com,msarett@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:4117

Review URL: https://codereview.chromium.org/1336423002
2015-09-14 13:14:31 -07:00
..
opts_check_x86.cpp Port uses of SkLazyPtr to SkOncePtr. 2015-09-09 09:09:53 -07:00
Sk4px_NEON.h Revert of Refactor to put SkXfermode_opts inside SK_OPTS_NS. (patchset #1 id:1 of https://codereview.chromium.org/1286093004/ ) 2015-08-12 11:56:43 -07:00
Sk4px_none.h Revert of Refactor to put SkXfermode_opts inside SK_OPTS_NS. (patchset #1 id:1 of https://codereview.chromium.org/1286093004/ ) 2015-08-12 11:56:43 -07:00
Sk4px_SSE2.h Revert of Refactor to put SkXfermode_opts inside SK_OPTS_NS. (patchset #1 id:1 of https://codereview.chromium.org/1286093004/ ) 2015-08-12 11:56:43 -07:00
SkBitmapFilter_opts_SSE2.cpp Plumb through out_row byte length so we can assert we stay underneath it. 2015-06-18 10:30:32 -07:00
SkBitmapFilter_opts_SSE2.h Plumb through out_row byte length so we can assert we stay underneath it. 2015-06-18 10:30:32 -07:00
SkBitmapProcState_arm_neon.cpp Style Change: NULL->nullptr 2015-08-27 07:41:16 -07:00
SkBitmapProcState_filter_neon.h add/fix copyrights 2015-06-26 07:26:19 -07:00
SkBitmapProcState_matrix_neon.h switch bitmapshader internals over to pixmap 2015-06-04 14:12:25 -07:00
SkBitmapProcState_matrixProcs_neon.cpp ARM Skia NEON patches - 20 - New improved BitmapProcState code 2014-01-28 15:18:54 +00:00
SkBitmapProcState_opts_arm.cpp Purge non-NEON ARM code. 2015-08-06 11:18:50 -07:00
SkBitmapProcState_opts_mips_dsp.cpp Style Change: NULL->nullptr 2015-08-27 07:41:16 -07:00
SkBitmapProcState_opts_none.cpp add/fix copyrights 2015-06-26 07:26:19 -07:00
SkBitmapProcState_opts_SSE2.cpp Style Change: NULL->nullptr 2015-08-27 07:41:16 -07:00
SkBitmapProcState_opts_SSE2.h Replace SSE optimization of Color32A_D565 2015-03-20 09:20:46 -07:00
SkBitmapProcState_opts_SSSE3.cpp Style Change: NULL->nullptr 2015-08-27 07:41:16 -07:00
SkBitmapProcState_opts_SSSE3.h Add SSSE3 acceleration for S32_D16_filter_DX 2014-12-10 07:21:35 -08:00
SkBlitMask_opts_arm_neon.cpp Sk4px blit mask. 2015-08-10 12:58:17 -07:00
SkBlitMask_opts_arm_neon.h Sk4px blit mask. 2015-08-10 12:58:17 -07:00
SkBlitMask_opts_arm.cpp Style Change: NULL->nullptr 2015-08-27 07:41:16 -07:00
SkBlitMask_opts_none.cpp Style Change: NULL->nullptr 2015-08-27 07:41:16 -07:00
SkBlitMask_opts.h Revert of SkPx: new approach to fixed-point SIMD (patchset #9 id:160001 of https://codereview.chromium.org/1317233005/ ) 2015-09-14 13:14:31 -07:00
SkBlitRow_opts_arm_neon.cpp Port SkBlitRow::Color32 to SkOpts. 2015-09-10 10:38:02 -07:00
SkBlitRow_opts_arm_neon.h Port SkBlitRow::Color32 to SkOpts. 2015-09-10 10:38:02 -07:00
SkBlitRow_opts_arm.cpp Port SkBlitRow::Color32 to SkOpts. 2015-09-10 10:38:02 -07:00
SkBlitRow_opts_mips_dsp.cpp Style Change: NULL->nullptr 2015-08-27 07:41:16 -07:00
SkBlitRow_opts_none.cpp Port SkBlitRow::Color32 to SkOpts. 2015-09-10 10:38:02 -07:00
SkBlitRow_opts_SSE2.cpp Sk4px blit mask. 2015-08-10 12:58:17 -07:00
SkBlitRow_opts_SSE2.h Sk4px blit mask. 2015-08-10 12:58:17 -07:00
SkBlitRow_opts_SSE4.cpp add/fix copyrights 2015-06-26 07:26:19 -07:00
SkBlitRow_opts_SSE4.h Replace SSE optimization of Color32A_D565 2015-03-20 09:20:46 -07:00
SkBlitRow_opts.h Port SkBlitRow::Color32 to SkOpts. 2015-09-10 10:38:02 -07:00
SkBlurImageFilter_opts.h Port morphology to SkOpts. 2015-08-04 14:09:09 -07:00
SkColor_opts_neon.h add/fix copyrights 2015-06-26 07:26:19 -07:00
SkColor_opts_SSE2.h Revert of Revert of SSE4 opaque blend using intrinsics instead of assembly. (patchset #1 id:1 of https://codereview.chromium.org/873553003/) 2015-02-02 10:02:48 -08:00
SkColorCubeFilter_opts.h SkNx_shuffle 2015-09-10 14:16:07 -07:00
SkFloatingPoint_opts.h Reorganize to keep similar code together. 2015-08-04 16:48:43 -04:00
SkMatrix_opts.h Revert of use new shuffle to speed up affine matrix mappts (patchset #3 id:40001 of https://codereview.chromium.org/1333983002/ ) 2015-09-10 16:38:41 -07:00
SkMorphologyImageFilter_opts.h Port morphology to SkOpts. 2015-08-04 14:09:09 -07:00
SkNx_neon.h Revert of use new shuffle to speed up affine matrix mappts (patchset #3 id:40001 of https://codereview.chromium.org/1333983002/ ) 2015-09-10 16:38:41 -07:00
SkNx_sse.h Require Sk4f::toBytes() clamps 2015-09-01 06:29:45 -07:00
SkOpts_neon.cpp Port SkMatrix opts to SkOpts. 2015-09-10 11:18:31 -07:00
SkOpts_sse41.cpp Update SkOpts namespaces. 2015-08-18 10:00:29 -07:00
SkOpts_ssse3.cpp Try again to put SkXfermode_opts in SK_OPTS_NS 2015-08-18 12:23:28 -07:00
SkTextureCompressor_opts.h Port SkTextureCompression opts to SkOpts 2015-08-06 08:17:16 -07:00
SkUtils_opts.h Reorganize to keep similar code together. 2015-08-04 16:48:43 -04:00
SkXfermode_opts.h SkNx_shuffle 2015-09-10 14:16:07 -07:00