diff options
author | Jason Sams <rjsams@android.com> | 2011-01-07 17:00:07 -0800 |
---|---|---|
committer | Jason Sams <rjsams@android.com> | 2011-01-07 17:04:29 -0800 |
commit | fa445b9353972735d8d65e8a936786b1afe9886d (patch) | |
tree | 0262ad6fe9a936fea749a3203d35849036e27fcb /graphics | |
parent | e4aff7c6bf0808690ee230cb143ba4394fbc259b (diff) | |
download | frameworks_base-fa445b9353972735d8d65e8a936786b1afe9886d.zip frameworks_base-fa445b9353972735d8d65e8a936786b1afe9886d.tar.gz frameworks_base-fa445b9353972735d8d65e8a936786b1afe9886d.tar.bz2 |
Cleanup subdata apis
Change-Id: I70d0d5e4ca2b42f3a9cbf854fe47917cee8f46df
Diffstat (limited to 'graphics')
-rw-r--r-- | graphics/java/android/renderscript/Allocation.java | 86 | ||||
-rw-r--r-- | graphics/java/android/renderscript/RenderScript.java | 23 |
2 files changed, 87 insertions, 22 deletions
diff --git a/graphics/java/android/renderscript/Allocation.java b/graphics/java/android/renderscript/Allocation.java index a4ce947..53962e1 100644 --- a/graphics/java/android/renderscript/Allocation.java +++ b/graphics/java/android/renderscript/Allocation.java @@ -126,7 +126,7 @@ public class Allocation extends BaseObj { for (int ct=0; ct < d.length; ct++) { i[ct] = d[ct].getID(); } - subData1D(0, mType.getCount(), i); + copy1DRangeFrom(0, mType.getCount(), i); } private void validateBitmap(Bitmap b) { @@ -139,32 +139,35 @@ public class Allocation extends BaseObj { public void copyFrom(int[] d) { mRS.validate(); - subData1D(0, mType.getCount(), d); + copy1DRangeFrom(0, mType.getCount(), d); } public void copyFrom(short[] d) { mRS.validate(); - subData1D(0, mType.getCount(), d); + copy1DRangeFrom(0, mType.getCount(), d); } public void copyFrom(byte[] d) { mRS.validate(); - subData1D(0, mType.getCount(), d); + copy1DRangeFrom(0, mType.getCount(), d); } public void copyFrom(float[] d) { mRS.validate(); - subData1D(0, mType.getCount(), d); + copy1DRangeFrom(0, mType.getCount(), d); } public void copyFrom(Bitmap b) { validateBitmap(b); mRS.nAllocationCopyFromBitmap(getID(), b); } - public void copyTo(Bitmap b) { - validateBitmap(b); - mRS.nAllocationCopyToBitmap(getID(), b); - } - - - public void subData(int xoff, FieldPacker fp) { + /** + * @hide + * + * This is only intended to be used by auto-generate code reflected from the + * renderscript script files. + * + * @param xoff + * @param fp + */ + public void setOneElement(int xoff, FieldPacker fp) { int eSize = mType.mElement.getSizeBytes(); final byte[] data = fp.getData(); @@ -178,7 +181,17 @@ public class Allocation extends BaseObj { } - public void subElementData(int xoff, int component_number, FieldPacker fp) { + /** + * @hide + * + * This is only intended to be used by auto-generate code reflected from the + * renderscript script files. + * + * @param xoff + * @param component_number + * @param fp + */ + public void setOneComponent(int xoff, int component_number, FieldPacker fp) { if (component_number >= mType.mElement.mElements.length) { throw new RSIllegalArgumentException("Component_number " + component_number + " out of range."); } @@ -214,44 +227,75 @@ public class Allocation extends BaseObj { } } - public void subData1D(int off, int count, int[] d) { + public void copy1DRangeFrom(int off, int count, int[] d) { int dataSize = mType.mElement.getSizeBytes() * count; data1DChecks(off, count, d.length * 4, dataSize); mRS.nAllocationData1D(getID(), off, 0, count, d, dataSize); } - public void subData1D(int off, int count, short[] d) { + public void copy1DRangeFrom(int off, int count, short[] d) { int dataSize = mType.mElement.getSizeBytes() * count; data1DChecks(off, count, d.length * 2, dataSize); mRS.nAllocationData1D(getID(), off, 0, count, d, dataSize); } - public void subData1D(int off, int count, byte[] d) { + public void copy1DRangeFrom(int off, int count, byte[] d) { int dataSize = mType.mElement.getSizeBytes() * count; data1DChecks(off, count, d.length, dataSize); mRS.nAllocationData1D(getID(), off, 0, count, d, dataSize); } - public void subData1D(int off, int count, float[] d) { + public void copy1DRangeFrom(int off, int count, float[] d) { int dataSize = mType.mElement.getSizeBytes() * count; data1DChecks(off, count, d.length * 4, dataSize); mRS.nAllocationData1D(getID(), off, 0, count, d, dataSize); } - public void subData2D(int xoff, int yoff, int w, int h, int[] d) { + public void copy2DRangeFrom(int xoff, int yoff, int w, int h, byte[] d) { + mRS.validate(); + mRS.nAllocationData2D(getID(), xoff, yoff, 0, 0, w, h, d, d.length); + } + + public void copy2DRangeFrom(int xoff, int yoff, int w, int h, short[] d) { + mRS.validate(); + mRS.nAllocationData2D(getID(), xoff, yoff, 0, 0, w, h, d, d.length * 2); + } + + public void copy2DRangeFrom(int xoff, int yoff, int w, int h, int[] d) { mRS.validate(); mRS.nAllocationData2D(getID(), xoff, yoff, 0, 0, w, h, d, d.length * 4); } - public void subData2D(int xoff, int yoff, int w, int h, float[] d) { + public void copy2DRangeFrom(int xoff, int yoff, int w, int h, float[] d) { mRS.validate(); mRS.nAllocationData2D(getID(), xoff, yoff, 0, 0, w, h, d, d.length * 4); } - public void readData(int[] d) { + public void copy2DRangeFrom(int xoff, int yoff, Bitmap b) { + mRS.validate(); + mRS.nAllocationData2D(getID(), xoff, yoff, 0, 0, b); + } + + + public void copyTo(Bitmap b) { + validateBitmap(b); + mRS.nAllocationCopyToBitmap(getID(), b); + } + + public void copyTo(byte[] d) { + mRS.validate(); + mRS.nAllocationRead(getID(), d); + } + + public void copyTo(short[] d) { + mRS.validate(); + mRS.nAllocationRead(getID(), d); + } + + public void copyTo(int[] d) { mRS.validate(); mRS.nAllocationRead(getID(), d); } - public void readData(float[] d) { + public void copyTo(float[] d) { mRS.validate(); mRS.nAllocationRead(getID(), d); } diff --git a/graphics/java/android/renderscript/RenderScript.java b/graphics/java/android/renderscript/RenderScript.java index 665a893..4c9ad56 100644 --- a/graphics/java/android/renderscript/RenderScript.java +++ b/graphics/java/android/renderscript/RenderScript.java @@ -60,7 +60,8 @@ public class RenderScript { _nInit(); sInitialized = true; } catch (UnsatisfiedLinkError e) { - Log.d(LOG_TAG, "RenderScript JNI library not found!"); + Log.e(LOG_TAG, "Error loading RS jni library: " + e); + throw new RSRuntimeException("Error loading RS jni library: " + e); } } @@ -250,6 +251,14 @@ public class RenderScript { rsnAllocationElementData1D(mContext, id, xoff, mip, compIdx, d, sizeBytes); } + native void rsnAllocationData2D(int con, int id, int xoff, int yoff, int mip, int face, int w, int h, byte[] d, int sizeBytes); + synchronized void nAllocationData2D(int id, int xoff, int yoff, int mip, int face, int w, int h, byte[] d, int sizeBytes) { + rsnAllocationData2D(mContext, id, xoff, yoff, mip, face, w, h, d, sizeBytes); + } + native void rsnAllocationData2D(int con, int id, int xoff, int yoff, int mip, int face, int w, int h, short[] d, int sizeBytes); + synchronized void nAllocationData2D(int id, int xoff, int yoff, int mip, int face, int w, int h, short[] d, int sizeBytes) { + rsnAllocationData2D(mContext, id, xoff, yoff, mip, face, w, h, d, sizeBytes); + } native void rsnAllocationData2D(int con, int id, int xoff, int yoff, int mip, int face, int w, int h, int[] d, int sizeBytes); synchronized void nAllocationData2D(int id, int xoff, int yoff, int mip, int face, int w, int h, int[] d, int sizeBytes) { rsnAllocationData2D(mContext, id, xoff, yoff, mip, face, w, h, d, sizeBytes); @@ -258,7 +267,19 @@ public class RenderScript { synchronized void nAllocationData2D(int id, int xoff, int yoff, int mip, int face, int w, int h, float[] d, int sizeBytes) { rsnAllocationData2D(mContext, id, xoff, yoff, mip, face, w, h, d, sizeBytes); } + native void rsnAllocationData2D(int con, int id, int xoff, int yoff, int mip, int face, Bitmap b); + synchronized void nAllocationData2D(int id, int xoff, int yoff, int mip, int face, Bitmap b) { + rsnAllocationData2D(mContext, id, xoff, yoff, mip, face, b); + } + native void rsnAllocationRead(int con, int id, byte[] d); + synchronized void nAllocationRead(int id, byte[] d) { + rsnAllocationRead(mContext, id, d); + } + native void rsnAllocationRead(int con, int id, short[] d); + synchronized void nAllocationRead(int id, short[] d) { + rsnAllocationRead(mContext, id, d); + } native void rsnAllocationRead(int con, int id, int[] d); synchronized void nAllocationRead(int id, int[] d) { rsnAllocationRead(mContext, id, d); |