ef6acb98982393e36cad52f67e691d75b6a46cfd |
|
22-Mar-2017 |
Yang Ni <yangni@google.com> |
Removed incorrect asserts Bug: 32278517 RsExpandKernelDriverInfo.outLen is never initialized for any foreach kernel or a script group. The value does not even apply to a script group. There should be no assert on it. Test: CTS on x86 emulator and checked device logcat no longer has the asserts in question. Change-Id: Ib0c25f9978ef5364e8ef0f438243dae14688a634
/frameworks/rs/cpu_ref/rsCpuScriptGroup.cpp
|
82e135c4bbe18855d8ed02632bb074f8da0b96e0 |
|
28-Feb-2017 |
Miao Wang <miaowang@google.com> |
Remove libutils.so dependency from libRSDriver, libRSCpuRef, and most parts of libRS_internal. NOTE: we're resolving dependencies to provide a model for vendors. For us, all this code is above the HAL, thus the dependencies are acceptable; whereas for vendors, their equivalent of this code is below the HAL, and so the dependencies are not acceptable. This CL resolves the libutils dependency by: - Implement the timings functions in android::renderscript namespace using NDK APIs, instead of using libutils counterparts. - Replace android::Vector and android::String8 by std::vector and std::string. - PROPERTY_VALUE_MAX is replaced as PROP_VALUE_MAX. This CL didn't resolve the libutils dependency of rsFont.cpp and rsDebugger.cpp in libRS_internal: The dependent functionality in rsDebugHelper.h is off by default, and only intended for use during development; and rsFont.cpp is part of graphics API which is not implemented below the HAL and is not used as a model by vendors. Additionally, this CL fixed the bug that mNodes was sorted in a decreasing order. Nodes in ScriptGroup should be executed in ascending order. The bad sort was only for support lib; so there was a previously-unknown bug in support lib implementation of ScriptGroup. Background: libutils contains a collection of things like Vector, String8, CallStack. It served the purpose similar to a STL library, when there was no stable STL implementation available in Android. And most importantly, it is not part of NDK. Support lib used to use our own implementations of android::Vector and android::String8, because it can only depend on NDK, similarly for the timing related functions. As part of the Treble requirements, native RS, including vendor version libRS_internal, libRSDriver, libRSCpuRef could only depend on NDK too. So we need to break the dependency on libutils. And since we now have reasonable support of STLs, we should use that instead. Bug: 34396220 Test: mm, and all CTS tests pass on Bullhead; RsTest and RSTest_CompatLib (both native and compat path) also pass. Change-Id: Ib9a37d16235c1dcd0f5bae3b95c374e394483c91
/frameworks/rs/cpu_ref/rsCpuScriptGroup.cpp
|
462de21ac2e1773b99aedee012adb374e476ae36 |
|
16-Nov-2016 |
Chih-Hung Hsieh <chh@google.com> |
Fix google-build-using-namespace warnings in cpu_ref. * 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
/frameworks/rs/cpu_ref/rsCpuScriptGroup.cpp
|
14ce007a633b10e3b9a3fae29d8f53a7e8c9b59f |
|
31-Jul-2015 |
Matt Wala <wala@google.com> |
Add a basic implementation of the reduce kernel API to the CPU reference implementation. Bug: 22631253 For now, this just runs a serial reduction on one thread. Change-Id: I34c96d24bb6f44274de72bb53160abcf79d143b0
/frameworks/rs/cpu_ref/rsCpuScriptGroup.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/rsCpuScriptGroup.cpp
|
b8353c5943f4038fd7f08db3d958390ce9418798 |
|
15-Feb-2015 |
Yang Ni <yangni@google.com> |
Revert "Replaced android::Vector with std::vector." b/19148482 This reverts commit 93d6bc872b7d9fba63abfa7513d56b38d9c3d371. I also made some changes to Make it work with HEAD. Change-Id: I5e516976ec1d85ffe1cf388c01795348a9441982
/frameworks/rs/cpu_ref/rsCpuScriptGroup.cpp
|
bf2111d3b3de310932099514f06924e48fa1d7b2 |
|
27-Jan-2015 |
Jason Sams <jsams@google.com> |
add array launch support. Change-Id: I66cd89b5b44eafa92f391708a06464cd7cdde3ed
/frameworks/rs/cpu_ref/rsCpuScriptGroup.cpp
|
1ffd86b448d78366190c540f98f8b6d641cdb6cf |
|
07-Jan-2015 |
Yang Ni <yangni@google.com> |
New Script Group API: runtime and cpu driver support. Change-Id: I9c612cf8874aabaf0ca7d1640567464c71ed3070
/frameworks/rs/cpu_ref/rsCpuScriptGroup.cpp
|
44bef6fba6244292b751387f3d6c31cca96c28ad |
|
12-Aug-2014 |
Chris Wailes <chriswailes@google.com> |
Replace NULL macros with nullptr literals. Change-Id: I918c40879aa547438f77e7d1a95fa2aa33bec398
/frameworks/rs/cpu_ref/rsCpuScriptGroup.cpp
|
93d6bc872b7d9fba63abfa7513d56b38d9c3d371 |
|
29-Jul-2014 |
Chris Wailes <chriswailes@google.com> |
Replaced android::Vector with std::vector. Change-Id: I4c6abd964dc4b1412ec2e592fc8e835fecfe53f6
/frameworks/rs/cpu_ref/rsCpuScriptGroup.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/rsCpuScriptGroup.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/rsCpuScriptGroup.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/rsCpuScriptGroup.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/rsCpuScriptGroup.cpp
|
5f6f16fe612e1c30732becc66205500994889ac9 |
|
25-Jul-2014 |
Yang Ni <yangni@google.com> |
Validate input/output for a ScriptGroup. 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
/frameworks/rs/cpu_ref/rsCpuScriptGroup.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/rsCpuScriptGroup.cpp
|
c78839b5bbcffae7d64a5a1c9aa60c9a4c5d3918 |
|
11-Sep-2013 |
Stephen Hines <srhines@google.com> |
Detect use of RS objects in kernels to disable a ScriptGroup optimization. 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
/frameworks/rs/cpu_ref/rsCpuScriptGroup.cpp
|
17e3cdc24776d8fdbf1ce16287b9b4dcd516708f |
|
10-Sep-2013 |
Jason Sams <jsams@google.com> |
Fix ScriptGroup performance regression bug 10151545 Change-Id: Ica4a30c6fe8718f7fdbff0b446885d9ac7083769
/frameworks/rs/cpu_ref/rsCpuScriptGroup.cpp
|
b0934b67b95cc27e2358c2aa4db5f7c1067c8f9b |
|
04-Jul-2013 |
Stephen Hines <srhines@google.com> |
Remove libutils and fix rsDebug for RS support library. 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
/frameworks/rs/cpu_ref/rsCpuScriptGroup.cpp
|
0b575de8ed0b628d84d256f5846500b0385979bd |
|
15-Mar-2013 |
Tim Murray <timmurray@google.com> |
Add x86 server support. Change-Id: I674acaf15b67afa48bc736f72942a11e2e38e940
/frameworks/rs/cpu_ref/rsCpuScriptGroup.cpp
|
93eacc7ce0aad4314b4cb41a281f59ce54bb3286 |
|
18-Dec-2012 |
Jason Sams <jsams@google.com> |
Cleanup diff with compat. Change-Id: Ieedcdec03ccb05cac68cbebbd398e07cb885f4d3
/frameworks/rs/cpu_ref/rsCpuScriptGroup.cpp
|
709a0978ae141198018ca9769f8d96292a8928e6 |
|
16-Nov-2012 |
Jason Sams <jsams@google.com> |
Separate CPU driver impl from reference driver. Change-Id: Ifb484edda665959b81d7b1f890d108bfa20a535d
/frameworks/rs/cpu_ref/rsCpuScriptGroup.cpp
|