History log of /frameworks/rs/cpu_ref/rsCpuIntrinsicBlend.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
644d5943a78b3d84a21a617e7fd7fcd8cff4500a 31-Mar-2016 Miao Wang <miaowang@google.com> Fix and enable advsimd_Blend.S for arm64 IntrinsicBlend.

Bug: 27153652

- Fixed address arithmetic for the assembly.
- CTS tests pass.

Change-Id: I81ba4cca2ef830f40d17bca6abd60235b71f559e
/frameworks/rs/cpu_ref/rsCpuIntrinsicBlend.cpp
7c045dff08287a0273e6a0340d5ca88a90030363 06-Aug-2015 Yong Chen <yong.a.chen@intel.com> X86: Fix IntrinsicBlend bugs and re-enable BLEND_DST_ATOP optimization

Bug: 22047392

Signed-off-by: Yong Chen <yong.a.chen@intel.com>

(cherry picked from commit 7c892eea2bf1f924b56e68af0b4b03c03cec12ce)

Change-Id: I27f78e671e6d5a57ccc425ac5afff0321d514e6e
/frameworks/rs/cpu_ref/rsCpuIntrinsicBlend.cpp
820e22b13fb48bc4719fa606ee4bc47e184970e0 29-Jun-2015 Stephen Hines <srhines@google.com> Fix BLEND_DST_ATOP and disable vectorized optimizations temporarily.

Bug: 22047392

This function needed to assign the 'w' component (alpha channel) of the
source input to the output. This patch does that for the C++ code, but
needs to be updated for the inline assembly that we have for
NEON/ASIMD/SSE. For the time being, we can just disable those paths.

Change-Id: Iaac02ae2d2cb670d299446d5a017d518c0e303da
/frameworks/rs/cpu_ref/rsCpuIntrinsicBlend.cpp
c060f1435e7b9405f3be8974417fa6f410f03753 14-May-2015 Stephen Hines <srhines@google.com> Use "override" instead of "virtual" when replacing methods.

Bug: 20306487

Change-Id: Ic83cb04cac153a7556f5d516e8f5ec88b5527b6f
/frameworks/rs/cpu_ref/rsCpuIntrinsicBlend.cpp
b0abb140ac51b93d1a85aadaa63fe057f2d29850 12-Mar-2015 David Gross <dgross@google.com> Pass RsExpandKernelDriverInfo not RsExpandKernelParams.

Which is to say: retire RsExpandKernelParams and pass RsExpandKernelDriverInfo
directly to kernel wrapper functions instead.

Requires related change in frameworks/compile/libbcc.

Change-Id: I453f45ec18f389e88e27fcfa57ddf245d077cb98
/frameworks/rs/cpu_ref/rsCpuIntrinsicBlend.cpp
ebf0eb95cba9579af7cb67205b94b286f221c4ed 22-Aug-2014 Dan Albert <danalbert@google.com> Fix x86 build for SSSE3.

These functions were previously defined in a C file. The file was
renamed to C++, but the extern "C"s were not removed.

Change-Id: I62ec9ba7c73d24c221bbe3f7580cfd7f09bf701c
/frameworks/rs/cpu_ref/rsCpuIntrinsicBlend.cpp
9ed79105cc6a8dbfaf959875249f36022cc2c798 26-Jul-2014 Chris Wailes <chriswailes@google.com> Remove the instep parameter.

This patch removes the instep parameter from calls to expanded kernels and
from the CPU reference implementation intrinsics.

Change-Id: I059db548a57702c576963f6b17a002b2ee393cdb
/frameworks/rs/cpu_ref/rsCpuIntrinsicBlend.cpp
f37121300217d3b39ab66dd9c8881bcbcad932df 17-Jul-2014 Chris Wailes <chriswailes@google.com> Collapse code paths for single- and multi-input kernels.

This patch simplifies the RenderScript driver and CPU reference implementation
by removing the distinction between sing- and multi-input kernels in many
places. The distinction is maintained in some places due to the need to
maintain backwards compatibility. This permits the deletion of some functions
and struct members that are no longer needed. Several related functions were
also cleaned up.

Change-Id: Id70a223ea5e3aa2b0b935b2b7f9af933339ae8a4
/frameworks/rs/cpu_ref/rsCpuIntrinsicBlend.cpp
4b2bea3dc20865f3a198797702e19912a6a2171c 13-Aug-2014 Stephen Hines <srhines@google.com> Revert "Collapse code paths for single- and multi-input kernels."

This reverts commit 818cfa034e257c7bb48356257f5cb67334e19aa6.

