New Script Group API: runtime and cpu driver support.
Change-Id: I9c612cf8874aabaf0ca7d1640567464c71ed3070
diff --git a/cpu_ref/rsd_cpu.h b/cpu_ref/rsd_cpu.h
index b0e924e..d886cef 100644
--- a/cpu_ref/rsd_cpu.h
+++ b/cpu_ref/rsd_cpu.h
@@ -45,7 +45,7 @@
class ScriptC;
class Script;
-class ScriptGroup;
+class ScriptGroupBase;
class ScriptKernelID;
@@ -97,7 +97,13 @@
};
typedef CpuScript * (* script_lookup_t)(Context *, const Script *s);
- class CpuScriptGroup {
+ class CpuScriptGroupBase {
+ public:
+ virtual void execute() = 0;
+ virtual ~CpuScriptGroupBase() {}
+ };
+
+ class CpuScriptGroup : public CpuScriptGroupBase {
public:
virtual void setInput(const ScriptKernelID *kid, Allocation *) = 0;
virtual void setOutput(const ScriptKernelID *kid, Allocation *) = 0;
@@ -105,6 +111,12 @@
virtual ~CpuScriptGroup() {};
};
+ class CpuScriptGroup2 : public CpuScriptGroupBase {
+ public:
+ virtual void execute() = 0;
+ virtual ~CpuScriptGroup2() {}
+ };
+
static Context * getTlsContext();
static const Script * getTlsScript();
static pthread_key_t getThreadTLSKey();
@@ -124,7 +136,7 @@
uint8_t const *bitcode, size_t bitcodeSize,
uint32_t flags) = 0;
virtual CpuScript * createIntrinsic(const Script *s, RsScriptIntrinsicID iid, Element *e) = 0;
- virtual CpuScriptGroup * createScriptGroup(const ScriptGroup *sg) = 0;
+ virtual void* createScriptGroup(const ScriptGroupBase *sg) = 0;
virtual bool getInForEach() = 0;
#ifndef RS_COMPATIBILITY_LIB