summaryrefslogtreecommitdiff
path: root/rs/java/android/renderscript/Allocation.java
diff options
context:
space:
mode:
authorStephen Hines <srhines@google.com>2014-06-19 03:13:37 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-06-19 03:13:37 +0000
commitff83ed2dc34f0595bcff2cb7b5d71bb39191963e (patch)
treec3d05c1b69d3a5cc6d89314e9aafa2027c2cf160 /rs/java/android/renderscript/Allocation.java
parentf8077cf2d7ee55dbf02ec0c65a05db7e5c2fabfc (diff)
parentb02dadd47c20b65569413cb4575c6050fe7b609f (diff)
am b02dadd4: Merge "Create FieldPacker.getPos() to get the actual amount of data used for FP."
* commit 'b02dadd47c20b65569413cb4575c6050fe7b609f': Create FieldPacker.getPos() to get the actual amount of data used for FP.
Diffstat (limited to 'rs/java/android/renderscript/Allocation.java')
-rw-r--r--rs/java/android/renderscript/Allocation.java14
1 files changed, 8 insertions, 6 deletions
diff --git a/rs/java/android/renderscript/Allocation.java b/rs/java/android/renderscript/Allocation.java
index c2bab91c8fbd..20b7ee7d7874 100644
--- a/rs/java/android/renderscript/Allocation.java
+++ b/rs/java/android/renderscript/Allocation.java
@@ -776,10 +776,11 @@ public class Allocation extends BaseObj {
mRS.validate();
int eSize = mType.mElement.getBytesSize();
final byte[] data = fp.getData();
+ int data_length = fp.getPos();
- int count = data.length / eSize;
- if ((eSize * count) != data.length) {
- throw new RSIllegalArgumentException("Field packer length " + data.length +
+ int count = data_length / eSize;
+ if ((eSize * count) != data_length) {
+ throw new RSIllegalArgumentException("Field packer length " + data_length +
" not divisible by element size " + eSize + ".");
}
copy1DRangeFromUnchecked(xoff, count, data);
@@ -803,16 +804,17 @@ public class Allocation extends BaseObj {
}
final byte[] data = fp.getData();
+ int data_length = fp.getPos();
int eSize = mType.mElement.mElements[component_number].getBytesSize();
eSize *= mType.mElement.mArraySizes[component_number];
- if (data.length != eSize) {
- throw new RSIllegalArgumentException("Field packer sizelength " + data.length +
+ if (data_length != eSize) {
+ throw new RSIllegalArgumentException("Field packer sizelength " + data_length +
" does not match component size " + eSize + ".");
}
mRS.nAllocationElementData1D(getIDSafe(), xoff, mSelectedLOD,
- component_number, data, data.length);
+ component_number, data, data_length);
}
private void data1DChecks(int off, int count, int len, int dataSize) {