summaryrefslogtreecommitdiff
path: root/rsScriptIntrinsic.cpp
diff options
context:
space:
mode:
authorChris Wailes <chriswailes@google.com>2014-06-11 12:00:29 -0700
committerChris Wailes <chriswailes@google.com>2014-07-08 11:46:34 -0700
commit4b3c34e6833e39bc89c2128002806b654b8e623d (patch)
treed5e1eeed6ac0e0f9b57488570680b6796ecd7735 /rsScriptIntrinsic.cpp
parentcb51798a0379409c0f9927c44bbcdd772ed7ec18 (diff)
Adds support for multi-input kernels to Frameworks/RS.
This patch modifies Frameworks/RS in the following ways: * Adjusted the data-layout of the C/C++ version of RsForEachStubParamStruct to accommodate a pointer to an array of input allocations and a pointer to an array of stride sizes for each of these allocatoins. * Adds a new code path for Java code to pass multiple allocations to a RS kernel. * Packs base pointers and step values for multi-input kernels into the new RsForEachStubParamStruct members. Change-Id: I46d2834c37075b2a2407fd8b010546818a4540d1
Diffstat (limited to 'rsScriptIntrinsic.cpp')
-rw-r--r--rsScriptIntrinsic.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/rsScriptIntrinsic.cpp b/rsScriptIntrinsic.cpp
index ab439e6a..86f1c504 100644
--- a/rsScriptIntrinsic.cpp
+++ b/rsScriptIntrinsic.cpp
@@ -67,6 +67,18 @@ void ScriptIntrinsic::runForEach(Context *rsc,
rsc->mHal.funcs.script.invokeForEach(rsc, this, slot, ain, aout, usr, usrBytes, sc);
}
+void ScriptIntrinsic::runForEach(Context* rsc,
+ uint32_t slot,
+ const Allocation** ains,
+ size_t inLen,
+ Allocation* aout,
+ const void* usr,
+ size_t usrBytes,
+ const RsScriptCall* sc) {
+
+ rsc->mHal.funcs.script.invokeForEachMulti(rsc, this, slot, ains, inLen, aout, usr, usrBytes, sc);
+}
+
void ScriptIntrinsic::Invoke(Context *rsc, uint32_t slot, const void *data, size_t len) {
}