summaryrefslogtreecommitdiff
path: root/cpu_ref
diff options
context:
space:
mode:
authorI-Jui (Ray) Sung <ijsung@google.com>2017-04-14 11:18:15 -0700
committerI-Jui (Ray) Sung <ijsung@google.com>2017-04-14 14:33:16 -0700
commit262b4f97d0592311a16fc53ede08443ab138e5b0 (patch)
tree4f5e907ffcbbf4aa1e249833f5182cf3d4937da4 /cpu_ref
parent8467325c6d80de30bb86b7665cc41dff0c276e8d (diff)
downloadrs-262b4f97d0592311a16fc53ede08443ab138e5b0.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 (cherry picked from commit e0c6f1d59fa8e995cdd80a41cc8ed1d6af35652e)
Diffstat (limited to 'cpu_ref')
-rw-r--r--cpu_ref/rsCpuIntrinsicBlend.cpp4
-rw-r--r--cpu_ref/rsCpuIntrinsics_advsimd_Blend.S2
-rw-r--r--cpu_ref/rsCpuIntrinsics_neon_Blend.S2
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