Moving attrib creation to Mesh. Adding arrays as shader inputs.
Removing fixed size arrays.

Change-Id: I0213e403a2f1283dd43f21bea770aeb059561903
diff --git a/graphics/java/android/renderscript/Mesh.java b/graphics/java/android/renderscript/Mesh.java
index d36b2f1..bb382f2 100644
--- a/graphics/java/android/renderscript/Mesh.java
+++ b/graphics/java/android/renderscript/Mesh.java
@@ -212,6 +212,7 @@
                 rs.nMeshBindVertex(id, alloc.getID(), ct);
                 newMesh.mVertexBuffers[ct] = alloc;
             }
+            rs.nMeshInitVertexAttribs(id);
 
             return newMesh;
         }
@@ -294,6 +295,7 @@
                 rs.nMeshBindVertex(id, entry.a.mID, ct);
                 newMesh.mVertexBuffers[ct] = entry.a;
             }
+            rs.nMeshInitVertexAttribs(id);
 
             return newMesh;
         }
diff --git a/graphics/java/android/renderscript/RenderScript.java b/graphics/java/android/renderscript/RenderScript.java
index 21efa39..0c9a4ed 100644
--- a/graphics/java/android/renderscript/RenderScript.java
+++ b/graphics/java/android/renderscript/RenderScript.java
@@ -486,6 +486,10 @@
     synchronized void nMeshBindIndex(int id, int alloc, int prim, int slot) {
         rsnMeshBindIndex(mContext, id, alloc, prim, slot);
     }
+    native void rsnMeshInitVertexAttribs(int con, int id);
+    synchronized void nMeshInitVertexAttribs(int id) {
+        rsnMeshInitVertexAttribs(mContext, id);
+    }
     native int  rsnMeshGetVertexBufferCount(int con, int id);
     synchronized int nMeshGetVertexBufferCount(int id) {
         return rsnMeshGetVertexBufferCount(mContext, id);