summaryrefslogtreecommitdiff
path: root/cpu_ref/rsCpuIntrinsicBlur.cpp
AgeCommit message (Collapse)Author
2016-11-18Merge "Fix google-build-using-namespace warnings in cpu_ref." am: 6c7e0c1308 ↵Chih-hung Hsieh
am: 248e44fd4d am: 2d7db226f8 am: 70af4c884f Change-Id: I1ba365aa50baa7bb39a7875b6ce584aabd43b78a
2016-11-17Fix google-build-using-namespace warnings in cpu_ref.Chih-Hung Hsieh
* Remove "using namespace ..." statements. * Replace them with using declarations of the required names. * Enclose the C++ methods and static and extern "C" functions with namespace android and renderscript. * Keep global C++ functions as-is and add using declarations for them. Bug: 32670901 Test: build with WITH_TIDY=1 Change-Id: I818de466e8786a6c4f9ce0cd8e0fe027f34d7fad
2016-07-11Make boundary-check stricter.Hidehiko Abe
There was a bug to access uninitialized buffer. This CL fixes it. BUG=b/29375932 Change-Id: I16b57d8f06f493c6996c6aeacdaf139833e62653
2016-04-21Refactor ARM Blur prefill logic.Simon Hosie
Refactor the prefill logic for ARM (and improve documentation along the way) so as to fix some cases where data is read outside of the source image, and to minimise the remaining cases which must fall back to the C implementation. Change-Id: I3d06416b40c48dea06258e9f7bb5ddc246d7c710
2015-05-22Use "override" instead of "virtual" when replacing methods.Stephen Hines
Bug: 20306487 Change-Id: Ic83cb04cac153a7556f5d516e8f5ec88b5527b6f
2015-03-16Pass RsExpandKernelDriverInfo not RsExpandKernelParams.David Gross
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
2014-11-10Enable ASM path for blur intrinsic when clippedJason Sams
Fix minor clipping bug in ASM code where the start offset was added twice. Change-Id: I6d831478b4a7da8460e70015151dbadf16bd7096
2014-09-04am 2993761f: Merge "Fix bugs for x86 platform"Stephen Hines
* commit '2993761fda2146755533886495691936a78871ac': Fix bugs for x86 platform
2014-09-03Fix bugs for x86 platformYong Chen
- Fix incorrect input/output pointer for blur intrinsic - Avoid the negative value for length function in bc lib Change-Id: If173662b63d7aba906a75bb50856d8d50c04639f Signed-off-by: Yong Chen <yong.a.chen@intel.com>
2014-08-22am da2f0714: Merge "Fix x86 build for SSSE3."Dan Albert
* commit 'da2f071483b148bba216d40070d87f92785b527f': Fix x86 build for SSSE3.
2014-08-22Fix x86 build for SSSE3.Dan Albert
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
2014-08-21resolved conflicts for merge of 81cfa2c5 to lmp-dev-plus-aospStephen Hines
Change-Id: Ia3a7f084693825d4e46a4864788332a7d039d38f
2014-08-21resolved conflicts for merge of 5f95a8ab to lmp-dev-plus-aospJason Sams
Change-Id: I3044361ad6d5af09906e4a32e47efc3f29486514
2014-08-21Fix blur and 3dlut with clipped outputJason Sams
bug 17157250 Change-Id: I388a255380fbdd9f6b5d1c7cb9f14df6f035ae48
2014-08-20Replace NULL macros with nullptr literals.Chris Wailes
Change-Id: I918c40879aa547438f77e7d1a95fa2aa33bec398
2014-08-18Remove the instep parameter.Chris Wailes
This patch removes the instep parameter from calls to expanded kernels and from the CPU reference implementation intrinsics. Change-Id: I059db548a57702c576963f6b17a002b2ee393cdb
2014-07-15Split the RsForEachStubParamStruct in two.Chris Wailes
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
2014-05-22Enable ARM64 intrinsics.Jason Sams
This also moves ARM intrinsic ifdefs behing ARCH_ARM_USE_INTRINSICS instead of ARCH_ARM_HAVE_VFP. Change-Id: I48d3d55c77feb931e22288828247e281db43d32b
2014-04-30Fix comments in gaussian blurJean-Luc Brouillet
Change-Id: Ifae435f9b2e65d6064412d09558b0c6ea32aea25
2014-04-22Improve RS intrinsics performance.Rose, James
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>
2014-03-04Optimisations to blur intrinsic.Simon Hosie
Try to keep all data in-register whereever possible, and use only a minimal circular buffer on the stack when necessary. Implementations in AArch32 and AArch64 NEON. Change-Id: If3dd4932a94ee1cadde46e298b8f6bf14b6c2bdc
2013-12-02Fix bug in blur when processing odd widthsJason Sams
Change-Id: I10537cb623cf230636f191fd2b84b050d0f42700
2013-11-25Fix crash running blur on 4K imagesJason Sams
bug 11258120 The temporary buffer could be misaligned due to realloc only aligning to 8 bytes. Fix issues with with Histogram and 2/3 vector sizes. Change-Id: I271f4635ead5ff0a7e7f89bb5cfcbc2bba626e22
2013-08-06Neon detection for RS SDK compat lib.Jason Sams
Change-Id: I3887158c7ec97ba116c28dc7b1d0c789b81fae60
2013-04-02Fix corruption when neon is disabled.Jason Sams
Change-Id: I5b7b143f78bb87c9f26265c45d727ed1b3063a73
2013-03-20Start making RS 64-bit clean.Tim Murray
Change-Id: Ie40ad9a1d2b59094c86eb7e40b358e60120ce213
2013-02-22Fix corner cases with small blurs.Jason Sams
Change-Id: I7d1d42c3903ca3defd1737bd6e2557e2f5998fe5
2013-01-25Fix intrinsic bugs.Jason Sams
Change-Id: I027e5dcd8e538e52a21941facc5b93db2a6eac8c
2013-01-14Align all allocations to a 16-byte boundary.Stephen Hines
This change also fixes an issue in the Blur intrinsic, where we mis-cast a float array to float4 (and thus encountered some new alignment errors with the updated LLVM). Change-Id: I3955b38f156c35f4d160652c75ab416bae09b2c8
2012-11-28Fix uchar blur with neon offsetsJason Sams
fix hardcoded width limit in blur. Change-Id: I4f56b8454181110133c4a637b66f1df3c79da33e
2012-11-27Fix uchar blur performance.Jason Sams
Fix bug with misaligned access on odd width images. Change-Id: Ie9f40121cf8eddbafdb2149814fcff28fff62036
2012-11-26Cleanup pass + implement blur ucharJason Sams
Change-Id: Ib7f1c5218663b468a3c11daa2c3373ae132145ac Conflicts: cpu_ref/rsCpuIntrinsicBlend.cpp
2012-11-19Separate CPU driver impl from reference driver.Jason Sams
Change-Id: Ifb484edda665959b81d7b1f890d108bfa20a535d