From 048c978ae599ecc9e00d68040ae9fd8a9d46df64 Mon Sep 17 00:00:00 2001 From: Jason Sams Date: Mon, 17 Jun 2013 18:35:31 -0700 Subject: [PATCH] Allow single channel and float convolve. Change-Id: If448ea2ae38de2f8b95fc884ea0dbf8222964012 --- .../android/renderscript/ScriptIntrinsicConvolve3x3.java | 5 ++++- .../android/renderscript/ScriptIntrinsicConvolve5x5.java | 7 +++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/graphics/java/android/renderscript/ScriptIntrinsicConvolve3x3.java b/graphics/java/android/renderscript/ScriptIntrinsicConvolve3x3.java index c9c54b2ea3814..d54b675c38b3b 100644 --- a/graphics/java/android/renderscript/ScriptIntrinsicConvolve3x3.java +++ b/graphics/java/android/renderscript/ScriptIntrinsicConvolve3x3.java @@ -48,7 +48,10 @@ public final class ScriptIntrinsicConvolve3x3 extends ScriptIntrinsic { */ public static ScriptIntrinsicConvolve3x3 create(RenderScript rs, Element e) { float f[] = { 0, 0, 0, 0, 1, 0, 0, 0, 0}; - if (!e.isCompatible(Element.U8_4(rs))) { + if (!e.isCompatible(Element.U8(rs)) && + !e.isCompatible(Element.U8_4(rs)) && + !e.isCompatible(Element.F32(rs)) && + !e.isCompatible(Element.F32_4(rs))) { throw new RSIllegalArgumentException("Unsuported element type."); } int id = rs.nScriptIntrinsicCreate(1, e.getID(rs)); diff --git a/graphics/java/android/renderscript/ScriptIntrinsicConvolve5x5.java b/graphics/java/android/renderscript/ScriptIntrinsicConvolve5x5.java index c6e1e39cb282b..da4d5a28c710c 100644 --- a/graphics/java/android/renderscript/ScriptIntrinsicConvolve5x5.java +++ b/graphics/java/android/renderscript/ScriptIntrinsicConvolve5x5.java @@ -48,6 +48,13 @@ public final class ScriptIntrinsicConvolve5x5 extends ScriptIntrinsic { * @return ScriptIntrinsicConvolve5x5 */ public static ScriptIntrinsicConvolve5x5 create(RenderScript rs, Element e) { + if (!e.isCompatible(Element.U8(rs)) && + !e.isCompatible(Element.U8_4(rs)) && + !e.isCompatible(Element.F32(rs)) && + !e.isCompatible(Element.F32_4(rs))) { + throw new RSIllegalArgumentException("Unsuported element type."); + } + int id = rs.nScriptIntrinsicCreate(4, e.getID(rs)); return new ScriptIntrinsicConvolve5x5(id, rs);