Change-Id: I59f39f52e6c8f60bb01cbcb8ccf2215eaf46a57f
/frameworks/rs/cpu_ref/rsCpuIntrinsicBlend.cpp
818cfa034e257c7bb48356257f5cb67334e19aa6 17-Jul-2014 Chris Wailes <chriswailes@google.com> Collapse code paths for single- and multi-input kernels.

This patch simplifies the RenderScript driver and CPU reference implementation
by removing the distinction between sing- and multi-input kernels in many
places. The distinction is maintained in some places due to the need to
maintain backwards compatibility. This permits the deletion of some functions
and struct members that are no longer needed. Several related functions were
also cleaned up.

Change-Id: I77e4b155cc7ca1581b05bf901c70ae53a9ff0b12
/frameworks/rs/cpu_ref/rsCpuIntrinsicBlend.cpp
80ef693674f69c0343c41564e30f80e7fb513b60 08-Jul-2014 Chris Wailes <chriswailes@google.com> Split the RsForEachStubParamStruct in two.

This patch splits the RsForEachStubParamStruct into two smaller structs, one
used specifically by the driver and the other by the expanded kernels. Doing
so makes it clearer what data is used where. In addition, fewer data are
copied between memory locations during kernel invocation.

Several fields that were not being used were removed from the structs.

Change-Id: I7788ef754add44463b17a6b571c7cde6e73b9712
/frameworks/rs/cpu_ref/rsCpuIntrinsicBlend.cpp
074424a4ac5b093331df2c92e7a5bcbfff136b71 22-May-2014 Jason Sams <jsams@google.com> Enable ARM64 intrinsics.

This also moves ARM intrinsic ifdefs behing ARCH_ARM_USE_INTRINSICS instead of ARCH_ARM_HAVE_VFP.

Change-Id: I48d3d55c77feb931e22288828247e281db43d32b
/frameworks/rs/cpu_ref/rsCpuIntrinsicBlend.cpp
7b7060c61e4182b29186849c5a857ea5f0898e56 21-Apr-2014 Rose, James <james.rose@intel.com> Improve RS intrinsics performance.

Renderscript CPU performance for intrinsics cases is not good for x86 platforms.
In many cases it is significantly slower even with SIMD Intrinsics. In current x86 implementation
it is using full 32 bit multiplies which aren't well supported on current Atom platforms.

This patch uses 16 bit multiply with 32 bit add pmaddwd instruction where appropriate.
It also adds atom specificoptimizations to improve RS intrinsics performance.

Change-Id: Ifc01b5a6d6f7430d2dc218f1618b9df3fb7937fe
Signed-off-by: Xiaofei Wan <xiaofei.wan@intel.com>
/frameworks/rs/cpu_ref/rsCpuIntrinsicBlend.cpp
5d06919bc8019322180ea34768a7a4137fa64d11 20-Feb-2014 Simon Hosie <simon.hosie@arm.com> Revised NEON implementations of blend.

Reimplement blend intrinsic using wider memory accesses and a few more 8-bit
operations where possible. Implementations in AArch32 and AArch64 NEON.

Change-Id: I5e56010376b1db1628a911cf09d97baf5af289b3
/frameworks/rs/cpu_ref/rsCpuIntrinsicBlend.cpp
f5ef8df639ba6363aa5d546e57ce872d04144cb6 06-Aug-2013 Jason Sams <jsams@google.com> Neon detection for RS SDK compat lib.

Change-Id: I3887158c7ec97ba116c28dc7b1d0c789b81fae60
/frameworks/rs/cpu_ref/rsCpuIntrinsicBlend.cpp
0b575de8ed0b628d84d256f5846500b0385979bd 15-Mar-2013 Tim Murray <timmurray@google.com> Add x86 server support.

Change-Id: I674acaf15b67afa48bc736f72942a11e2e38e940
/frameworks/rs/cpu_ref/rsCpuIntrinsicBlend.cpp
c905efd76fdcc1b8846b229bf7d991d185a7b4b7 27-Nov-2012 Jason Sams <jsams@google.com> Cleanup pass + implement blur uchar

Change-Id: Ib7f1c5218663b468a3c11daa2c3373ae132145ac

Conflicts:

cpu_ref/rsCpuIntrinsicBlend.cpp
/frameworks/rs/cpu_ref/rsCpuIntrinsicBlend.cpp
709a0978ae141198018ca9769f8d96292a8928e6 16-Nov-2012 Jason Sams <jsams@google.com> Separate CPU driver impl from reference driver.

Change-Id: Ifb484edda665959b81d7b1f890d108bfa20a535d
/frameworks/rs/cpu_ref/rsCpuIntrinsicBlend.cpp