summaryrefslogtreecommitdiff
path: root/rsScript.cpp
diff options
context:
space:
mode:
authorStephen Hines <srhines@google.com>2012-04-09 18:26:29 -0700
committerStephen Hines <srhines@google.com>2012-05-01 00:16:24 -0700
commit2980f07d3dbbca727e8efe24ace7e7928a935648 (patch)
tree2988b678c3a057d4c1733eaca5b7cb1077f997b8 /rsScript.cpp
parentec3fc1163c01e18b1454057723c451f0d96868ad (diff)
Support additional element/dim information for FieldPacker.
BUG=6009244 Change-Id: I3c439559d61b24b26f9a36f2525f0a0e05b00e77
Diffstat (limited to 'rsScript.cpp')
-rw-r--r--rsScript.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/rsScript.cpp b/rsScript.cpp
index 6a3bd4bf..d39fb5e6 100644
--- a/rsScript.cpp
+++ b/rsScript.cpp
@@ -64,6 +64,16 @@ void Script::setVar(uint32_t slot, const void *val, size_t len) {
mRSC->mHal.funcs.script.setGlobalVar(mRSC, this, slot, (void *)val, len);
}
+void Script::setVar(uint32_t slot, const void *val, size_t len, Element *e,
+ const size_t *dims, size_t dimLen) {
+ if (slot >= mHal.info.exportedVariableCount) {
+ ALOGE("Script::setVar unable to set allocation, invalid slot index");
+ return;
+ }
+ mRSC->mHal.funcs.script.setGlobalVarWithElemDims(mRSC, this, slot,
+ (void *)val, len, e, dims, dimLen);
+}
+
void Script::setVarObj(uint32_t slot, ObjectBase *val) {
//ALOGE("setVarObj %i %p", slot, val);
if (slot >= mHal.info.exportedVariableCount) {
@@ -166,6 +176,14 @@ void rsi_ScriptSetVarV(Context *rsc, RsScript vs, uint32_t slot, const void *dat
s->setVar(slot, data, len);
}
+void rsi_ScriptSetVarVE(Context *rsc, RsScript vs, uint32_t slot,
+ const void *data, size_t len, RsElement ve,
+ const size_t *dims, size_t dimLen) {
+ Script *s = static_cast<Script *>(vs);
+ Element *e = static_cast<Element *>(ve);
+ s->setVar(slot, data, len, e, dims, dimLen);
+}
+
}
}