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.
This commit is contained in:
@@ -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);
|
||||||
@@ -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) {
|
||||||
|
|||||||
@@ -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;
|
||||||
@@ -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;
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user