diff options
author | I-Jui (Ray) Sung <ijsung@google.com> | 2017-04-14 11:18:15 -0700 |
---|---|---|
committer | I-Jui (Ray) Sung <ijsung@google.com> | 2017-04-14 11:23:30 -0700 |
commit | e0c6f1d59fa8e995cdd80a41cc8ed1d6af35652e (patch) | |
tree | 99e55a32a78c12a1180f14cea7f940ba37d6f166 /cpu_ref | |
parent | 5244f2cf944b769661c650bd49df3d1c9b24e70a (diff) | |
download | rs-e0c6f1d59fa8e995cdd80a41cc8ed1d6af35652e.tar.gz |
Revive forEachDstAtop implementations for NEON/ASIMD
ScriptIntrinsicBlend's forEachDstAtop had broken NEON and ASIMD
implementations and were bypassed.
This CL fixed these two and turned them back on in
RsdCpuScriptIntrinsicBlend::kernel().
Bug: b/22047392
Test: CTS and RsTest on Angler
Change-Id: Ifa41d74222606f1c04b7b4e3fe1b43eb932ead89
Diffstat (limited to 'cpu_ref')
-rw-r--r-- | cpu_ref/rsCpuIntrinsicBlend.cpp | 4 | ||||
-rw-r--r-- | cpu_ref/rsCpuIntrinsics_advsimd_Blend.S | 2 | ||||
-rw-r--r-- | cpu_ref/rsCpuIntrinsics_neon_Blend.S | 2 |
3 files changed, 3 insertions, 5 deletions
diff --git a/cpu_ref/rsCpuIntrinsicBlend.cpp b/cpu_ref/rsCpuIntrinsicBlend.cpp index 1507d452..ce300927 100644 --- a/cpu_ref/rsCpuIntrinsicBlend.cpp +++ b/cpu_ref/rsCpuIntrinsicBlend.cpp @@ -119,9 +119,7 @@ void RsdCpuScriptIntrinsicBlend::kernel(const RsExpandKernelDriverInfo *info, uint32_t x2 = xend; #if defined(ARCH_ARM_USE_INTRINSICS) - // Bug: 22047392 - Skip optimized version for BLEND_DST_ATOP until this - // been fixed. - if (gArchUseSIMD && info->slot != BLEND_DST_ATOP) { + if (gArchUseSIMD) { if (rsdIntrinsicBlend_K(out, in, info->slot, x1, x2) >= 0) return; } diff --git a/cpu_ref/rsCpuIntrinsics_advsimd_Blend.S b/cpu_ref/rsCpuIntrinsics_advsimd_Blend.S index 90dbd73c..1c721b63 100644 --- a/cpu_ref/rsCpuIntrinsics_advsimd_Blend.S +++ b/cpu_ref/rsCpuIntrinsics_advsimd_Blend.S @@ -350,7 +350,7 @@ uqrshrn v2.8b, v2.8h, #8 uqrshrn2 v2.16b, v14.8h, #8 - mvn v3.16b, v3.16b + mov v3.16b, v11.16b .endm #define params_MULTIPLY zipped=0 diff --git a/cpu_ref/rsCpuIntrinsics_neon_Blend.S b/cpu_ref/rsCpuIntrinsics_neon_Blend.S index f0145e54..a1fa1b50 100644 --- a/cpu_ref/rsCpuIntrinsics_neon_Blend.S +++ b/cpu_ref/rsCpuIntrinsics_neon_Blend.S @@ -353,7 +353,7 @@ vqrshrn.u16 d4, q2, #8 vqrshrn.u16 d5, q14, #8 - vmvn q3, q3 + vmov q3, q11 .endm #define params_MULTIPLY zipped=0 |