Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0e2c7011 authored by Alex Sakhartchouk's avatar Alex Sakhartchouk Committed by Android (Google) Code Review
Browse files

Merge "Unhiding J API's for Renderscript."

parents 6c19be48 918e8406
Loading
Loading
Loading
Loading
+43 −0
Original line number Diff line number Diff line
@@ -17993,15 +17993,24 @@ package android.renderscript {
    method public static android.renderscript.Allocation createTyped(android.renderscript.RenderScript, android.renderscript.Type, int);
    method public static android.renderscript.Allocation createTyped(android.renderscript.RenderScript, android.renderscript.Type);
    method public void generateMipmaps();
    method public int getBytesSize();
    method public android.renderscript.Element getElement();
    method public android.view.Surface getSurface();
    method public android.renderscript.Type getType();
    method public int getUsage();
    method public void ioReceive();
    method public void ioSend();
    method public synchronized void resize(int);
    method public void setFromFieldPacker(int, android.renderscript.FieldPacker);
    method public void setFromFieldPacker(int, int, android.renderscript.FieldPacker);
    method public void setSurface(android.view.Surface);
    method public void syncAll(int);
    field public static final int USAGE_GRAPHICS_CONSTANTS = 8; // 0x8
    field public static final int USAGE_GRAPHICS_RENDER_TARGET = 16; // 0x10
    field public static final int USAGE_GRAPHICS_TEXTURE = 2; // 0x2
    field public static final int USAGE_GRAPHICS_VERTEX = 4; // 0x4
    field public static final int USAGE_IO_INPUT = 32; // 0x20
    field public static final int USAGE_IO_OUTPUT = 64; // 0x40
    field public static final int USAGE_SCRIPT = 1; // 0x1
  }
@@ -18140,6 +18149,15 @@ package android.renderscript {
    method public static android.renderscript.Element U8_4(android.renderscript.RenderScript);
    method public static android.renderscript.Element createPixel(android.renderscript.RenderScript, android.renderscript.Element.DataType, android.renderscript.Element.DataKind);
    method public static android.renderscript.Element createVector(android.renderscript.RenderScript, android.renderscript.Element.DataType, int);
    method public int getBytesSize();
    method public android.renderscript.Element.DataKind getDataKind();
    method public android.renderscript.Element.DataType getDataType();
    method public android.renderscript.Element getSubElement(int);
    method public int getSubElementArraySize(int);
    method public int getSubElementCount();
    method public java.lang.String getSubElementName(int);
    method public int getSubElementOffsetBytes(int);
    method public int getVectorSize();
    method public boolean isCompatible(android.renderscript.Element);
    method public boolean isComplex();
  }
