summaryrefslogtreecommitdiff
path: root/driver
diff options
context:
space:
mode:
Diffstat (limited to 'driver')
-rw-r--r--driver/rsdBcc.cpp21
1 files changed, 15 insertions, 6 deletions
diff --git a/driver/rsdBcc.cpp b/driver/rsdBcc.cpp
index 27029cf1..b7c7f2e5 100644
--- a/driver/rsdBcc.cpp
+++ b/driver/rsdBcc.cpp
@@ -43,8 +43,9 @@ bool rsdScriptInit(const Context *rsc,
size_t bitcodeSize,
uint32_t flags) {
RsdHal *dc = (RsdHal *)rsc->mHal.drv;
- RsdCpuReference::CpuScript * cs = dc->mCpuRef->createScript(script, resName, cacheDir,
- bitcode, bitcodeSize, flags);
+ RsdCpuReference::CpuScript * cs =
+ dc->mCpuRef->createScript(script, resName, cacheDir, bitcode,
+ bitcodeSize, flags);
if (cs == NULL) {
return false;
}
@@ -53,7 +54,8 @@ bool rsdScriptInit(const Context *rsc,
return true;
}
-bool rsdInitIntrinsic(const Context *rsc, Script *s, RsScriptIntrinsicID iid, Element *e) {
+bool rsdInitIntrinsic(const Context *rsc, Script *s, RsScriptIntrinsicID iid,
+ Element *e) {
RsdHal *dc = (RsdHal *)rsc->mHal.drv;
RsdCpuReference::CpuScript * cs = dc->mCpuRef->createIntrinsic(s, iid, e);
if (cs == NULL) {
@@ -73,8 +75,15 @@ void rsdScriptInvokeForEach(const Context *rsc,
size_t usrLen,
const RsScriptCall *sc) {
- RsdCpuReference::CpuScript *cs = (RsdCpuReference::CpuScript *)s->mHal.drv;
- cs->invokeForEach(slot, ain, aout, usr, usrLen, sc);
+ if (ain == NULL) {
+ rsdScriptInvokeForEachMulti(rsc, s, slot, NULL, 0, aout, usr, usrLen,
+ sc);
+ } else {
+ const Allocation *ains[1] = {ain};
+
+ rsdScriptInvokeForEachMulti(rsc, s, slot, ains, 1, aout, usr, usrLen,
+ sc);
+ }
}
void rsdScriptInvokeForEachMulti(const Context *rsc,
@@ -88,7 +97,7 @@ void rsdScriptInvokeForEachMulti(const Context *rsc,
const RsScriptCall *sc) {
RsdCpuReference::CpuScript *cs = (RsdCpuReference::CpuScript *)s->mHal.drv;
- cs->invokeForEachMulti(slot, ains, inLen, aout, usr, usrLen, sc);
+ cs->invokeForEach(slot, ains, inLen, aout, usr, usrLen, sc);
}