diff options
author | Jason Sams <rjsams@android.com> | 2009-08-17 13:56:09 -0700 |
---|---|---|
committer | Jason Sams <rjsams@android.com> | 2009-08-17 13:56:09 -0700 |
commit | 334ea0c98f051b5a6b85bc616c93304651854298 (patch) | |
tree | b3d87acd4f6285446fdc166d0ec9bb5330f42c21 /graphics/java | |
parent | 0ef135d5c79ff5b443b43f8743250044700a8bb5 (diff) | |
download | frameworks_base-334ea0c98f051b5a6b85bc616c93304651854298.zip frameworks_base-334ea0c98f051b5a6b85bc616c93304651854298.tar.gz frameworks_base-334ea0c98f051b5a6b85bc616c93304651854298.tar.bz2 |
Update fountain and add writable flag to script slots.
Diffstat (limited to 'graphics/java')
-rw-r--r-- | graphics/java/android/renderscript/Element.java | 46 | ||||
-rw-r--r-- | graphics/java/android/renderscript/RenderScript.java | 2 | ||||
-rw-r--r-- | graphics/java/android/renderscript/Script.java | 9 |
3 files changed, 55 insertions, 2 deletions
diff --git a/graphics/java/android/renderscript/Element.java b/graphics/java/android/renderscript/Element.java index aab8c21..3061b1e 100644 --- a/graphics/java/android/renderscript/Element.java +++ b/graphics/java/android/renderscript/Element.java @@ -223,6 +223,52 @@ public class Element extends BaseObj { return this; } + public Builder addFloat(Element.DataKind dk) { + add(DataType.FLOAT, dk, false, 32, null); + return this; + } + + public Builder addFloat(Element.DataKind dk, String name) { + add(DataType.FLOAT, dk, false, 32, name); + return this; + } + + public Builder addFloatXY() { + add(DataType.FLOAT, DataKind.X, false, 32, null); + add(DataType.FLOAT, DataKind.Y, false, 32, null); + return this; + } + + public Builder addFloatXYZ() { + add(DataType.FLOAT, DataKind.X, false, 32, null); + add(DataType.FLOAT, DataKind.Y, false, 32, null); + add(DataType.FLOAT, DataKind.Z, false, 32, null); + return this; + } + + public Builder addFloatRGB() { + add(DataType.FLOAT, DataKind.RED, false, 32, null); + add(DataType.FLOAT, DataKind.GREEN, false, 32, null); + add(DataType.FLOAT, DataKind.BLUE, false, 32, null); + return this; + } + + public Builder addFloatRGBA() { + add(DataType.FLOAT, DataKind.RED, false, 32, null); + add(DataType.FLOAT, DataKind.GREEN, false, 32, null); + add(DataType.FLOAT, DataKind.BLUE, false, 32, null); + add(DataType.FLOAT, DataKind.ALPHA, false, 32, null); + return this; + } + + public Builder addUNorm8RGBA() { + add(DataType.UNSIGNED, DataKind.RED, true, 8, null); + add(DataType.UNSIGNED, DataKind.GREEN, true, 8, null); + add(DataType.UNSIGNED, DataKind.BLUE, true, 8, null); + add(DataType.UNSIGNED, DataKind.ALPHA, true, 8, null); + return this; + } + static synchronized Element internalCreate(RenderScript rs, Builder b) { rs.nElementBegin(); for (int ct=0; ct < b.mEntryCount; ct++) { diff --git a/graphics/java/android/renderscript/RenderScript.java b/graphics/java/android/renderscript/RenderScript.java index b98a48a..ab263ed 100644 --- a/graphics/java/android/renderscript/RenderScript.java +++ b/graphics/java/android/renderscript/RenderScript.java @@ -142,7 +142,7 @@ public class RenderScript { native void nScriptSetClearDepth(int script, float depth); native void nScriptSetClearStencil(int script, int stencil); native void nScriptSetTimeZone(int script, byte[] timeZone); - native void nScriptSetType(int type, String name, int slot); + native void nScriptSetType(int type, boolean writable, String name, int slot); native void nScriptSetRoot(boolean isRoot); native void nScriptCBegin(); diff --git a/graphics/java/android/renderscript/Script.java b/graphics/java/android/renderscript/Script.java index 47479d8..5b9eb55 100644 --- a/graphics/java/android/renderscript/Script.java +++ b/graphics/java/android/renderscript/Script.java @@ -24,6 +24,7 @@ public class Script extends BaseObj { boolean mIsRoot; Type[] mTypes; + boolean[] mWritable; Script(int id, RenderScript rs) { super(rs); @@ -67,11 +68,13 @@ public class Script extends BaseObj { boolean mIsRoot = false; Type[] mTypes; String[] mNames; + boolean[] mWritable; Builder(RenderScript rs) { mRS = rs; mTypes = new Type[MAX_SLOT]; mNames = new String[MAX_SLOT]; + mWritable = new boolean[MAX_SLOT]; } public void setType(Type t, int slot) { @@ -84,11 +87,15 @@ public class Script extends BaseObj { mNames[slot] = name; } + public void setType(boolean writable, int slot) { + mWritable[slot] = writable; + } + void transferCreate() { mRS.nScriptSetRoot(mIsRoot); for(int ct=0; ct < mTypes.length; ct++) { if(mTypes[ct] != null) { - mRS.nScriptSetType(mTypes[ct].mID, mNames[ct], ct); + mRS.nScriptSetType(mTypes[ct].mID, mWritable[ct], mNames[ct], ct); } } } |