@@ -18172,6 +18190,7 @@ package android.renderscript {
    enum_constant public static final android.renderscript.Element.DataType MATRIX_2X2;
    enum_constant public static final android.renderscript.Element.DataType MATRIX_3X3;
    enum_constant public static final android.renderscript.Element.DataType MATRIX_4X4;
    enum_constant public static final android.renderscript.Element.DataType NONE;
    enum_constant public static final android.renderscript.Element.DataType RS_ALLOCATION;
    enum_constant public static final android.renderscript.Element.DataType RS_ELEMENT;
    enum_constant public static final android.renderscript.Element.DataType RS_MESH;
@@ -18486,12 +18505,18 @@ package android.renderscript {
    method public void bindConstants(android.renderscript.Allocation, int);
    method public void bindSampler(android.renderscript.Sampler, int) throws java.lang.IllegalArgumentException;
    method public void bindTexture(android.renderscript.Allocation, int) throws java.lang.IllegalArgumentException;
    method public android.renderscript.Type getConstant(int);
    method public int getConstantCount();
    method public int getTextureCount();
    method public java.lang.String getTextureName(int);
    method public android.renderscript.Program.TextureType getTextureType(int);
  }
  public static class Program.BaseProgramBuilder {
    ctor protected Program.BaseProgramBuilder(android.renderscript.RenderScript);
    method public android.renderscript.Program.BaseProgramBuilder addConstant(android.renderscript.Type) throws java.lang.IllegalStateException;
    method public android.renderscript.Program.BaseProgramBuilder addTexture(android.renderscript.Program.TextureType) throws java.lang.IllegalArgumentException;
    method public android.renderscript.Program.BaseProgramBuilder addTexture(android.renderscript.Program.TextureType, java.lang.String) throws java.lang.IllegalArgumentException;
    method public int getCurrentConstantIndex();
    method public int getCurrentTextureIndex();
    method protected void initProgram(android.renderscript.Program);
@@ -18547,6 +18572,8 @@ package android.renderscript {
    method public static android.renderscript.ProgramRaster CULL_BACK(android.renderscript.RenderScript);
    method public static android.renderscript.ProgramRaster CULL_FRONT(android.renderscript.RenderScript);
    method public static android.renderscript.ProgramRaster CULL_NONE(android.renderscript.RenderScript);
    method public android.renderscript.ProgramRaster.CullMode getCullMode();
    method public boolean isPointSpriteEnabled();
  }
  public static class ProgramRaster.Builder {
@@ -18569,6 +18596,15 @@ package android.renderscript {
    method public static android.renderscript.ProgramStore BLEND_ALPHA_DEPTH_TEST(android.renderscript.RenderScript);
    method public static android.renderscript.ProgramStore BLEND_NONE_DEPTH_NONE(android.renderscript.RenderScript);
    method public static android.renderscript.ProgramStore BLEND_NONE_DEPTH_TEST(android.renderscript.RenderScript);
    method public android.renderscript.ProgramStore.BlendDstFunc getBlendDstFunc();
    method public android.renderscript.ProgramStore.BlendSrcFunc getBlendSrcFunc();
    method public android.renderscript.ProgramStore.DepthFunc getDepthFunc();
    method public boolean isColorMaskAlphaEnabled();
    method public boolean isColorMaskBlueEnabled();
    method public boolean isColorMaskGreenEnabled();
    method public boolean isColorMaskRedEnabled();
    method public boolean isDepthMaskEnabled();
    method public boolean isDitherEnabled();
  }
  public static final class ProgramStore.BlendDstFunc extends java.lang.Enum {
@@ -18621,6 +18657,8 @@ package android.renderscript {
  }
  public class ProgramVertex extends android.renderscript.Program {
    method public android.renderscript.Element getInput(int);
    method public int getInputCount();
  }
  public static class ProgramVertex.Builder extends android.renderscript.Program.BaseProgramBuilder {
@@ -18758,6 +18796,11 @@ package android.renderscript {
    method public static android.renderscript.Sampler WRAP_LINEAR(android.renderscript.RenderScript);
    method public static android.renderscript.Sampler WRAP_LINEAR_MIP_LINEAR(android.renderscript.RenderScript);
    method public static android.renderscript.Sampler WRAP_NEAREST(android.renderscript.RenderScript);
    method public float getAnisotropy();
    method public android.renderscript.Sampler.Value getMagnification();
    method public android.renderscript.Sampler.Value getMinification();
    method public android.renderscript.Sampler.Value getWrapS();
    method public android.renderscript.Sampler.Value getWrapT();
  }
  public static class Sampler.Builder {
+27 −53
Original line number Diff line number Diff line
@@ -136,7 +136,6 @@ public class Allocation extends BaseObj {
     * consumer.  This usage will cause the allocation to be created
     * read only.
     *
     * @hide
     */
    public static final int USAGE_IO_INPUT = 0x0020;

@@ -145,7 +144,6 @@ public class Allocation extends BaseObj {
     * SurfaceTexture producer.  The dimensions and format of the
     * SurfaceTexture will be forced to those of the allocation.
     *
     * @hide
     */
    public static final int USAGE_IO_OUTPUT = 0x0040;

@@ -193,8 +191,8 @@ public class Allocation extends BaseObj {
   /**
     * Get the element of the type of the Allocation.
     *
     * @hide
     * @return Element
     * @return Element that describes the structure of data in the
     *         allocation
     *
     */
    public Element getElement() {
@@ -204,8 +202,8 @@ public class Allocation extends BaseObj {
    /**
     * Get the usage flags of the Allocation.
     *
     * @hide
     * @return usage
     * @return usage flags associated with the allocation. e.g.
     *         script, texture, etc.
     *
     */
    public int getUsage() {
@@ -215,12 +213,11 @@ public class Allocation extends BaseObj {
    /**
     * Get the size of the Allocation in bytes.
     *
     * @hide
     * @return sizeInBytes
     * @return size of the Allocation in bytes.
     *
     */
    public int getSizeBytes() {
        return mType.getCount() * mType.getElement().getSizeBytes();
    public int getBytesSize() {
        return mType.getCount() * mType.getElement().getBytesSize();
    }

    private void updateCacheInfo(Type t) {
@@ -362,8 +359,6 @@ public class Allocation extends BaseObj {
     * Send a buffer to the output stream.  The contents of the
     * Allocation will be undefined after this operation.
     *
     * @hide
     *
     */
    public void ioSend() {
        if ((mUsage & USAGE_IO_OUTPUT) == 0) {
@@ -385,8 +380,6 @@ public class Allocation extends BaseObj {
    /**
     * Receive the latest input into the Allocation.
     *
     * @hide
     *
     */
    public void ioReceive() {
        if ((mUsage & USAGE_IO_INPUT) == 0) {
@@ -424,37 +417,37 @@ public class Allocation extends BaseObj {
                throw new RSIllegalArgumentException("Allocation kind is " +
                                                     mType.getElement().mKind + ", type " +
                                                     mType.getElement().mType +
                                                     " of " + mType.getElement().getSizeBytes() +
                                                     " of " + mType.getElement().getBytesSize() +
                                                     " bytes, passed bitmap was " + bc);
            }
            break;
        case ARGB_8888:
            if ((mType.getElement().mKind != Element.DataKind.PIXEL_RGBA) ||
                (mType.getElement().getSizeBytes() != 4)) {
                (mType.getElement().getBytesSize() != 4)) {
                throw new RSIllegalArgumentException("Allocation kind is " +
                                                     mType.getElement().mKind + ", type " +
                                                     mType.getElement().mType +
                                                     " of " + mType.getElement().getSizeBytes() +
                                                     " of " + mType.getElement().getBytesSize() +
                                                     " bytes, passed bitmap was " + bc);
            }
            break;
        case RGB_565:
            if ((mType.getElement().mKind != Element.DataKind.PIXEL_RGB) ||
                (mType.getElement().getSizeBytes() != 2)) {
                (mType.getElement().getBytesSize() != 2)) {
                throw new RSIllegalArgumentException("Allocation kind is " +
                                                     mType.getElement().mKind + ", type " +
                                                     mType.getElement().mType +
                                                     " of " + mType.getElement().getSizeBytes() +
                                                     " of " + mType.getElement().getBytesSize() +
                                                     " bytes, passed bitmap was " + bc);
            }
            break;
        case ARGB_4444:
            if ((mType.getElement().mKind != Element.DataKind.PIXEL_RGBA) ||
                (mType.getElement().getSizeBytes() != 2)) {
                (mType.getElement().getBytesSize() != 2)) {
                throw new RSIllegalArgumentException("Allocation kind is " +
                                                     mType.getElement().mKind + ", type " +
                                                     mType.getElement().mType +
                                                     " of " + mType.getElement().getSizeBytes() +
                                                     " of " + mType.getElement().getBytesSize() +
                                                     " bytes, passed bitmap was " + bc);
            }
            break;
@@ -583,7 +576,7 @@ public class Allocation extends BaseObj {
     */
    public void setFromFieldPacker(int xoff, FieldPacker fp) {
        mRS.validate();
        int eSize = mType.mElement.getSizeBytes();
        int eSize = mType.mElement.getBytesSize();
        final byte[] data = fp.getData();

        int count = data.length / eSize;
@@ -612,7 +605,7 @@ public class Allocation extends BaseObj {
        }

        final byte[] data = fp.getData();
        int eSize = mType.mElement.mElements[component_number].getSizeBytes();
        int eSize = mType.mElement.mElements[component_number].getBytesSize();
        eSize *= mType.mElement.mArraySizes[component_number];

        if (data.length != eSize) {
@@ -665,7 +658,7 @@ public class Allocation extends BaseObj {
     * @param d the source data array
     */
    public void copy1DRangeFromUnchecked(int off, int count, int[] d) {
        int dataSize = mType.mElement.getSizeBytes() * count;
        int dataSize = mType.mElement.getBytesSize() * count;
        data1DChecks(off, count, d.length * 4, dataSize);
        mRS.nAllocationData1D(getIDSafe(), off, mSelectedLOD, count, d, dataSize);
    }
@@ -679,7 +672,7 @@ public class Allocation extends BaseObj {
     * @param d the source data array
     */
    public void copy1DRangeFromUnchecked(int off, int count, short[] d) {
        int dataSize = mType.mElement.getSizeBytes() * count;
        int dataSize = mType.mElement.getBytesSize() * count;
        data1DChecks(off, count, d.length * 2, dataSize);
        mRS.nAllocationData1D(getIDSafe(), off, mSelectedLOD, count, d, dataSize);
    }
@@ -693,7 +686,7 @@ public class Allocation extends BaseObj {
     * @param d the source data array
     */
    public void copy1DRangeFromUnchecked(int off, int count, byte[] d) {
        int dataSize = mType.mElement.getSizeBytes() * count;
        int dataSize = mType.mElement.getBytesSize() * count;
        data1DChecks(off, count, d.length, dataSize);
        mRS.nAllocationData1D(getIDSafe(), off, mSelectedLOD, count, d, dataSize);
    }
@@ -707,7 +700,7 @@ public class Allocation extends BaseObj {
     * @param d the source data array
     */
    public void copy1DRangeFromUnchecked(int off, int count, float[] d) {
        int dataSize = mType.mElement.getSizeBytes() * count;
        int dataSize = mType.mElement.getBytesSize() * count;
        data1DChecks(off, count, d.length * 4, dataSize);
        mRS.nAllocationData1D(getIDSafe(), off, mSelectedLOD, count, d, dataSize);
    }
@@ -1029,30 +1022,6 @@ public class Allocation extends BaseObj {
        return new Allocation(id, rs, type, usage);
    }

    /**
     * @hide
     * This API is hidden and only intended to be used for
     * transitional purposes.
     *
     * @param type renderscript type describing data layout
     * @param mips specifies desired mipmap behaviour for the
     *             allocation
     * @param usage bit field specifying how the allocation is
     *              utilized
     */
    static public Allocation createTyped(RenderScript rs, Type type, MipmapControl mips,
                                         int usage, int pointer) {
        rs.validate();
        if (type.getID(rs) == 0) {
            throw new RSInvalidStateException("Bad Type");
        }
        int id = rs.nAllocationCreateTyped(type.getID(rs), mips.mID, usage, pointer);
        if (id == 0) {
            throw new RSRuntimeException("Allocation creation failed.");
        }
        return new Allocation(id, rs, type, usage);
    }

    /**
     * Creates a renderscript allocation with the size specified by
     * the type and no mipmaps generated by default
@@ -1194,8 +1163,11 @@ public class Allocation extends BaseObj {
    }

    /**
     * For allocations used with io operations, returns the handle
     * onto a raw buffer that is being managed by the screen
     * compositor.
     *
     * @hide
     * @return Surface object associated with allocation
     *
     */
    public Surface getSurface() {
@@ -1203,7 +1175,9 @@ public class Allocation extends BaseObj {
    }

    /**
     * @hide
     * Associate a surface for io output with this allocation
     *
     * @param sur Surface to associate with allocation
     */
    public void setSurface(Surface sur) {
        mRS.validate();
+16 −14
Original line number Diff line number Diff line
@@ -85,13 +85,13 @@ public class Element extends BaseObj {
    }

    /**
    * @hide
    * @return element size in bytes
    */
    public int getSizeBytes() {return mSize;}
    public int getBytesSize() {return mSize;}

    /**
    * @hide
    * Returns the number of vector components. 2 for float2, 4 for
    * float4, etc.
    * @return element vector size
    */
    public int getVectorSize() {return mVectorSize;}
@@ -114,10 +114,6 @@ public class Element extends BaseObj {
     * RS_* objects.  32 bit opaque handles.
     */
    public enum DataType {
        /**
        * @hide
        * new enum
        */
        NONE (0, 0),
        //FLOAT_16 (1, 2),
        FLOAT_32 (2, 4),
@@ -201,7 +197,10 @@ public class Element extends BaseObj {
    }

    /**
    * @hide
    * Elements could be simple, such as an int or a float, or a
    * structure with multiple sub elements, such as a collection of
    * floats, float2, float4. This function returns zero for simple
    * elements or the number of sub-elements otherwise.
    * @return number of sub-elements in this element
    */
    public int getSubElementCount() {
@@ -212,7 +211,8 @@ public class Element extends BaseObj {
    }

    /**
    * @hide
    * For complex elements, this function will return the
    * sub-element at index
    * @param index index of the sub-element to return
    * @return sub-element in this element at given index
    */
@@ -227,7 +227,8 @@ public class Element extends BaseObj {
    }

    /**
    * @hide
    * For complex elements, this function will return the
    * sub-element name at index
    * @param index index of the sub-element
    * @return sub-element in this element at given index
    */
@@ -242,7 +243,9 @@ public class Element extends BaseObj {
    }

    /**
    * @hide
    * For complex elements, some sub-elements could be statically
    * sized arrays. This function will return the array size for
    * sub-element at index
    * @param index index of the sub-element
    * @return array size of sub-element in this element at given index
    */
@@ -257,7 +260,8 @@ public class Element extends BaseObj {
    }

    /**
    * @hide
    * This function specifies the location of a sub-element within
    * the element
    * @param index index of the sub-element
    * @return offset in bytes of sub-element in this element at given index
    */
@@ -272,7 +276,6 @@ public class Element extends BaseObj {
    }

    /**
    * @hide
    * @return element data type
    */
    public DataType getDataType() {
@@ -280,7 +283,6 @@ public class Element extends BaseObj {
    }

    /**
    * @hide
    * @return element data kind
    */
    public DataKind getDataKind() {
+17 −6
Original line number Diff line number Diff line
@@ -78,14 +78,20 @@ public class Program extends BaseObj {
    }

    /**
     * @hide
     * Program object can have zero or more constant allocations
     * associated with it. This method returns the total count.
     * @return number of constant input types
     */
    public int getConstantCount() {
        return mConstants != null ? mConstants.length : 0;
    }

    /**
     * @hide
     * Returns the type of the constant buffer used in the program
     * object. It could be used to query internal elements or create
     * an allocation to store constant data.
     * @param slot index of the constant input type to return
     * @return constant input type
     */
    public Type getConstant(int slot) {
        if (slot < 0 || slot >= mConstants.length) {
@@ -95,14 +101,17 @@ public class Program extends BaseObj {
    }

    /**
     * @hide
     * Returns the number of textures used in this program object
     * @return number of texture inputs
     */
    public int getTextureCount() {
        return mTextureCount;
    }

    /**
     * @hide
     * Returns the type of texture at a given slot. e.g. 2D or Cube
     * @param slot index of the texture input
     * @return texture input type
     */
    public TextureType getTextureType(int slot) {
        if ((slot < 0) || (slot >= mTextureCount)) {
@@ -112,7 +121,10 @@ public class Program extends BaseObj {
    }

    /**
     * @hide
     * Returns the name of the texture input at a given slot. e.g.
     * tex0, diffuse, spec
     * @param slot index of the texture input
     * @return texture input name
     */
    public String getTextureName(int slot) {
        if ((slot < 0) || (slot >= mTextureCount)) {
@@ -318,7 +330,6 @@ public class Program extends BaseObj {
        }

        /**
         * @hide
         * Adds a texture input to the Program
         *
         * @param texType describes that the texture to append it (2D,
+4 −3
Original line number Diff line number Diff line
@@ -48,15 +48,16 @@ public class ProgramRaster extends BaseObj {
    }

    /**
     * @hide
     * Specifies whether vertices are rendered as screen aligned
     * elements of a specified size
     * @return whether point sprites are enabled
     */
    public boolean getPointSpriteEnabled() {
    public boolean isPointSpriteEnabled() {
        return mPointSprite;
    }

    /**
     * @hide
     * Specifies how triangles are culled based on their orientation
     * @return cull mode
     */
    public CullMode getCullMode() {
Loading