Add support for vec2 histogram
Change-Id: I30ab758a44485a8ea30043c4cd782c3560074c58
diff --git a/graphics/java/android/renderscript/ScriptIntrinsicHistogram.java b/graphics/java/android/renderscript/ScriptIntrinsicHistogram.java
index e7f87d4..a9e5ad4 100644
--- a/graphics/java/android/renderscript/ScriptIntrinsicHistogram.java
+++ b/graphics/java/android/renderscript/ScriptIntrinsicHistogram.java
@@ -54,9 +54,11 @@
}
public void forEach(Allocation ain) {
- int vecSize = mOut.getType().getElement().getVectorSize();
- if (ain.getType().getElement().getVectorSize() != vecSize) {
- throw new RSIllegalArgumentException("Vector sizes must match.");
+ if (ain.getType().getElement().getVectorSize() <
+ mOut.getType().getElement().getVectorSize()) {
+
+ throw new RSIllegalArgumentException(
+ "Input vector sizse must be >= output vector size.");
}
if (ain.getType().getElement().isCompatible(Element.U8(mRS)) &&
ain.getType().getElement().isCompatible(Element.U8_4(mRS))) {
@@ -90,9 +92,11 @@
public void setOutput(Allocation aout) {
mOut = aout;
if (mOut.getType().getElement() != Element.U32(mRS) &&
+ mOut.getType().getElement() != Element.U32_2(mRS) &&
mOut.getType().getElement() != Element.U32_3(mRS) &&
mOut.getType().getElement() != Element.U32_4(mRS) &&
mOut.getType().getElement() != Element.I32(mRS) &&
+ mOut.getType().getElement() != Element.I32_2(mRS) &&
mOut.getType().getElement() != Element.I32_3(mRS) &&
mOut.getType().getElement() != Element.I32_4(mRS)) {