Continue es2 shader dev

Conflicts:

	graphics/java/android/renderscript/Program.java
	graphics/java/android/renderscript/ProgramVertex.java
diff --git a/graphics/java/android/renderscript/Program.java b/graphics/java/android/renderscript/Program.java
index bf6aac7..88b87b0 100644
--- a/graphics/java/android/renderscript/Program.java
+++ b/graphics/java/android/renderscript/Program.java
@@ -29,10 +29,12 @@
     public static final int MAX_INPUT = 8;
     public static final int MAX_OUTPUT = 8;
     public static final int MAX_CONSTANT = 8;
+    public static final int MAX_TEXTURE = 8;
 
     Element mInputs[];
     Element mOutputs[];
     Type mConstants[];
+    int mTextureCount;
     String mShader;
 
     Program(int id, RenderScript rs) {
@@ -65,6 +67,7 @@
             mInputCount = 0;
             mOutputCount = 0;
             mConstantCount = 0;
+            mTextureCount = 0;
         }
 
         public void setShader(String s) {
@@ -95,12 +98,12 @@
             mConstants[mConstantCount++] = t;
         }
 
-        public void addTexture(Type t) throws IllegalStateException {
+        public void setTextureCount(int count) throws IllegalArgumentException {
             // Should check for consistant and non-conflicting names...
-            if(mTextureCount >= MAX_CONSTANT) {
-                throw new IllegalArgumentException("Max input count exceeded.");
+            if(count >= MAX_CONSTANT) {
+                throw new IllegalArgumentException("Max texture count exceeded.");
             }
-            mTextures[mTextureCount++] = t;
+            mTextureCount = count;
         }
 
         protected void initProgram(Program p) {
@@ -110,8 +113,7 @@
             System.arraycopy(mOutputs, 0, p.mOutputs, 0, mOutputCount);
             p.mConstants = new Type[mConstantCount];
             System.arraycopy(mConstants, 0, p.mConstants, 0, mConstantCount);
-            p.mTextures = new Type[mTextureCount];
-            System.arraycopy(mTextures, 0, p.mTextures, 0, mTextureCount);
+            p.mTextureCount = mTextureCount;
         }
     }