summaryrefslogtreecommitdiff
path: root/libs/rs/rsScriptC.cpp
diff options
context:
space:
mode:
author Jason Sams <rjsams@android.com> 2010-09-22 15:57:41 -0700
committer Jason Sams <rjsams@android.com> 2010-09-22 15:57:41 -0700
commitf119b91e1a05fd1ba5163ef125b0d20b21389433 (patch)
treeee5e7f08e7917b8c978bd45e7fa3b0a19befe129 /libs/rs/rsScriptC.cpp
parent7a3403b0b8339963293543f4cd97c0b5789c3381 (diff)
Better debugging for scripts.
Change-Id: I916cea86dcfdb43a9465708ea4a16f19cbe42370
Diffstat (limited to 'libs/rs/rsScriptC.cpp')
-rw-r--r--libs/rs/rsScriptC.cpp45
1 files changed, 26 insertions, 19 deletions
diff --git a/libs/rs/rsScriptC.cpp b/libs/rs/rsScriptC.cpp
index cbc5df95aa05..4b484b193166 100644
--- a/libs/rs/rsScriptC.cpp
+++ b/libs/rs/rsScriptC.cpp
@@ -67,12 +67,15 @@ void ScriptC::setupScript(Context *rsc)
ptr = mSlots[ct]->getPtr();
}
void **dest = ((void ***)mEnviroment.mFieldAddress)[ct];
- //LOGE("setupScript %i %p = %p %p %i", ct, dest, ptr, mSlots[ct]->getType(), mSlots[ct]->getType()->getDimX());
- //const uint32_t *p32 = (const uint32_t *)ptr;
- //for (uint32_t ct2=0; ct2 < mSlots[ct]->getType()->getDimX(); ct2++) {
- //LOGE(" %i = 0x%08x ", ct2, p32[ct2]);
- //}
+ if (rsc->props.mLogScripts) {
+ LOGV("%p ScriptC::setupScript slot=%i dst=%p src=%p type=%p", rsc, ct, dest, ptr, mSlots[ct]->getType());
+
+ //const uint32_t *p32 = (const uint32_t *)ptr;
+ //for (uint32_t ct2=0; ct2 < mSlots[ct]->getType()->getDimX(); ct2++) {
+ //LOGE(" %i = 0x%08x ", ct2, p32[ct2]);
+ //}
+ }
if (dest) {
*dest = ptr;
@@ -136,10 +139,18 @@ uint32_t ScriptC::run(Context *rsc)
uint32_t ret = 0;
Script * oldTLS = setTLS(this);
- //LOGE("ScriptC::run %p", mProgram.mRoot);
+
+ if (rsc->props.mLogScripts) {
+ LOGV("%p ScriptC::run invoking root, ptr %p", rsc, mProgram.mRoot);
+ }
+
ret = mProgram.mRoot();
+
+ if (rsc->props.mLogScripts) {
+ LOGV("%p ScriptC::run invoking complete, ret=%i", rsc, ret);
+ }
+
setTLS(oldTLS);
- //LOGE("ScriptC::run ret %i", ret);
return ret;
}
@@ -325,8 +336,14 @@ void ScriptC::Invoke(Context *rsc, uint32_t slot, const void *data, uint32_t len
setupScript(rsc);
Script * oldTLS = setTLS(this);
+ if (rsc->props.mLogScripts) {
+ LOGV("%p ScriptC::Invoke invoking slot %i, ptr %p", rsc, slot, mEnviroment.mInvokeFunctions[slot]);
+ }
((void (*)(const void *, uint32_t))
mEnviroment.mInvokeFunctions[slot])(data, len);
+ if (rsc->props.mLogScripts) {
+ LOGV("%p ScriptC::Invoke complete", rsc);
+ }
setTLS(oldTLS);
}
@@ -377,7 +394,7 @@ static BCCvoid* symbolLookup(BCCvoid* pContext, const BCCchar* name)
void ScriptCState::runCompiler(Context *rsc, ScriptC *s)
{
- LOGV("ScriptCState::runCompiler ");
+ LOGV("%p ScriptCState::runCompiler ", rsc);
s->mBccScript = bccCreateScript();
s->mEnviroment.mIsThreadable = true;
@@ -386,7 +403,7 @@ void ScriptCState::runCompiler(Context *rsc, ScriptC *s)
bccCompileScript(s->mBccScript);
bccGetScriptLabel(s->mBccScript, "root", (BCCvoid**) &s->mProgram.mRoot);
bccGetScriptLabel(s->mBccScript, "init", (BCCvoid**) &s->mProgram.mInit);
- LOGV("root %p, init %p", s->mProgram.mRoot, s->mProgram.mInit);
+ LOGV("%p ScriptCState::runCompiler root %p, init %p", rsc, s->mProgram.mRoot, s->mProgram.mInit);
if (s->mProgram.mInit) {
s->mProgram.mInit();
@@ -407,9 +424,6 @@ void ScriptCState::runCompiler(Context *rsc, ScriptC *s)
s->mEnviroment.mFieldAddress = (void **) calloc(s->mEnviroment.mFieldCount, sizeof(void *));
bccGetExportVars(s->mBccScript, NULL, s->mEnviroment.mFieldCount, (BCCvoid **) s->mEnviroment.mFieldAddress);
}
- //for (int ct2=0; ct2 < s->mEnviroment.mFieldCount; ct2++ ) {
- //LOGE("Script field %i = %p", ct2, s->mEnviroment.mFieldAddress[ct2]);
- //}
s->mEnviroment.mFragment.set(rsc->getDefaultProgramFragment());
s->mEnviroment.mVertex.set(rsc->getDefaultProgramVertex());
@@ -491,13 +505,6 @@ void rsi_ScriptCBegin(Context * rsc)
ss->clear();
}
-void rsi_ScriptCSetScript(Context * rsc, void *vp)
-{
- rsAssert(0);
- //ScriptCState *ss = &rsc->mScriptC;
- //ss->mProgram.mScript = reinterpret_cast<ScriptC::RunScript_t>(vp);
-}
-
void rsi_ScriptCSetText(Context *rsc, const char *text, uint32_t len)
{
ScriptCState *ss = &rsc->mScriptC;