summaryrefslogtreecommitdiff
path: root/cpu_ref/rsd_cpu.h
diff options
context:
space:
mode:
authorYang Ni <yangni@google.com>2015-01-07 09:16:40 -0800
committerYang Ni <yangni@google.com>2015-01-07 09:16:40 -0800
commit1ffd86b448d78366190c540f98f8b6d641cdb6cf (patch)
tree65dc9b2f0c6d53ce4858ae990ab82f34cc26fd06 /cpu_ref/rsd_cpu.h
parent82f515b5a40d030f88bf622b8c05a03ec80083ee (diff)
downloadrs-1ffd86b448d78366190c540f98f8b6d641cdb6cf.tar.gz
New Script Group API: runtime and cpu driver support.
Change-Id: I9c612cf8874aabaf0ca7d1640567464c71ed3070
Diffstat (limited to 'cpu_ref/rsd_cpu.h')
-rw-r--r--cpu_ref/rsd_cpu.h18
1 files changed, 15 insertions, 3 deletions
diff --git a/cpu_ref/rsd_cpu.h b/cpu_ref/rsd_cpu.h
index b0e924e3..d886cef0 100644
--- a/cpu_ref/rsd_cpu.h
+++ b/cpu_ref/rsd_cpu.h
@@ -45,7 +45,7 @@ namespace renderscript {
class ScriptC;
class Script;
-class ScriptGroup;
+class ScriptGroupBase;
class ScriptKernelID;
@@ -97,7 +97,13 @@ public:
};
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 @@ public:
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 @@ public:
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