Support for general reduction kernels.
Requires coordinated change in frameworks/base.
Requires coordinated change in frameworks/compile/libbcc in order
for RsTest to run.
At present, general reduction kernels are run single-threaded.
Also: Remove dead struct field MTLaunchStructForEach::sig.
Bug: 23535724
Change-Id: Ice17ccf20a902f8a106eaa62ec071d46e3c0ad8c
diff --git a/driver/rsdBcc.cpp b/driver/rsdBcc.cpp
index 25659d8..af8d6ad 100644
--- a/driver/rsdBcc.cpp
+++ b/driver/rsdBcc.cpp
@@ -133,6 +133,15 @@
cs->invokeReduce(slot, ain, aout, sc);
}
+void rsdScriptInvokeReduceNew(const Context *dc, Script *s,
+ uint32_t slot,
+ const Allocation ** ains, size_t inLen,
+ Allocation *aout,
+ const RsScriptCall *sc) {
+ RsdCpuReference::CpuScript *cs = (RsdCpuReference::CpuScript *)s->mHal.drv;
+ cs->invokeReduceNew(slot, ains, inLen, aout, sc);
+}
+
void rsdScriptSetGlobalVar(const Context *dc, const Script *s,
uint32_t slot, void *data, size_t dataLength) {
RsdCpuReference::CpuScript *cs = (RsdCpuReference::CpuScript *)s->mHal.drv;