Switch the dimensions array to use uint32_t instead of size_t.
size_t isn't safe, since we pack/unpack the array as a 32-bit int array, but
that is the wrong type for 64-bit. Switching to uint32_t is better, since we
only support 1 dimension today, and won't need many more than that even for
complex cases in the future.
Change-Id: Ie0dda264a9398b0e385e0f9ee0a91cda08325dbc
diff --git a/cpu_ref/rsCpuIntrinsic.cpp b/cpu_ref/rsCpuIntrinsic.cpp
index cda40f0..7195714 100644
--- a/cpu_ref/rsCpuIntrinsic.cpp
+++ b/cpu_ref/rsCpuIntrinsic.cpp
@@ -54,7 +54,7 @@
void RsdCpuScriptIntrinsic::setGlobalVarWithElemDims(uint32_t slot, const void *data,
size_t dataLength, const Element *e,
- const size_t *dims, size_t dimLength) {
+ const uint32_t *dims, size_t dimLength) {
mCtx->getContext()->setError(RS_ERROR_FATAL_DRIVER,
"Unexpected RsdCpuScriptIntrinsic::setGlobalVarWithElemDims");
}
diff --git a/cpu_ref/rsCpuIntrinsic.h b/cpu_ref/rsCpuIntrinsic.h
index 917b235..1cf889c 100644
--- a/cpu_ref/rsCpuIntrinsic.h
+++ b/cpu_ref/rsCpuIntrinsic.h
@@ -49,7 +49,7 @@
virtual void setGlobalVar(uint32_t slot, const void *data, size_t dataLength);
virtual void setGlobalVarWithElemDims(uint32_t slot, const void *data, size_t dataLength,
- const Element *e, const size_t *dims, size_t dimLength);
+ const Element *e, const uint32_t *dims, size_t dimLength);
virtual void setGlobalBind(uint32_t slot, Allocation *data);
virtual void setGlobalObj(uint32_t slot, ObjectBase *data);
diff --git a/cpu_ref/rsCpuScript.cpp b/cpu_ref/rsCpuScript.cpp
index 29b1bf8..81e70f0 100644
--- a/cpu_ref/rsCpuScript.cpp
+++ b/cpu_ref/rsCpuScript.cpp
@@ -992,7 +992,7 @@
void RsdCpuScriptImpl::setGlobalVarWithElemDims(uint32_t slot, const void *data, size_t dataLength,
const Element *elem,
- const size_t *dims, size_t dimLength) {
+ const uint32_t *dims, size_t dimLength) {
#ifndef RS_COMPATIBILITY_LIB
int32_t *destPtr = reinterpret_cast<int32_t *>(
@@ -1015,14 +1015,14 @@
// First do the increment loop.
size_t stride = elem->getSizeBytes();
const char *cVal = reinterpret_cast<const char *>(data);
- for (size_t i = 0; i < dims[0]; i++) {
+ for (uint32_t i = 0; i < dims[0]; i++) {
elem->incRefs(cVal);
cVal += stride;
}
// Decrement loop comes after (to prevent race conditions).
char *oldVal = reinterpret_cast<char *>(destPtr);
- for (size_t i = 0; i < dims[0]; i++) {
+ for (uint32_t i = 0; i < dims[0]; i++) {
elem->decRefs(oldVal);
oldVal += stride;
}
diff --git a/cpu_ref/rsCpuScript.h b/cpu_ref/rsCpuScript.h
index 151120d..7531a86 100644
--- a/cpu_ref/rsCpuScript.h
+++ b/cpu_ref/rsCpuScript.h
@@ -82,7 +82,7 @@
virtual void setGlobalVar(uint32_t slot, const void *data, size_t dataLength);
virtual void getGlobalVar(uint32_t slot, void *data, size_t dataLength);
virtual void setGlobalVarWithElemDims(uint32_t slot, const void *data, size_t dataLength,
- const Element *e, const size_t *dims, size_t dimLength);
+ const Element *e, const uint32_t *dims, size_t dimLength);
virtual void setGlobalBind(uint32_t slot, Allocation *data);
virtual void setGlobalObj(uint32_t slot, ObjectBase *data);
diff --git a/cpu_ref/rsd_cpu.h b/cpu_ref/rsd_cpu.h
index ac4cf31..675bb97 100644
--- a/cpu_ref/rsd_cpu.h
+++ b/cpu_ref/rsd_cpu.h
@@ -81,7 +81,7 @@
virtual void setGlobalVar(uint32_t slot, const void *data, size_t dataLength) = 0;
virtual void getGlobalVar(uint32_t slot, void *data, size_t dataLength) = 0;
virtual void setGlobalVarWithElemDims(uint32_t slot, const void *data, size_t dataLength,
- const Element *e, const size_t *dims, size_t dimLength) = 0;
+ const Element *e, const uint32_t *dims, size_t dimLength) = 0;
virtual void setGlobalBind(uint32_t slot, Allocation *data) = 0;
virtual void setGlobalObj(uint32_t slot, ObjectBase *obj) = 0;