Unhide new RS APIs.

This exposes the fast path handling of YUV data.

bug 8566866

Change-Id: Iaa3700100db61dd51d16d80ea8ae22f2dcc41bb0
diff --git a/api/current.txt b/api/current.txt
index 1e9dc29..de4077e 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -20197,11 +20197,13 @@
   public class RenderScript {
     method public void contextDump();
     method public static android.renderscript.RenderScript create(android.content.Context);
+    method public static android.renderscript.RenderScript create(android.content.Context, android.renderscript.RenderScript.ContextType);
     method public void destroy();
     method public void finish();
     method public final android.content.Context getApplicationContext();
     method public android.renderscript.RenderScript.RSErrorHandler getErrorHandler();
     method public android.renderscript.RenderScript.RSMessageHandler getMessageHandler();
+    method public void sendMessage(int, int[]);
     method public void setErrorHandler(android.renderscript.RenderScript.RSErrorHandler);
     method public void setMessageHandler(android.renderscript.RenderScript.RSMessageHandler);
     method public void setPriority(android.renderscript.RenderScript.Priority);
@@ -20364,6 +20366,13 @@
   public abstract class ScriptIntrinsic extends android.renderscript.Script {
   }
 
+  public final class ScriptIntrinsic3DLUT extends android.renderscript.ScriptIntrinsic {
+    method public static android.renderscript.ScriptIntrinsic3DLUT create(android.renderscript.RenderScript, android.renderscript.Element);
+    method public void forEach(android.renderscript.Allocation, android.renderscript.Allocation);
+    method public android.renderscript.Script.KernelID getKernelID();
+    method public void setLUT(android.renderscript.Allocation);
+  }
+
   public class ScriptIntrinsicBlend extends android.renderscript.ScriptIntrinsic {
     method public static android.renderscript.ScriptIntrinsicBlend create(android.renderscript.RenderScript, android.renderscript.Element);
     method public void forEachAdd(android.renderscript.Allocation, android.renderscript.Allocation);
@@ -20483,6 +20492,7 @@
     method public android.renderscript.Element getElement();
     method public int getX();
     method public int getY();
+    method public int getYuv();
     method public int getZ();
     method public boolean hasFaces();
     method public boolean hasMipmaps();
@@ -20495,6 +20505,7 @@
     method public android.renderscript.Type.Builder setMipmaps(boolean);
     method public android.renderscript.Type.Builder setX(int);
     method public android.renderscript.Type.Builder setY(int);
+    method public android.renderscript.Type.Builder setYuvFormat(int);
     method public android.renderscript.Type.Builder setZ(int);
   }
 
diff --git a/graphics/java/android/renderscript/RenderScript.java b/graphics/java/android/renderscript/RenderScript.java
index 7163151..33639dc 100644
--- a/graphics/java/android/renderscript/RenderScript.java
+++ b/graphics/java/android/renderscript/RenderScript.java
@@ -99,9 +99,29 @@
         mCacheDir = cacheDir;
     }
 
+    /**
+     * ContextType specifies the specific type of context to be created.
+     *
+     */
     public enum ContextType {
+        /**
+         * NORMAL context, this is the default and what shipping apps should
+         * use.
+         */
         NORMAL (0),
+
+        /**
+         * DEBUG context, perform extra runtime checks to validate the
+         * kernels and APIs are being used as intended.  Get and SetElementAt
+         * will be bounds checked in this mode.
+         */
         DEBUG (1),
+
+        /**
+         * PROFILE context, Intended to be used once the first time an
+         * application is run on a new device.  This mode allows the runtime to
+         * do additional testing and performance tuning.
+         */
         PROFILE (2);
 
         int mID;
@@ -915,7 +935,8 @@
     }
 
     /**
-     * @hide
+     * Place a message into the message queue to be sent back to the message
+     * handler once all previous commands have been executed.
      *
      * @param id
      * @param data
@@ -1194,9 +1215,9 @@
     /**
      * Create a basic RenderScript context.
      *
-     * @hide
      *
      * @param ctx The context.
+     * @param ct The type of context to be created.
      * @return RenderScript
      */
     public static RenderScript create(Context ctx, ContextType ct) {
diff --git a/graphics/java/android/renderscript/ScriptIntrinsic3DLUT.java b/graphics/java/android/renderscript/ScriptIntrinsic3DLUT.java
index 3e58b87..86f37d8 100644
--- a/graphics/java/android/renderscript/ScriptIntrinsic3DLUT.java
+++ b/graphics/java/android/renderscript/ScriptIntrinsic3DLUT.java
@@ -20,7 +20,11 @@
 
 /**
  *
- * @hide
+ * Intrinsic for converting RGB to RGBA by using a 3D lookup table.  The
+ * incoming r,g,b values are use as normalized x,y,z coordinates into a 3D
+ * allocation.  The 8 nearest values are sampled and linearly interpolated.  The
+ * result is placed in the output.
+ *
  **/
 public final class ScriptIntrinsic3DLUT extends ScriptIntrinsic {
     private Allocation mLUT;
diff --git a/graphics/java/android/renderscript/Type.java b/graphics/java/android/renderscript/Type.java
index d7c8255..a5e24ce 100644
--- a/graphics/java/android/renderscript/Type.java
+++ b/graphics/java/android/renderscript/Type.java
@@ -112,7 +112,7 @@
     /**
      * Get the YUV format
      *
-     * @hide
+     *
      * @return int
      */
     public int getYuv() {
@@ -277,7 +277,9 @@
         }
 
         /**
-         * @hide
+         * Set the YUV layout for a Type.  This controls how the memory is
+         * interpreted.  Generally and application should not need to call this
+         * function and it would be set by the Camera.
          *
          * only NV21, YV12.  Enums from ImageFormat
          */