Seperate ProgramVertex from RenderScript.java and merge ProgramVertexAlloc into the ProgramVertex class.
diff --git a/graphics/java/android/renderscript/ProgramFragment.java b/graphics/java/android/renderscript/ProgramFragment.java
index 005fdf6..c228cf2 100644
--- a/graphics/java/android/renderscript/ProgramFragment.java
+++ b/graphics/java/android/renderscript/ProgramFragment.java
@@ -26,6 +26,8 @@
*
**/
public class ProgramFragment extends BaseObj {
+ public static final int MAX_SLOT = 2;
+
public enum EnvMode {
REPLACE (0),
MODULATE (1),
@@ -48,17 +50,26 @@
mID = 0;
}
- public void bindTexture(Allocation va, int slot) {
+ public void bindTexture(Allocation va, int slot)
+ throws IllegalArgumentException {
+ if((slot < 0) || (slot >= MAX_SLOT)) {
+ throw new IllegalArgumentException("Slot ID out of range.");
+ }
+
mRS.nProgramFragmentBindTexture(mID, slot, va.mID);
}
- public void bindSampler(Sampler vs, int slot) {
+ public void bindSampler(Sampler vs, int slot)
+ throws IllegalArgumentException {
+ if((slot < 0) || (slot >= MAX_SLOT)) {
+ throw new IllegalArgumentException("Slot ID out of range.");
+ }
+
mRS.nProgramFragmentBindSampler(mID, slot, vs.mID);
}
public static class Builder {
- public static final int MAX_SLOT = 2;
RenderScript mRS;
Element mIn;
Element mOut;