summaryrefslogtreecommitdiffstats
path: root/rs/java
diff options
context:
space:
mode:
Diffstat (limited to 'rs/java')
-rw-r--r--rs/java/android/renderscript/Allocation.java4
-rw-r--r--rs/java/android/renderscript/Path.java87
-rw-r--r--rs/java/android/renderscript/RenderScript.java6
-rw-r--r--rs/java/android/renderscript/ScriptIntrinsicHistogram.java16
4 files changed, 14 insertions, 99 deletions
diff --git a/rs/java/android/renderscript/Allocation.java b/rs/java/android/renderscript/Allocation.java
index 91e3b81..c6afa2c 100644
--- a/rs/java/android/renderscript/Allocation.java
+++ b/rs/java/android/renderscript/Allocation.java
@@ -1338,6 +1338,10 @@ public class Allocation extends BaseObj {
private void copyTo(Object array, Element.DataType dt, int arrayLen) {
Trace.traceBegin(RenderScript.TRACE_TAG, "copyTo");
+ if (dt.mSize * arrayLen < mSize) {
+ throw new RSIllegalArgumentException(
+ "Size of output array cannot be smaller than size of allocation.");
+ }
mRS.validate();
boolean usePadding = false;
if (mAutoPadding && (mType.getElement().getVectorSize() == 3)) {
diff --git a/rs/java/android/renderscript/Path.java b/rs/java/android/renderscript/Path.java
deleted file mode 100644
index f3502aa..0000000
--- a/rs/java/android/renderscript/Path.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.renderscript;
-
-/**
- * @hide
- *
- */
-public class Path extends BaseObj {
-
- public enum Primitive {
- QUADRATIC_BEZIER(0),
- CUBIC_BEZIER(1);
-
- int mID;
- Primitive(int id) {
- mID = id;
- }
- }
-
- Allocation mVertexBuffer;
- Allocation mLoopBuffer;
- Primitive mPrimitive;
- float mQuality;
- boolean mCoverageToAlpha;
-
- Path(long id, RenderScript rs, Primitive p, Allocation vtx, Allocation loop, float q) {
- super(id, rs);
- mVertexBuffer = vtx;
- mLoopBuffer = loop;
- mPrimitive = p;
- mQuality = q;
- }
-
- public Allocation getVertexAllocation() {
- return mVertexBuffer;
- }
-
- public Allocation getLoopAllocation() {
- return mLoopBuffer;
- }
-
- public Primitive getPrimitive() {
- return mPrimitive;
- }
-
- @Override
- void updateFromNative() {
- }
-
-
- public static Path createStaticPath(RenderScript rs, Primitive p, float quality, Allocation vtx) {
- long id = rs.nPathCreate(p.mID, false, vtx.getID(rs), 0, quality);
- Path newPath = new Path(id, rs, p, null, null, quality);
- return newPath;
- }
-
- public static Path createStaticPath(RenderScript rs, Primitive p, float quality, Allocation vtx, Allocation loops) {
- return null;
- }
-
- public static Path createDynamicPath(RenderScript rs, Primitive p, float quality, Allocation vtx) {
- return null;
- }
-
- public static Path createDynamicPath(RenderScript rs, Primitive p, float quality, Allocation vtx, Allocation loops) {
- return null;
- }
-
-
-}
-
-
diff --git a/rs/java/android/renderscript/RenderScript.java b/rs/java/android/renderscript/RenderScript.java
index b992d44..f08c985 100644
--- a/rs/java/android/renderscript/RenderScript.java
+++ b/rs/java/android/renderscript/RenderScript.java
@@ -908,12 +908,6 @@ public class RenderScript {
rsnMeshGetIndices(mContext, id, idxIds, primitives, vtxIdCount);
}
- native long rsnPathCreate(long con, int prim, boolean isStatic, long vtx, long loop, float q);
- synchronized long nPathCreate(int prim, boolean isStatic, long vtx, long loop, float q) {
- validate();
- return rsnPathCreate(mContext, prim, isStatic, vtx, loop, q);
- }
-
native void rsnScriptIntrinsicBLAS_Single(long con, long id, int func, int TransA,
int TransB, int Side, int Uplo, int Diag, int M, int N, int K,
float alpha, long A, long B, float beta, long C, int incX, int incY,
diff --git a/rs/java/android/renderscript/ScriptIntrinsicHistogram.java b/rs/java/android/renderscript/ScriptIntrinsicHistogram.java
index 95b610a..f8c0c16 100644
--- a/rs/java/android/renderscript/ScriptIntrinsicHistogram.java
+++ b/rs/java/android/renderscript/ScriptIntrinsicHistogram.java
@@ -91,9 +91,11 @@ public final class ScriptIntrinsicHistogram extends ScriptIntrinsic {
throw new RSIllegalArgumentException(
"Input vector size must be >= output vector size.");
}
- if (ain.getType().getElement().isCompatible(Element.U8(mRS)) &&
- ain.getType().getElement().isCompatible(Element.U8_4(mRS))) {
- throw new RSIllegalArgumentException("Output type must be U32 or I32.");
+ if (!ain.getType().getElement().isCompatible(Element.U8(mRS)) &&
+ !ain.getType().getElement().isCompatible(Element.U8_2(mRS)) &&
+ !ain.getType().getElement().isCompatible(Element.U8_3(mRS)) &&
+ !ain.getType().getElement().isCompatible(Element.U8_4(mRS))) {
+ throw new RSIllegalArgumentException("Input type must be U8, U8_1, U8_2 or U8_4.");
}
forEach(0, ain, null, null, opt);
@@ -187,9 +189,11 @@ public final class ScriptIntrinsicHistogram extends ScriptIntrinsic {
if (mOut.getType().getElement().getVectorSize() != 1) {
throw new RSIllegalArgumentException("Output vector size must be one.");
}
- if (ain.getType().getElement().isCompatible(Element.U8(mRS)) &&
- ain.getType().getElement().isCompatible(Element.U8_4(mRS))) {
- throw new RSIllegalArgumentException("Output type must be U32 or I32.");
+ if (!ain.getType().getElement().isCompatible(Element.U8(mRS)) &&
+ !ain.getType().getElement().isCompatible(Element.U8_2(mRS)) &&
+ !ain.getType().getElement().isCompatible(Element.U8_3(mRS)) &&
+ !ain.getType().getElement().isCompatible(Element.U8_4(mRS))) {
+ throw new RSIllegalArgumentException("Input type must be U8, U8_1, U8_2 or U8_4.");
}
forEach(1, ain, null, null, opt);