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 11:23:30 -0700
commite0c6f1d59fa8e995cdd80a41cc8ed1d6af35652e (patch)
tree99e55a32a78c12a1180f14cea7f940ba37d6f166 /cpu_ref
parent5244f2cf944b769661c650bd49df3d1c9b24e70a (diff)
downloadrs-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.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