summaryrefslogtreecommitdiffstats
path: root/graphics/java/android/renderscript/ProgramFragment.java
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/java/android/renderscript/ProgramFragment.java')
-rw-r--r--graphics/java/android/renderscript/ProgramFragment.java17
1 files changed, 14 insertions, 3 deletions
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 @@ import android.util.Log;
*
**/
public class ProgramFragment extends BaseObj {
+ public static final int MAX_SLOT = 2;
+
public enum EnvMode {
REPLACE (0),
MODULATE (1),
@@ -48,17 +50,26 @@ public class ProgramFragment extends BaseObj {
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;