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);