summaryrefslogtreecommitdiff
path: root/cpu_ref/rsCpuScript.cpp
diff options
context:
space:
mode:
authorTim Murray <timmurray@google.com>2013-04-11 13:29:59 -0700
committerTim Murray <timmurray@google.com>2013-04-11 16:17:30 -0700
commit9c64239ebbfa4170190ede812e69150035e008e0 (patch)
tree0888cb6f3f337f5f3499530ce5d112b6e500a2a6 /cpu_ref/rsCpuScript.cpp
parent6155dba788849d90d96b05acc63fa6d08d53e95e (diff)
Add support for synchronous get().
Change-Id: Ic94f1e36f7cffaaeda11fa9f0bb70e441fe1e535
Diffstat (limited to 'cpu_ref/rsCpuScript.cpp')
-rw-r--r--cpu_ref/rsCpuScript.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/cpu_ref/rsCpuScript.cpp b/cpu_ref/rsCpuScript.cpp
index ff1fd142..b182efb4 100644
--- a/cpu_ref/rsCpuScript.cpp
+++ b/cpu_ref/rsCpuScript.cpp
@@ -658,6 +658,24 @@ void RsdCpuScriptImpl::setGlobalVar(uint32_t slot, const void *data, size_t data
memcpy(destPtr, data, dataLength);
}
+void RsdCpuScriptImpl::getGlobalVar(uint32_t slot, void *data, size_t dataLength) {
+ //rsAssert(!script->mFieldIsObject[slot]);
+ //ALOGE("getGlobalVar %p %p %i %p %i", dc, script, slot, data, dataLength);
+
+#ifndef RS_COMPATIBILITY_LIB
+ int32_t *srcPtr = reinterpret_cast<int32_t *>(
+ mExecutable->getExportVarAddrs()[slot]);
+#else
+ int32_t *srcPtr = reinterpret_cast<int32_t *>(mFieldAddress[slot]);
+#endif
+ if (!srcPtr) {
+ //ALOGV("Calling setVar on slot = %i which is null", slot);
+ return;
+ }
+ memcpy(data, srcPtr, dataLength);
+}
+
+
void RsdCpuScriptImpl::setGlobalVarWithElemDims(uint32_t slot, const void *data, size_t dataLength,
const Element *elem,
const size_t *dims, size_t dimLength) {