From 9db43ac4ee1a83a4f7b332fe6c00f592b6237349 Mon Sep 17 00:00:00 2001 From: mtklein Date: Tue, 1 Dec 2015 07:10:21 -0800 Subject: Add Sk4f::ToBytes(uint8_t[16], Sk4f, Sk4f, Sk4f, Sk4f) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- bench/Sk4fBench.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'bench/Sk4fBench.cpp') 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; -- cgit v1.2.3