diff options
| author | Tim Murray <timmurray@google.com> | 2013-04-11 13:29:59 -0700 |
|---|---|---|
| committer | Tim Murray <timmurray@google.com> | 2013-04-11 16:17:30 -0700 |
| commit | 9c64239ebbfa4170190ede812e69150035e008e0 (patch) | |
| tree | 0888cb6f3f337f5f3499530ce5d112b6e500a2a6 /cpu_ref/rsCpuScript.cpp | |
| parent | 6155dba788849d90d96b05acc63fa6d08d53e95e (diff) | |
Add support for synchronous get().
Change-Id: Ic94f1e36f7cffaaeda11fa9f0bb70e441fe1e535
Diffstat (limited to 'cpu_ref/rsCpuScript.cpp')
| -rw-r--r-- | cpu_ref/rsCpuScript.cpp | 18 |
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) { |
