summaryrefslogtreecommitdiffstats
path: root/graphics
diff options
context:
space:
mode:
authorJason Sams <rjsams@android.com>2011-01-07 17:00:07 -0800
committerJason Sams <rjsams@android.com>2011-01-07 17:04:29 -0800
commitfa445b9353972735d8d65e8a936786b1afe9886d (patch)
tree0262ad6fe9a936fea749a3203d35849036e27fcb /graphics
parente4aff7c6bf0808690ee230cb143ba4394fbc259b (diff)
downloadframeworks_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.java86
-rw-r--r--graphics/java/android/renderscript/RenderScript.java23
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);