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
diff --git a/rsScript.h b/rsScript.h
index 8030ab0..06e52de 100644
--- a/rsScript.h
+++ b/rsScript.h
@@ -116,6 +116,15 @@
size_t usrBytes,
const RsScriptCall *sc = NULL) = 0;
+ virtual void runForEach(Context* rsc,
+ uint32_t slot,
+ const Allocation** ains,
+ size_t inLen,
+ Allocation* aout,
+ const void* usr,
+ size_t usrBytes,
+ const RsScriptCall *sc = NULL) = 0;
+
virtual void Invoke(Context *rsc, uint32_t slot, const void *data, size_t len) = 0;
virtual void setupScript(Context *rsc) = 0;
virtual uint32_t run(Context *) = 0;
@@ -135,4 +144,3 @@
}
}
#endif
-