Avoid breaking on dead launch options
Bug: 28463187
Launch options array[2-4] are not initialized by the support library
in the current SDK.
They may have arbitrary values that invalide the checks that this CL
is removing, and cause a kernel launch to bail out unnecessarily.
This CL removes those checks, since the array.*Start and array.*End
fields in the launch options are not used anywhere in the current
runtime.
Change-Id: Ib8a2e551619f770b402f569acbde635ee047675a
diff --git a/cpu_ref/rsCpuScript.cpp b/cpu_ref/rsCpuScript.cpp
index a88af2f..0400fab 100644
--- a/cpu_ref/rsCpuScript.cpp
+++ b/cpu_ref/rsCpuScript.cpp
@@ -548,10 +548,8 @@
SET_UP_DIMENSION(x, x);
SET_UP_DIMENSION(y, y);
SET_UP_DIMENSION(z, z);
- SET_UP_DIMENSION(array[0], array);
- SET_UP_DIMENSION(array[1], array2);
- SET_UP_DIMENSION(array[2], array3);
- SET_UP_DIMENSION(array[3], array4);
+ // Checks and setup of fields other than x, y, z are ignored, since those
+ // fields are not used in the runtime and are not visible in the Java API.
#undef SET_UP_DIMENSION
return true;
diff --git a/rsScriptC.cpp b/rsScriptC.cpp
index d2d5b1f..eaef849 100644
--- a/rsScriptC.cpp
+++ b/rsScriptC.cpp
@@ -183,15 +183,6 @@
const void * usr,
size_t usrBytes,
const RsScriptCall *sc) {
- // Make a copy of RsScriptCall and zero out extra fields that are absent
- // in API levels below 23.
- RsScriptCall sc_copy;
- if (sc != nullptr && getApiLevel() < 23) {
- memset(&sc_copy, 0, sizeof(sc_copy));
- memcpy(&sc_copy, sc, 7*4);
- sc = &sc_copy;
- }
-
if (slot >= mHal.info.exportedForEachCount) {
rsc->setError(RS_ERROR_BAD_SCRIPT,
"The forEach kernel index is out of bounds");