diff options
author | Jason Sams <rjsams@android.com> | 2009-09-03 15:43:13 -0700 |
---|---|---|
committer | Jason Sams <rjsams@android.com> | 2009-09-03 15:43:13 -0700 |
commit | 2525a815220652b37e2e390fe8c62394a6d0e574 (patch) | |
tree | be26549baa696d9beb89c8188ab16c13f26a5548 /graphics/java | |
parent | 1c1ffa0cab8b56274970736d7f3b8c00c01c3d2b (diff) | |
download | frameworks_base-2525a815220652b37e2e390fe8c62394a6d0e574.zip frameworks_base-2525a815220652b37e2e390fe8c62394a6d0e574.tar.gz frameworks_base-2525a815220652b37e2e390fe8c62394a6d0e574.tar.bz2 |
Improve structure support using symbol lookup of named structures in scripts to allow them to appear as just pointers to structs.
Diffstat (limited to 'graphics/java')
4 files changed, 35 insertions, 25 deletions
diff --git a/graphics/java/android/renderscript/Allocation.java b/graphics/java/android/renderscript/Allocation.java index 536f71c..e6cb395 100644 --- a/graphics/java/android/renderscript/Allocation.java +++ b/graphics/java/android/renderscript/Allocation.java @@ -110,9 +110,12 @@ public class Allocation extends BaseObj { } public void data(Object o) { - mRS.nAllocationDataFromObject(mID, mType, o); + mRS.nAllocationSubDataFromObject(mID, mType, 0, o); } + public void subData(int offset, Object o) { + mRS.nAllocationSubDataFromObject(mID, mType, offset, o); + } public class Adapter1D extends BaseObj { Adapter1D(int id, RenderScript rs) { diff --git a/graphics/java/android/renderscript/Element.java b/graphics/java/android/renderscript/Element.java index 0ca112c..0b7e667 100644 --- a/graphics/java/android/renderscript/Element.java +++ b/graphics/java/android/renderscript/Element.java @@ -244,8 +244,8 @@ public class Element extends BaseObj { } public Builder addFloatXY(String prefix) { - add(DataType.FLOAT, DataKind.X, false, 32, prefix + "X"); - add(DataType.FLOAT, DataKind.Y, false, 32, prefix + "Y"); + add(DataType.FLOAT, DataKind.X, false, 32, prefix + "x"); + add(DataType.FLOAT, DataKind.Y, false, 32, prefix + "y"); return this; } @@ -257,9 +257,9 @@ public class Element extends BaseObj { } public Builder addFloatXYZ(String prefix) { - add(DataType.FLOAT, DataKind.X, false, 32, prefix + "X"); - add(DataType.FLOAT, DataKind.Y, false, 32, prefix + "Y"); - add(DataType.FLOAT, DataKind.Z, false, 32, prefix + "Z"); + add(DataType.FLOAT, DataKind.X, false, 32, prefix + "x"); + add(DataType.FLOAT, DataKind.Y, false, 32, prefix + "y"); + add(DataType.FLOAT, DataKind.Z, false, 32, prefix + "z"); return this; } @@ -270,8 +270,8 @@ public class Element extends BaseObj { } public Builder addFloatST(String prefix) { - add(DataType.FLOAT, DataKind.S, false, 32, prefix + "S"); - add(DataType.FLOAT, DataKind.T, false, 32, prefix + "T"); + add(DataType.FLOAT, DataKind.S, false, 32, prefix + "s"); + add(DataType.FLOAT, DataKind.T, false, 32, prefix + "t"); return this; } @@ -283,9 +283,9 @@ public class Element extends BaseObj { } public Builder addFloatNorm(String prefix) { - add(DataType.FLOAT, DataKind.NX, false, 32, prefix + "NX"); - add(DataType.FLOAT, DataKind.NY, false, 32, prefix + "NY"); - add(DataType.FLOAT, DataKind.NZ, false, 32, prefix + "NZ"); + add(DataType.FLOAT, DataKind.NX, false, 32, prefix + "nx"); + add(DataType.FLOAT, DataKind.NY, false, 32, prefix + "ny"); + add(DataType.FLOAT, DataKind.NZ, false, 32, prefix + "nz"); return this; } @@ -294,8 +294,8 @@ public class Element extends BaseObj { return this; } - public Builder addFloatPointSize(String name) { - add(DataType.FLOAT, DataKind.POINT_SIZE, false, 32, name); + public Builder addFloatPointSize(String prefix) { + add(DataType.FLOAT, DataKind.POINT_SIZE, false, 32, prefix + "pointSize"); return this; } @@ -307,9 +307,9 @@ public class Element extends BaseObj { } public Builder addFloatRGB(String prefix) { - add(DataType.FLOAT, DataKind.RED, false, 32, prefix + "R"); - add(DataType.FLOAT, DataKind.GREEN, false, 32, prefix + "G"); - add(DataType.FLOAT, DataKind.BLUE, false, 32, prefix + "B"); + add(DataType.FLOAT, DataKind.RED, false, 32, prefix + "r"); + add(DataType.FLOAT, DataKind.GREEN, false, 32, prefix + "g"); + add(DataType.FLOAT, DataKind.BLUE, false, 32, prefix + "b"); return this; } @@ -322,10 +322,10 @@ public class Element extends BaseObj { } public Builder addFloatRGBA(String prefix) { - add(DataType.FLOAT, DataKind.RED, false, 32, prefix + "R"); - add(DataType.FLOAT, DataKind.GREEN, false, 32, prefix + "G"); - add(DataType.FLOAT, DataKind.BLUE, false, 32, prefix + "B"); - add(DataType.FLOAT, DataKind.ALPHA, false, 32, prefix + "A"); + add(DataType.FLOAT, DataKind.RED, false, 32, prefix + "r"); + add(DataType.FLOAT, DataKind.GREEN, false, 32, prefix + "g"); + add(DataType.FLOAT, DataKind.BLUE, false, 32, prefix + "b"); + add(DataType.FLOAT, DataKind.ALPHA, false, 32, prefix + "a"); return this; } @@ -338,10 +338,10 @@ public class Element extends BaseObj { } public Builder addUNorm8RGBA(String prefix) { - add(DataType.UNSIGNED, DataKind.RED, true, 8, prefix + "R"); - add(DataType.UNSIGNED, DataKind.GREEN, true, 8, prefix + "G"); - add(DataType.UNSIGNED, DataKind.BLUE, true, 8, prefix + "B"); - add(DataType.UNSIGNED, DataKind.ALPHA, true, 8, prefix + "A"); + add(DataType.UNSIGNED, DataKind.RED, true, 8, prefix + "r"); + add(DataType.UNSIGNED, DataKind.GREEN, true, 8, prefix + "g"); + add(DataType.UNSIGNED, DataKind.BLUE, true, 8, prefix + "b"); + add(DataType.UNSIGNED, DataKind.ALPHA, true, 8, prefix + "a"); return this; } diff --git a/graphics/java/android/renderscript/RenderScript.java b/graphics/java/android/renderscript/RenderScript.java index 0f188f6..bd345e5 100644 --- a/graphics/java/android/renderscript/RenderScript.java +++ b/graphics/java/android/renderscript/RenderScript.java @@ -106,7 +106,7 @@ public class RenderScript { native void nAllocationSubData2D(int id, int xoff, int yoff, int w, int h, float[] d, int sizeBytes); native void nAllocationRead(int id, int[] d); native void nAllocationRead(int id, float[] d); - native void nAllocationDataFromObject(int id, Type t, Object o); + native void nAllocationSubDataFromObject(int id, Type t, int offset, Object o); native void nTriangleMeshBegin(int vertex, int index); native void nTriangleMeshAddVertex_XY (float x, float y); diff --git a/graphics/java/android/renderscript/SimpleMesh.java b/graphics/java/android/renderscript/SimpleMesh.java index e66fb8a..5d87654 100644 --- a/graphics/java/android/renderscript/SimpleMesh.java +++ b/graphics/java/android/renderscript/SimpleMesh.java @@ -50,6 +50,13 @@ public class SimpleMesh extends BaseObj { return Allocation.createTyped(mRS, mIndexType); } + public Type getVertexType(int slot) { + return mVertexTypes[slot]; + } + + public Type getIndexType() { + return mIndexType; + } public static class Builder { RenderScript mRS; |