diff options
Diffstat (limited to 'rs/java/android/renderscript/Script.java')
-rw-r--r-- | rs/java/android/renderscript/Script.java | 44 |
1 files changed, 30 insertions, 14 deletions
diff --git a/rs/java/android/renderscript/Script.java b/rs/java/android/renderscript/Script.java index 2b0678046e32..fc3280be3ac7 100644 --- a/rs/java/android/renderscript/Script.java +++ b/rs/java/android/renderscript/Script.java @@ -41,6 +41,7 @@ public class Script extends BaseObj { mScript = s; mSlot = slot; mSig = sig; + guard.open("destroy"); } } @@ -118,6 +119,7 @@ public class Script extends BaseObj { super(id, rs); mScript = s; mSlot = slot; + guard.open("destroy"); } } @@ -357,6 +359,19 @@ public class Script extends BaseObj { super(id, rs); mInIdsBuffer = new long[1]; + + /* The constructors for the derived classes (including ScriptIntrinsic + * derived classes and ScriptC derived classes generated by Slang + * reflection) seem to be simple enough, so we just put the guard.open() + * call here, rather than in the end of the constructor for the derived + * class. This, of course, assumes the derived constructor would not + * throw any exception after calling this constructor. + * + * If new derived classes are added with more complicated constructors + * that throw exceptions, this call has to be (duplicated and) moved + * to the end of each derived class constructor. + */ + guard.open("destroy"); } /** @@ -541,21 +556,22 @@ public class Script extends BaseObj { /** * Class for specifying the specifics about how a kernel will be - * launched + * launched. * * This class can specify a potential range of cells on which to * run a kernel. If no set is called for a dimension then this * class will have no impact on that dimension when the kernel * is executed. * - * The forEach launch will operate over the intersection of the - * dimensions. + * The forEach kernel launch will operate over the intersection of + * the dimensions. * * Example: * LaunchOptions with setX(5, 15) * Allocation with dimension X=10, Y=10 - * The resulting forEach run would execute over x = 5 to 10 and - * y = 0 to 10. + * The resulting forEach run would execute over: + * x = 5 to 9 (inclusive) and + * y = 0 to 9 (inclusive). * * */ @@ -569,11 +585,11 @@ public class Script extends BaseObj { private int strategy; /** - * Set the X range. If the end value is set to 0 the X dimension is not - * clipped. + * Set the X range. xstartArg is the lowest coordinate of the range, + * and xendArg-1 is the highest coordinate of the range. * * @param xstartArg Must be >= 0 - * @param xendArg Must be >= xstartArg + * @param xendArg Must be > xstartArg * * @return LaunchOptions */ @@ -587,11 +603,11 @@ public class Script extends BaseObj { } /** - * Set the Y range. If the end value is set to 0 the Y dimension is not - * clipped. + * Set the Y range. ystartArg is the lowest coordinate of the range, + * and yendArg-1 is the highest coordinate of the range. * * @param ystartArg Must be >= 0 - * @param yendArg Must be >= ystartArg + * @param yendArg Must be > ystartArg * * @return LaunchOptions */ @@ -605,11 +621,11 @@ public class Script extends BaseObj { } /** - * Set the Z range. If the end value is set to 0 the Z dimension is not - * clipped. + * Set the Z range. zstartArg is the lowest coordinate of the range, + * and zendArg-1 is the highest coordinate of the range. * * @param zstartArg Must be >= 0 - * @param zendArg Must be >= zstartArg + * @param zendArg Must be > zstartArg * * @return LaunchOptions */ |