0d93010c98e8c6e50c6a0f4d8b16ada5dede81ab |
|
02-Jun-2017 |
Mike Klein <mtklein@chromium.org> |
move load_and_inc() and LazyCtx into SkJumper_misc.h This is a no-op refator that'll help keep the interesting diff more focused in the lowp CL. The lowp stages will use these unaltered, so SkJumper_misc.h is a good place for them. Change-Id: I7fb6327ade29ac884194517d94ac4303ed1079e0 Reviewed-on: https://skia-review.googlesource.com/18484 Reviewed-by: Mike Klein <mtklein@chromium.org> Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
/external/skia/src/jumper/SkJumper_misc.h
|
c33aa9090cd62bd1ea8dd89f9f7c9954e067a1f7 |
|
15-May-2017 |
Mike Klein <mtklein@chromium.org> |
add unaligned_store() Don't know why I never wrote unaligned_store() to mirror unaligned_load(), but now I have. This replaces all remaining memcpy() in SkJumper_stages.cpp, which is nice. The generated stage code didn't change. Change-Id: I714c1072a975d7fa268a4b06c13f06557bf0c12c Reviewed-on: https://skia-review.googlesource.com/16870 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
/external/skia/src/jumper/SkJumper_misc.h
|
4de1304297d7220b223c829bf386f97815db1654 |
|
15-May-2017 |
Herb Derby <herb@google.com> |
Add evenly spaced stops and unify gradient contexts Change-Id: I17ac13b9d1ea6765e2c1a2b53aa6975eab408856 Reviewed-on: https://skia-review.googlesource.com/16713 Commit-Queue: Herb Derby <herb@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
/external/skia/src/jumper/SkJumper_misc.h
|
5664e65eb1680a14eeaa6ca79ddf9e734518c822 |
|
01-May-2017 |
Mike Klein <mtklein@chromium.org> |
finish up constants For whatever reason, if I swap the condition in the if_then_else tests from < to >= and swap the then/else values, I can use constants in hsl_to_rgb. Still don't understand why, but I'll take it. I suspect it has something to do with SSE, IEEE, and NaN, but I don't care enough to speculate any more concretely. This does that, removes C() and _f, updates some comments, and adds a guard in build_stages.py to yell if it sees trouble like LCPI40_4... This reminds me to try -ffast-math soon. I think that was mostly held back by constants. Change-Id: I3f8a37a4d4642f77422ce3261b750061e9e604a3 Reviewed-on: https://skia-review.googlesource.com/14942 Reviewed-by: Herb Derby <herb@google.com>
/external/skia/src/jumper/SkJumper_misc.h
|
308e62416e9c8191932c6bde1711f336bafda373 |
|
27-Apr-2017 |
Mike Klein <mtklein@chromium.org> |
jumper, remove C(int) This finishes off integer constants... they should all be normal now. CQ_INCLUDE_TRYBOTS=skia.primary:Test-Win7-MSVC-Golo-CPU-AVX-x86_64-Release,Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release,Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-SK_CPU_LIMIT_SSE41,Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-SK_CPU_LIMIT_SSE2 Change-Id: I66ecc6533807fc59bb5ac9d3c5f7ab9e6e1f0d7f Reviewed-on: https://skia-review.googlesource.com/14528 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
/external/skia/src/jumper/SkJumper_misc.h
|
0aa742f15a400433bafe6350c20523b4dd062f64 |
|
27-Apr-2017 |
Mike Klein <mtklein@chromium.org> |
jumper, replace _i with normal constants So far I only seem to be encountering constant pools with float constants, so integer constants should be easy to make normal. This just removes _i. There might be a couple integer constants generated with C() too... they'll be the next CL. CQ_INCLUDE_TRYBOTS=skia.primary:Test-Win7-MSVC-Golo-CPU-AVX-x86_64-Release,Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release,Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-SK_CPU_LIMIT_SSE41,Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-SK_CPU_LIMIT_SSE2 Change-Id: Icc82cbc660d1e33bcdb5282072fb86cb5190d901 Reviewed-on: https://skia-review.googlesource.com/14527 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
/external/skia/src/jumper/SkJumper_misc.h
|
95f53be0059940da50d4fce10da5c4dcf037b6ae |
|
04-Apr-2017 |
Mike Klein <mtklein@chromium.org> |
jumper, split store_f16 into to_half, store4 Pretty much the same deal as the last CL going the other direction: split store_f16 into to_half() and store4(). Platforms that had fused strategies here get a little less optimal, but the code's easier to follow, maintain, and reuse. Also adds widen_cast() to encapsulate the fairly common pattern of expanding one of our logical vector types (e.g. 8-byte U16) up to the width of the physical vector type (e.g. 16-byte __m128i). This operation is deeply understood by Clang, and often is a no-op. I could make bit_cast() do this, but it seems clearer to have two names. Change-Id: I7ba5bb4746acfcaa6d486379f67e07baee3820b2 Reviewed-on: https://skia-review.googlesource.com/11204 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
/external/skia/src/jumper/SkJumper_misc.h
|
b9c4a6fc7de252633f16d11c2df10ee6de16af03 |
|
03-Apr-2017 |
Mike Klein <mtklein@chromium.org> |
Refactor and recomment SkJumper_stages.cpp. SkJumper_stages.cpp is starting to get unweildy. This spins some logical parts out into their own headers. I will follow up by moving more of the very specific f16/f32 load/store logic into SkJumper_vectors.h too. Change-Id: I2a3a055e9d1b65f56983d05649270772a4c69f31 Reviewed-on: https://skia-review.googlesource.com/11133 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
/external/skia/src/jumper/SkJumper_misc.h
|