summaryrefslogtreecommitdiff
path: root/cpu_ref/rsCpuScriptGroup.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Add a basic implementation of the reduce kernel API to the CPUMatt Wala2015-08-141-4/+4
| | | | | | | | | | reference implementation. Bug: 22631253 For now, this just runs a serial reduction on one thread. Change-Id: I34c96d24bb6f44274de72bb53160abcf79d143b0
* Pass RsExpandKernelDriverInfo not RsExpandKernelParams.David Gross2015-03-161-40/+40
| | | | | | | | | 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
* Revert "Replaced android::Vector with std::vector."Yang Ni2015-02-151-33/+25
| | | | | | | | | | b/19148482 This reverts commit 93d6bc872b7d9fba63abfa7513d56b38d9c3d371. I also made some changes to Make it work with HEAD. Change-Id: I5e516976ec1d85ffe1cf388c01795348a9441982
* add array launch support.Jason Sams2015-01-261-7/+10
| | | | Change-Id: I66cd89b5b44eafa92f391708a06464cd7cdde3ed
* New Script Group API: runtime and cpu driver support.Yang Ni2015-01-071-4/+2
| | | | Change-Id: I9c612cf8874aabaf0ca7d1640567464c71ed3070
* Replace NULL macros with nullptr literals.Chris Wailes2014-08-201-23/+23
| | | | Change-Id: I918c40879aa547438f77e7d1a95fa2aa33bec398
* Replaced android::Vector with std::vector.Chris Wailes2014-08-181-25/+33
| | | | Change-Id: I4c6abd964dc4b1412ec2e592fc8e835fecfe53f6
* Remove the instep parameter.Chris Wailes2014-08-181-7/+3
| | | | | | | This patch removes the instep parameter from calls to expanded kernels and from the CPU reference implementation intrinsics. Change-Id: I059db548a57702c576963f6b17a002b2ee393cdb
* Collapse code paths for single- and multi-input kernels.Chris Wailes2014-08-151-27/+76
| | | | | | | | | | | 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
* Revert "Collapse code paths for single- and multi-input kernels."Stephen Hines2014-08-131-76/+27
| | | | | | This reverts commit 818cfa034e257c7bb48356257f5cb67334e19aa6. Change-Id: I59f39f52e6c8f60bb01cbcb8ccf2215eaf46a57f
* Collapse code paths for single- and multi-input kernels.Chris Wailes2014-08-121-27/+76
| | | | | | | | | | | 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
* Validate input/output for a ScriptGroup.Yang Ni2014-07-291-26/+24
| | | | | | | | | If a script group requires input or output allocations, make sure they are set before starting the execution of the script group. If any allocation is missing, skip the execution and set a bad value error with a message. Change-Id: I7ee2da96aca3e6c9820225e6b2c39cb9378cb42f
* Split the RsForEachStubParamStruct in two.Chris Wailes2014-07-151-32/+35
| | | | | | | | | | | 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
* Detect use of RS objects in kernels to disable a ScriptGroup optimization.Stephen Hines2013-09-101-0/+13
| | | | | | | | | | | | | | | | | | | Bug: 10394865 This change disables a ScriptGroup optimization when we can't guarantee that there is no implicit ordering between two kernels. In this case, it is possible to communicate between kernels using the same bound global RS object (like Allocation). A subsequent kernel in the ScriptGroup could accidentally pick up stale data, leading to incorrect results. Now, we disable this optimization whenever we see binds/sets of variables that are potentiall RS object types for a given Script/kernel. This is overly conservative, but sufficient for now. This change also fixes a small issue with preLaunch/postLaunch missing for the default ScriptGroup execution case. Change-Id: I0d19d200cc8dc397d68008a4df6ea423b1e4d04f
* Fix ScriptGroup performance regressionJason Sams2013-09-091-1/+13
| | | | | | bug 10151545 Change-Id: Ica4a30c6fe8718f7fdbff0b446885d9ac7083769
* Remove libutils and fix rsDebug for RS support library.Stephen Hines2013-07-101-10/+0
| | | | | | | | | | | | | | | | Bug: 9664050 Our bitcode runtime library translates vector rsDebug() calls into passing their parameters via pointers. The previous version of libRSSupport.so was being created with non-pointer versions of these routines accidentally. This change also fixes a missing permission issue for ImageProcessing2, so that the compatibility library can be verified. This change also removes the use of libutils by switching the implementation of String8/Vector in the compatibility library to internal types backed by libstlport_static. Change-Id: I20da75e8c19a82a42dc2bceaba1937d21372db84
* Add x86 server support.Tim Murray2013-03-191-0/+2
| | | | Change-Id: I674acaf15b67afa48bc736f72942a11e2e38e940
* Cleanup diff with compat.Jason Sams2012-12-191-4/+0
| | | | Change-Id: Ieedcdec03ccb05cac68cbebbd398e07cb885f4d3
* Separate CPU driver impl from reference driver.Jason Sams2012-11-191-0/+236
Change-Id: Ifb484edda665959b81d7b1f890d108bfa20a535d