summaryrefslogtreecommitdiffstats
path: root/libs/rs/rsScript.cpp
diff options
context:
space:
mode:
authorJason Sams <rjsams@android.com>2009-09-16 15:04:38 -0700
committerJason Sams <rjsams@android.com>2009-09-16 15:04:38 -0700
commitbe2e84193f709419634de4cc3ba0e67acf6976f3 (patch)
tree5c940265dd0a42ef6072c03ec463a6961a6fb4d3 /libs/rs/rsScript.cpp
parent91a5d831d6e2311d4129cb6086a67ab66874992c (diff)
downloadframeworks_base-be2e84193f709419634de4cc3ba0e67acf6976f3.zip
frameworks_base-be2e84193f709419634de4cc3ba0e67acf6976f3.tar.gz
frameworks_base-be2e84193f709419634de4cc3ba0e67acf6976f3.tar.bz2
Implement renderscript Invokables.
Diffstat (limited to 'libs/rs/rsScript.cpp')
-rw-r--r--libs/rs/rsScript.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/libs/rs/rsScript.cpp b/libs/rs/rsScript.cpp
index fde31a1..99a085d 100644
--- a/libs/rs/rsScript.cpp
+++ b/libs/rs/rsScript.cpp
@@ -27,6 +27,8 @@ Script::Script()
mEnviroment.mClearColor[2] = 0;
mEnviroment.mClearColor[3] = 1;
mEnviroment.mClearDepth = 1;
+ mEnviroment.mClearStencil = 0;
+ mEnviroment.mIsRoot = false;
}
Script::~Script()
@@ -83,10 +85,23 @@ void rsi_ScriptSetType(Context * rsc, RsType vt, uint32_t slot, bool writable, c
}
}
+void rsi_ScriptSetInvoke(Context *rsc, const char *name, uint32_t slot)
+{
+ ScriptCState *ss = &rsc->mScriptC;
+ ss->mInvokableNames[slot] = name;
+}
+
+void rsi_ScriptInvoke(Context *rsc, RsScript vs, uint32_t slot)
+{
+ Script *s = static_cast<Script *>(vs);
+ s->mEnviroment.mInvokables[slot]();
+}
+
+
void rsi_ScriptSetRoot(Context * rsc, bool isRoot)
{
ScriptCState *ss = &rsc->mScriptC;
- ss->mEnviroment.mIsRoot = isRoot;
+ ss->mScript->mEnviroment.mIsRoot = isRoot;
}