summaryrefslogtreecommitdiffstats
path: root/rsScriptIntrinsic.cpp
diff options
context:
space:
mode:
authorStephen Hines <srhines@google.com>2014-08-13 17:32:10 +0000
committerStephen Hines <srhines@google.com>2014-08-13 17:32:10 +0000
commit4b2bea3dc20865f3a198797702e19912a6a2171c (patch)
treeb028521e6474ab22bc99571ead62e1e4f0cb2dc6 /rsScriptIntrinsic.cpp
parent818cfa034e257c7bb48356257f5cb67334e19aa6 (diff)
downloadandroid_frameworks_rs-4b2bea3dc20865f3a198797702e19912a6a2171c.tar.gz
android_frameworks_rs-4b2bea3dc20865f3a198797702e19912a6a2171c.tar.bz2
android_frameworks_rs-4b2bea3dc20865f3a198797702e19912a6a2171c.zip
Revert "Collapse code paths for single- and multi-input kernels."
This reverts commit 818cfa034e257c7bb48356257f5cb67334e19aa6. Change-Id: I59f39f52e6c8f60bb01cbcb8ccf2215eaf46a57f
Diffstat (limited to 'rsScriptIntrinsic.cpp')
-rw-r--r--rsScriptIntrinsic.cpp27
1 files changed, 15 insertions, 12 deletions
diff --git a/rsScriptIntrinsic.cpp b/rsScriptIntrinsic.cpp
index 7461d34a..86f1c504 100644
--- a/rsScriptIntrinsic.cpp
+++ b/rsScriptIntrinsic.cpp
@@ -55,6 +55,18 @@ uint32_t ScriptIntrinsic::run(Context *rsc) {
return 0;
}
+
+void ScriptIntrinsic::runForEach(Context *rsc,
+ uint32_t slot,
+ const Allocation * ain,
+ Allocation * aout,
+ const void * usr,
+ size_t usrBytes,
+ const RsScriptCall *sc) {
+
+ rsc->mHal.funcs.script.invokeForEach(rsc, this, slot, ain, aout, usr, usrBytes, sc);
+}
+
void ScriptIntrinsic::runForEach(Context* rsc,
uint32_t slot,
const Allocation** ains,
@@ -64,18 +76,7 @@ void ScriptIntrinsic::runForEach(Context* rsc,
size_t usrBytes,
const RsScriptCall* sc) {
- if (rsc->mHal.funcs.script.invokeForEachMulti != NULL) {
- rsc->mHal.funcs.script.invokeForEachMulti(rsc, this, slot, ains, inLen,
- aout, usr, usrBytes, sc);
-
- } else if (inLen == 1) {
- rsc->mHal.funcs.script.invokeForEach(rsc, this, slot, ains[0], aout,
- usr, usrBytes, sc);
-
- } else {
- rsc->setError(RS_ERROR_FATAL_DRIVER,
- "Driver support for multi-input not present");
- }
+ 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) {
@@ -106,3 +107,5 @@ RsScript rsi_ScriptIntrinsicCreate(Context *rsc, uint32_t id, RsElement ve) {
}
}
+
+