Loading rs/java/android/renderscript/Allocation.java +8 −6 Original line number Original line Diff line number Diff line Loading @@ -776,10 +776,11 @@ public class Allocation extends BaseObj { mRS.validate(); mRS.validate(); int eSize = mType.mElement.getBytesSize(); int eSize = mType.mElement.getBytesSize(); final byte[] data = fp.getData(); final byte[] data = fp.getData(); int data_length = fp.getPos(); int count = data.length / eSize; int count = data_length / eSize; if ((eSize * count) != data.length) { if ((eSize * count) != data_length) { throw new RSIllegalArgumentException("Field packer length " + data.length + throw new RSIllegalArgumentException("Field packer length " + data_length + " not divisible by element size " + eSize + "."); " not divisible by element size " + eSize + "."); } } copy1DRangeFromUnchecked(xoff, count, data); copy1DRangeFromUnchecked(xoff, count, data); Loading @@ -803,16 +804,17 @@ public class Allocation extends BaseObj { } } final byte[] data = fp.getData(); final byte[] data = fp.getData(); int data_length = fp.getPos(); int eSize = mType.mElement.mElements[component_number].getBytesSize(); int eSize = mType.mElement.mElements[component_number].getBytesSize(); eSize *= mType.mElement.mArraySizes[component_number]; eSize *= mType.mElement.mArraySizes[component_number]; if (data.length != eSize) { if (data_length != eSize) { throw new RSIllegalArgumentException("Field packer sizelength " + data.length + throw new RSIllegalArgumentException("Field packer sizelength " + data_length + " does not match component size " + eSize + "."); " does not match component size " + eSize + "."); } } mRS.nAllocationElementData1D(getIDSafe(), xoff, mSelectedLOD, 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) { private void data1DChecks(int off, int count, int len, int dataSize) { Loading rs/java/android/renderscript/FieldPacker.java +10 −1 Original line number Original line Diff line number Diff line Loading @@ -76,7 +76,7 @@ public class FieldPacker { mPos = 0; mPos = 0; } } public void reset(int i) { public void reset(int i) { if ((i < 0) || (i >= mLen)) { if ((i < 0) || (i > mLen)) { throw new RSIllegalArgumentException("out of range argument: " + i); throw new RSIllegalArgumentException("out of range argument: " + i); } } mPos = i; mPos = i; Loading Loading @@ -606,6 +606,15 @@ public class FieldPacker { return mData; return mData; } } /** * Get the actual length used for the FieldPacker. * * @hide */ public int getPos() { return mPos; } private final byte mData[]; private final byte mData[]; private int mPos; private int mPos; private int mLen; private int mLen; Loading rs/java/android/renderscript/ProgramVertexFixedFunction.java +3 −0 Original line number Original line Diff line number Diff line Loading @@ -249,6 +249,9 @@ public class ProgramVertexFixedFunction extends ProgramVertex { for(int i = 0; i < 16; i ++) { for(int i = 0; i < 16; i ++) { mIOBuffer.addF32(m.mMat[i]); mIOBuffer.addF32(m.mMat[i]); } } // Reset the buffer back to the end, since we want to flush all of // the contents back (and not just what we wrote now). mIOBuffer.reset(mIOBuffer.getData().length); mAlloc.setFromFieldPacker(0, mIOBuffer); mAlloc.setFromFieldPacker(0, mIOBuffer); } } Loading Loading
rs/java/android/renderscript/Allocation.java +8 −6 Original line number Original line Diff line number Diff line Loading @@ -776,10 +776,11 @@ public class Allocation extends BaseObj { mRS.validate(); mRS.validate(); int eSize = mType.mElement.getBytesSize(); int eSize = mType.mElement.getBytesSize(); final byte[] data = fp.getData(); final byte[] data = fp.getData(); int data_length = fp.getPos(); int count = data.length / eSize; int count = data_length / eSize; if ((eSize * count) != data.length) { if ((eSize * count) != data_length) { throw new RSIllegalArgumentException("Field packer length " + data.length + throw new RSIllegalArgumentException("Field packer length " + data_length + " not divisible by element size " + eSize + "."); " not divisible by element size " + eSize + "."); } } copy1DRangeFromUnchecked(xoff, count, data); copy1DRangeFromUnchecked(xoff, count, data); Loading @@ -803,16 +804,17 @@ public class Allocation extends BaseObj { } } final byte[] data = fp.getData(); final byte[] data = fp.getData(); int data_length = fp.getPos(); int eSize = mType.mElement.mElements[component_number].getBytesSize(); int eSize = mType.mElement.mElements[component_number].getBytesSize(); eSize *= mType.mElement.mArraySizes[component_number]; eSize *= mType.mElement.mArraySizes[component_number]; if (data.length != eSize) { if (data_length != eSize) { throw new RSIllegalArgumentException("Field packer sizelength " + data.length + throw new RSIllegalArgumentException("Field packer sizelength " + data_length + " does not match component size " + eSize + "."); " does not match component size " + eSize + "."); } } mRS.nAllocationElementData1D(getIDSafe(), xoff, mSelectedLOD, 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) { private void data1DChecks(int off, int count, int len, int dataSize) { Loading
rs/java/android/renderscript/FieldPacker.java +10 −1 Original line number Original line Diff line number Diff line Loading @@ -76,7 +76,7 @@ public class FieldPacker { mPos = 0; mPos = 0; } } public void reset(int i) { public void reset(int i) { if ((i < 0) || (i >= mLen)) { if ((i < 0) || (i > mLen)) { throw new RSIllegalArgumentException("out of range argument: " + i); throw new RSIllegalArgumentException("out of range argument: " + i); } } mPos = i; mPos = i; Loading Loading @@ -606,6 +606,15 @@ public class FieldPacker { return mData; return mData; } } /** * Get the actual length used for the FieldPacker. * * @hide */ public int getPos() { return mPos; } private final byte mData[]; private final byte mData[]; private int mPos; private int mPos; private int mLen; private int mLen; Loading
rs/java/android/renderscript/ProgramVertexFixedFunction.java +3 −0 Original line number Original line Diff line number Diff line Loading @@ -249,6 +249,9 @@ public class ProgramVertexFixedFunction extends ProgramVertex { for(int i = 0; i < 16; i ++) { for(int i = 0; i < 16; i ++) { mIOBuffer.addF32(m.mMat[i]); mIOBuffer.addF32(m.mMat[i]); } } // Reset the buffer back to the end, since we want to flush all of // the contents back (and not just what we wrote now). mIOBuffer.reset(mIOBuffer.getData().length); mAlloc.setFromFieldPacker(0, mIOBuffer); mAlloc.setFromFieldPacker(0, mIOBuffer); } } Loading