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