Validates Intrinsic Blur only takes 2D Allocations
Bug: 24555166
Test: RSTest on x86_64 emulator
Change-Id: I0c8c970ce85989c3213fb4986e517ac0be5beb26
diff --git a/rs/java/android/renderscript/ScriptIntrinsicBlur.java b/rs/java/android/renderscript/ScriptIntrinsicBlur.java
index 7a702e8..a36873e 100644
--- a/rs/java/android/renderscript/ScriptIntrinsicBlur.java
+++ b/rs/java/android/renderscript/ScriptIntrinsicBlur.java
@@ -59,6 +59,9 @@
* @param ain The input allocation
*/
public void setInput(Allocation ain) {
+ if (ain.getType().getY() == 0) {
+ throw new RSIllegalArgumentException("Input set to a 1D Allocation");
+ }
mInput = ain;
setVar(1, ain);
}
@@ -85,6 +88,9 @@
* type.
*/
public void forEach(Allocation aout) {
+ if (aout.getType().getY() == 0) {
+ throw new RSIllegalArgumentException("Output is a 1D Allocation");
+ }
forEach(0, (Allocation) null, aout, null);
}
@@ -97,6 +103,9 @@
* @param opt LaunchOptions for clipping
*/
public void forEach(Allocation aout, Script.LaunchOptions opt) {
+ if (aout.getType().getY() == 0) {
+ throw new RSIllegalArgumentException("Output is a 1D Allocation");
+ }
forEach(0, (Allocation) null, aout, null, opt);
}