summaryrefslogtreecommitdiff
path: root/driver
diff options
context:
space:
mode:
authorPirama Arumuga Nainar <pirama@google.com>2015-04-28 14:40:45 -0700
committerPirama Arumuga Nainar <pirama@google.com>2015-04-29 17:50:12 +0000
commit441104d6b802ab14f67af8e8e55570de1fcc9de6 (patch)
tree7af48900284efbdf2a1dfd54fa324a4593804548 /driver
parentd57865a769071ccde7acc5287fb25a0f31bd0a4d (diff)
downloadrs-441104d6b802ab14f67af8e8e55570de1fcc9de6.tar.gz
Handle older structure sizes by zeroing new fields
Bug 19734267 Bug 19866850 Prior fix handled only rsForEach calls from a script. It is not sufficient, as launch options in support library also will also use old structures. Apps compiled for support library still run in native mode when available, thus necessitating this fix. This fix copies and extends the input in ScriptC::runForEach instead of rsrForEach. Change-Id: I3bb2527eadcbcdb85a76a1f5568269bbfdee972b (cherry-pick of 9479e5bf0152ecff022cd374e2e80905f88b1a5d from AOSP)
Diffstat (limited to 'driver')
-rw-r--r--driver/rsdRuntimeStubs.cpp15
1 files changed, 5 insertions, 10 deletions
diff --git a/driver/rsdRuntimeStubs.cpp b/driver/rsdRuntimeStubs.cpp
index bc5c8922..c728ca71 100644
--- a/driver/rsdRuntimeStubs.cpp
+++ b/driver/rsdRuntimeStubs.cpp
@@ -439,9 +439,8 @@ void __attribute__((overloadable)) rsForEach(::rs_script script,
const void *usr,
const rs_script_call *call) {
Context *rsc = RsdCpuReference::getTlsContext();
- const Script *sc = RsdCpuReference::getTlsScript();
rsrForEach(rsc, (Script *)script.p, (Allocation *)in.p,
- (Allocation *)out.p, usr, 0, (RsScriptCall *)call, sc);
+ (Allocation *)out.p, usr, 0, (RsScriptCall *)call);
}
void __attribute__((overloadable)) rsForEach(::rs_script script,
@@ -449,18 +448,16 @@ void __attribute__((overloadable)) rsForEach(::rs_script script,
::rs_allocation out,
const void *usr) {
Context *rsc = RsdCpuReference::getTlsContext();
- const Script *sc = RsdCpuReference::getTlsScript();
rsrForEach(rsc, (Script *)script.p, (Allocation *)in.p, (Allocation *)out.p,
- usr, 0, nullptr, sc);
+ usr, 0, nullptr);
}
void __attribute__((overloadable)) rsForEach(::rs_script script,
::rs_allocation in,
::rs_allocation out) {
Context *rsc = RsdCpuReference::getTlsContext();
- const Script *sc = RsdCpuReference::getTlsScript();
rsrForEach(rsc, (Script *)script.p, (Allocation *)in.p, (Allocation *)out.p,
- nullptr, 0, nullptr, sc);
+ nullptr, 0, nullptr);
}
// These functions are only supported in 32-bit.
@@ -471,9 +468,8 @@ void __attribute__((overloadable)) rsForEach(::rs_script script,
const void *usr,
uint32_t usrLen) {
Context *rsc = RsdCpuReference::getTlsContext();
- const Script *sc = RsdCpuReference::getTlsScript();
rsrForEach(rsc, (Script *)script.p, (Allocation *)in.p, (Allocation *)out.p,
- usr, usrLen, nullptr, sc);
+ usr, usrLen, nullptr);
}
void __attribute__((overloadable)) rsForEach(::rs_script script,
@@ -483,9 +479,8 @@ void __attribute__((overloadable)) rsForEach(::rs_script script,
uint32_t usrLen,
const rs_script_call *call) {
Context *rsc = RsdCpuReference::getTlsContext();
- const Script *sc = RsdCpuReference::getTlsScript();
rsrForEach(rsc, (Script *)script.p, (Allocation *)in.p, (Allocation *)out.p,
- usr, usrLen, (RsScriptCall *)call, sc);
+ usr, usrLen, (RsScriptCall *)call);
}
#endif