aboutsummaryrefslogtreecommitdiffhomepage
path: root/bench/Sk4fBench.cpp
diff options
context:
space:
mode:
authorGravatar mtklein <mtklein@chromium.org>2015-12-01 07:10:21 -0800
committerGravatar Commit bot <commit-bot@chromium.org>2015-12-01 07:10:21 -0800
commit9db43ac4ee1a83a4f7b332fe6c00f592b6237349 (patch)
treece3b9eedc76bf142d31325d041295097774fee5c /bench/Sk4fBench.cpp
parenteeebdb538d476c1bfc8b63a946094ca1b505ecd1 (diff)
Add Sk4f::ToBytes(uint8_t[16], Sk4f, Sk4f, Sk4f, Sk4f)
This is a big speedup for float -> byte. E.g. gradient_linear_clamp_3color: x86-64 147µs -> 103µs (Broadwell MBP) arm64 2.03ms -> 648µs (Galaxy S6) armv7 1.12ms -> 489µs (Galaxy S6, same device!) BUG=skia: CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot;client.skia.android:Test-Android-GCC-Nexus9-CPU-Denver-Arm64-Debug-Trybot Review URL: https://codereview.chromium.org/1483953002
Diffstat (limited to 'bench/Sk4fBench.cpp')
-rw-r--r--bench/Sk4fBench.cpp5
1 files changed, 1 insertions, 4 deletions
diff --git a/bench/Sk4fBench.cpp b/bench/Sk4fBench.cpp
index 02ac14591d..b2f2b4a58e 100644
--- a/bench/Sk4fBench.cpp
+++ b/bench/Sk4fBench.cpp
@@ -62,10 +62,7 @@ struct Sk4fGradientBench : public Benchmark {
c = b + dcdx,
d = c + dcdx;
for (size_t i = 0; i < SK_ARRAY_COUNT(fDevice); i += 4) {
- a.toBytes((uint8_t*)(fDevice+i+0));
- b.toBytes((uint8_t*)(fDevice+i+1));
- c.toBytes((uint8_t*)(fDevice+i+2));
- d.toBytes((uint8_t*)(fDevice+i+3));
+ Sk4f::ToBytes((uint8_t*)(fDevice+i), a, b, c, d);
a = a + dcdx4;
b = b + dcdx4;
c = c + dcdx4;