Add code to mark functions rather than whole files as threadable.
Change-Id: Ie635fbbb96b8ade48501ec564fe135edc256537d
diff --git a/libs/rs/rsScriptC.cpp b/libs/rs/rsScriptC.cpp
index a2a08e5..c692bc1 100644
--- a/libs/rs/rsScriptC.cpp
+++ b/libs/rs/rsScriptC.cpp
@@ -400,16 +400,14 @@
const ScriptCState::SymbolTable_t *sym;
ScriptC *s = (ScriptC *)pContext;
sym = ScriptCState::lookupSymbol(name);
- if (sym) {
- return sym->mPtr;
+ if (!sym) {
+ sym = ScriptCState::lookupSymbolCL(name);
}
- sym = ScriptCState::lookupSymbolCL(name);
- if (sym) {
- return sym->mPtr;
+ if (!sym) {
+ sym = ScriptCState::lookupSymbolGL(name);
}
- s->mEnviroment.mIsThreadable = false;
- sym = ScriptCState::lookupSymbolGL(name);
if (sym) {
+ s->mEnviroment.mIsThreadable &= sym->threadable;
return sym->mPtr;
}
LOGE("ScriptC sym lookup failed for %s", name);