Allocation
public
class
Allocation
extends BaseObj
java.lang.Object | ||
↳ | android.renderscript.BaseObj | |
↳ | android.renderscript.Allocation |
This class was deprecated
in API level 31.
Renderscript has been deprecated in API level 31. Please refer to the migration
guide for the proposed alternatives.
This class provides the primary method through which data is passed to
and from RenderScript kernels. An Allocation provides the backing store for
a given Type
.
An Allocation also contains a set of usage flags that denote how the
Allocation could be used. For example, an Allocation may have usage flags
specifying that it can be used from a script as well as input to a Sampler
. A developer must synchronize across these
different usages using syncAll(int)
in
order to ensure that different users of the Allocation have a consistent view
of memory. For example, in the case where an Allocation is used as the output
of one kernel and as Sampler input in a later kernel, a developer must call
syncAll(Allocation.USAGE_SCRIPT)
prior to launching the
second kernel to ensure correctness.
An Allocation can be populated with the copyFrom(Bitmap)
routines. For
more complex Element types, the copyFromUnchecked(byte)
methods can be
used to copy from byte arrays or similar constructs.
Developer Guides
For more information about creating an application that uses RenderScript, read the RenderScript developer guide.
Summary
Nested classes | |
---|---|
interface |
Allocation.OnBufferAvailableListener
Interface to handle notification when new buffers are available via
|
Constants | |
---|---|
int |
USAGE_GRAPHICS_CONSTANTS
The Allocation will be used as the source of shader constants by one or more programs. |
int |
USAGE_GRAPHICS_RENDER_TARGET
The Allocation will be used as a target for offscreen rendering This was deprecated in API level 16. |
int |
USAGE_GRAPHICS_TEXTURE
The Allocation will be used as a texture source by one or more graphics programs. |
int |
USAGE_GRAPHICS_VERTEX
The Allocation will be used as a graphics mesh. |
int |
USAGE_IO_INPUT
The Allocation will be used as a |
int |
USAGE_IO_OUTPUT
The Allocation will be used as a |
int |
USAGE_SCRIPT
The Allocation will be bound to and accessed by scripts. |
int |
USAGE_SHARED
The Allocation's backing store will be inherited from another object
(usually a |
Public methods | |
---|---|
void
|
copy1DRangeFrom(int off, int count, float[] d)
Copy an array into a 1D region of this Allocation. |
void
|
copy1DRangeFrom(int off, int count, short[] d)
Copy an array into a 1D region of this Allocation. |
void
|
copy1DRangeFrom(int off, int count, Object array)
Copy an array into a 1D region of this Allocation. |
void
|
copy1DRangeFrom(int off, int count, Allocation data, int dataOff)
Copy part of an Allocation into this Allocation. |
void
|
copy1DRangeFrom(int off, int count, int[] d)
Copy an array into a 1D region of this Allocation. |
void
|
copy1DRangeFrom(int off, int count, byte[] d)
Copy an array into a 1D region of this Allocation. |
void
|
copy1DRangeFromUnchecked(int off, int count, byte[] d)
Copy an array into a 1D region of this Allocation. |
void
|
copy1DRangeFromUnchecked(int off, int count, short[] d)
Copy an array into a 1D region of this Allocation. |
void
|
copy1DRangeFromUnchecked(int off, int count, Object array)
Copy an array into a 1D region of this Allocation. |
void
|
copy1DRangeFromUnchecked(int off, int count, int[] d)
Copy an array into a 1D region of this Allocation. |
void
|
copy1DRangeFromUnchecked(int off, int count, float[] d)
Copy an array into a 1D region of this Allocation. |
void
|
copy1DRangeTo(int off, int count, short[] d)
Copy a 1D region of this Allocation into an array. |
void
|
copy1DRangeTo(int off, int count, Object array)
Copy a 1D region of this Allocation into an array. |
void
|
copy1DRangeTo(int off, int count, int[] d)
Copy a 1D region of this Allocation into an array. |
void
|
copy1DRangeTo(int off, int count, float[] d)
Copy a 1D region of this Allocation into an array. |
void
|
copy1DRangeTo(int off, int count, byte[] d)
Copy a 1D region of this Allocation into an array. |
void
|
copy1DRangeToUnchecked(int off, int count, byte[] d)
Copy a 1D region of this Allocation into an array. |
void
|
copy1DRangeToUnchecked(int off, int count, short[] d)
Copy a 1D region of this Allocation into an array. |
void
|
copy1DRangeToUnchecked(int off, int count, Object array)
Copy a 1D region of this Allocation into an array. |
void
|
copy1DRangeToUnchecked(int off, int count, int[] d)
Copy a 1D region of this Allocation into an array. |
void
|
copy1DRangeToUnchecked(int off, int count, float[] d)
Copy a 1D region of this Allocation into an array. |
void
|
copy2DRangeFrom(int xoff, int yoff, int w, int h, Allocation data, int dataXoff, int dataYoff)
Copy a rectangular region from an Allocation into a rectangular region in this Allocation. |
void
|
copy2DRangeFrom(int xoff, int yoff, Bitmap data)
Copy a |
void
|
copy2DRangeFrom(int xoff, int yoff, int w, int h, byte[] data)
Copy from an array into a rectangular region in this Allocation. |
void
|
copy2DRangeFrom(int xoff, int yoff, int w, int h, Object array)
Copy from an array into a rectangular region in this Allocation. |
void
|
copy2DRangeFrom(int xoff, int yoff, int w, int h, int[] data)
Copy from an array into a rectangular region in this Allocation. |
void
|
copy2DRangeFrom(int xoff, int yoff, int w, int h, float[] data)
Copy from an array into a rectangular region in this Allocation. |
void
|
copy2DRangeFrom(int xoff, int yoff, int w, int h, short[] data)
Copy from an array into a rectangular region in this Allocation. |
void
|
copy2DRangeTo(int xoff, int yoff, int w, int h, short[] data)
Copy from a rectangular region in this Allocation into an array. |
void
|
copy2DRangeTo(int xoff, int yoff, int w, int h, byte[] data)
Copy from a rectangular region in this Allocation into an array. |
void
|
copy2DRangeTo(int xoff, int yoff, int w, int h, Object array)
Copy from a rectangular region in this Allocation into an array. |
void
|
copy2DRangeTo(int xoff, int yoff, int w, int h, float[] data)
Copy from a rectangular region in this Allocation into an array. |
void
|
copy2DRangeTo(int xoff, int yoff, int w, int h, int[] data)
Copy from a rectangular region in this Allocation into an array. |
void
|
copy3DRangeFrom(int xoff, int yoff, int zoff, int w, int h, int d, Allocation data, int dataXoff, int dataYoff, int dataZoff)
Copy a rectangular region into the allocation from another allocation. |
void
|
copy3DRangeFrom(int xoff, int yoff, int zoff, int w, int h, int d, Object array)
Copy from an array into a 3D region in this Allocation. |
void
|
copy3DRangeTo(int xoff, int yoff, int zoff, int w, int h, int d, Object array)
|
void
|
copyFrom(Bitmap b)
Copy into an Allocation from a |
void
|
copyFrom(short[] d)
Copy into this Allocation from an array. |
void
|
copyFrom(int[] d)
Copy into this Allocation from an array. |
void
|
copyFrom(BaseObj[] d)
Copy an array of RS objects to the Allocation. |
void
|
copyFrom(byte[] d)
Copy into this Allocation from an array. |
void
|
copyFrom(float[] d)
Copy into this Allocation from an array. |
void
|
copyFrom(Allocation a)
Copy an Allocation from an Allocation. |
void
|
copyFrom(Object array)
Copy into this Allocation from an array. |
void
|
copyFromUnchecked(float[] d)
Copy into this Allocation from an array. |
void
|
copyFromUnchecked(Object array)
Copy into this Allocation from an array. |
void
|
copyFromUnchecked(short[] d)
Copy into this Allocation from an array. |
void
|
copyFromUnchecked(int[] d)
Copy into this Allocation from an array. |
void
|
copyFromUnchecked(byte[] d)
Copy into this Allocation from an array. |
void
|
copyTo(Bitmap b)
Copy from the Allocation into a |
void
|
copyTo(short[] d)
Copy from the Allocation into a short array. |
void
|
copyTo(byte[] d)
Copy from the Allocation into a byte array. |
void
|
copyTo(float[] d)
Copy from the Allocation into a float array. |
void
|
copyTo(int[] d)
Copy from the Allocation into a int array. |
void
|
copyTo(Object array)
Copy from the Allocation into an array. |
static
Allocation[]
|
createAllocations(RenderScript rs, Type t, int usage, int numAlloc)
Creates a new Allocation Array with the given |
static
Allocation
|
createCubemapFromBitmap(RenderScript rs, Bitmap b, Allocation.MipmapControl mips, int usage)
Creates a cubemap Allocation from a |
static
Allocation
|
createCubemapFromBitmap(RenderScript rs, Bitmap b)
Creates a non-mipmapped cubemap Allocation for use as a graphics texture
from a |
static
Allocation
|
createCubemapFromCubeFaces(RenderScript rs, Bitmap xpos, Bitmap xneg, Bitmap ypos, Bitmap yneg, Bitmap zpos, Bitmap zneg)
Creates a non-mipmapped cubemap Allocation for use as a sampler input
from 6 |
static
Allocation
|
createCubemapFromCubeFaces(RenderScript rs, Bitmap xpos, Bitmap xneg, Bitmap ypos, Bitmap yneg, Bitmap zpos, Bitmap zneg, Allocation.MipmapControl mips, int usage)
Creates a cubemap Allocation from 6 |
static
Allocation
|
createFromBitmap(RenderScript rs, Bitmap b)
Creates an Allocation from a |
static
Allocation
|
createFromBitmap(RenderScript rs, Bitmap b, Allocation.MipmapControl mips, int usage)
Creates an Allocation from a |
static
Allocation
|
createFromBitmapResource(RenderScript rs, Resources res, int id, Allocation.MipmapControl mips, int usage)
Creates an Allocation from the Bitmap referenced by resource ID. |
static
Allocation
|
createFromBitmapResource(RenderScript rs, Resources res, int id)
Creates a non-mipmapped Allocation to use as a graphics texture from the
|
static
Allocation
|
createFromString(RenderScript rs, String str, int usage)
Creates an Allocation containing string data encoded in UTF-8 format. |
static
Allocation
|
createSized(RenderScript rs, Element e, int count)
Creates an Allocation with a specified number of given elements |
static
Allocation
|
createSized(RenderScript rs, Element e, int count, int usage)
Creates an Allocation with a specified number of given elements |
static
Allocation
|
createTyped(RenderScript rs, Type type, Allocation.MipmapControl mips, int usage)
Creates a new Allocation with the given |
static
Allocation
|
createTyped(RenderScript rs, Type type)
Creates an Allocation for use by scripts with a given |
static
Allocation
|
createTyped(RenderScript rs, Type type, int usage)
Creates an Allocation with the size specified by the type and no mipmaps generated by default |
void
|
destroy()
For USAGE_IO_OUTPUT, destroy() implies setSurface(null). |
void
|
generateMipmaps()
Generate a mipmap chain. |
ByteBuffer
|
getByteBuffer()
Gets or creates a ByteBuffer that contains the raw data of the current Allocation. |
int
|
getBytesSize()
Get the size of the Allocation in bytes. |
Element
|
getElement()
|
long
|
getStride()
Gets the stride of the Allocation. |
Surface
|
getSurface()
Returns the handle to a raw buffer that is being managed by the screen compositor. |
long
|
getTimeStamp()
Get the timestamp for the most recent buffer held by this Allocation. |
Type
|
getType()
Get the |
int
|
getUsage()
Get the usage flags of the Allocation. |
void
|
ioReceive()
Receive the latest input into the Allocation. |
void
|
ioSend()
Send a buffer to the output stream. |
void
|
resize(int dimX)
This method was deprecated in API level 18. RenderScript objects should be immutable once created. The replacement is to create a new allocation and copy the contents. This function will throw an exception if API 21 or higher is used. |
void
|
setAutoPadding(boolean useAutoPadding)
Specifies the mapping between the Allocation's cells and an array's elements when data is copied from the Allocation to the array, or vice-versa. |
void
|
setFromFieldPacker(int xoff, int component_number, FieldPacker fp)
This is only intended to be used by auto-generated code reflected from the RenderScript script files and should not be used by developers. |
void
|
setFromFieldPacker(int xoff, FieldPacker fp)
This is only intended to be used by auto-generated code reflected from the RenderScript script files and should not be used by developers. |
void
|
setFromFieldPacker(int xoff, int yoff, int zoff, int component_number, FieldPacker fp)
This is only intended to be used by auto-generated code reflected from the RenderScript script files and should not be used by developers. |
void
|
setOnBufferAvailableListener(Allocation.OnBufferAvailableListener callback)
Set a notification handler for |
void
|
setSurface(Surface sur)
Associate a |
void
|
syncAll(int srcLocation)
Propagate changes from one usage of the Allocation to the other usages of the Allocation. |
Protected methods | |
---|---|
void
|
finalize()
Called by the garbage collector on an object when garbage collection determines that there are no more references to the object. |
Inherited methods | |
---|---|
Constants
USAGE_GRAPHICS_CONSTANTS
public static final int USAGE_GRAPHICS_CONSTANTS
The Allocation will be used as the source of shader constants by one or more programs. This was deprecated in API level 16.
Constant Value: 8 (0x00000008)
USAGE_GRAPHICS_RENDER_TARGET
public static final int USAGE_GRAPHICS_RENDER_TARGET
The Allocation will be used as a target for offscreen rendering This was deprecated in API level 16.
Constant Value: 16 (0x00000010)
USAGE_GRAPHICS_TEXTURE
public static final int USAGE_GRAPHICS_TEXTURE
The Allocation will be used as a texture source by one or more graphics programs.
Constant Value: 2 (0x00000002)
USAGE_GRAPHICS_VERTEX
public static final int USAGE_GRAPHICS_VERTEX
The Allocation will be used as a graphics mesh. This was deprecated in API level 16.
Constant Value: 4 (0x00000004)
USAGE_IO_INPUT
public static final int USAGE_IO_INPUT
The Allocation will be used as a Surface
consumer. This usage will cause the Allocation to be created
as read-only.
Constant Value: 32 (0x00000020)
USAGE_IO_OUTPUT
public static final int USAGE_IO_OUTPUT
The Allocation will be used as a Surface
producer. The dimensions and format of the Surface
will be forced to those of the
Allocation.
Constant Value: 64 (0x00000040)
USAGE_SCRIPT
public static final int USAGE_SCRIPT
The Allocation will be bound to and accessed by scripts.
Constant Value: 1 (0x00000001)
USAGE_SHARED
public static final int USAGE_SHARED
The Allocation's backing store will be inherited from another object
(usually a Bitmap
); copying to or from the
original source Bitmap will cause a synchronization rather than a full
copy. syncAll(int)
may also be used to synchronize the Allocation
and the source Bitmap.
This is set by default for allocations created with createFromBitmap(RenderScript, Bitmap)
in API version 18 and higher.
Constant Value: 128 (0x00000080)
Public methods
copy1DRangeFrom
public void copy1DRangeFrom (int off, int count, float[] d)
Copy an array into a 1D region of this Allocation. This variant is type checked
and will generate exceptions if the Allocation's Element
is neither a 32 bit float nor a vector of
32 bit floats Element.DataType
.
The size of the region is: count * getElement()
.Element.getBytesSize()
.
If the Allocation does not have Vec3 Elements, then the size of the array in bytes must be at least the size of the region.
If the Allocation has Vec3 Elements and AutoPadding
is disabled, then the size of the array in bytes must be at least the size
of the region. The padding bytes for the cells must be part of the array.
If the Allocation has Vec3 Elements and AutoPadding
is enabled, then the size of the array in bytes must be at least 3/4 the size
of the region. The padding bytes for the cells must not be part of the array.
Parameters | |
---|---|
off |
int : The offset of the first element to be copied. |
count |
int : The number of elements to be copied. |
d |
float : the source array. |
copy1DRangeFrom
public void copy1DRangeFrom (int off, int count, short[] d)
Copy an array into a 1D region of this Allocation. This variant is type checked
and will generate exceptions if the Allocation's Element
is not an 16 bit integer nor a vector of 16 bit
integers Element.DataType
.
The size of the region is: count * getElement()
.Element.getBytesSize()
.
If the Allocation does not have Vec3 Elements, then the size of the array in bytes must be at least the size of the region.
If the Allocation has Vec3 Elements and AutoPadding
is disabled, then the size of the array in bytes must be at least the size
of the region. The padding bytes for the cells must be part of the array.
If the Allocation has Vec3 Elements and AutoPadding
is enabled, then the size of the array in bytes must be at least 3/4 the size
of the region. The padding bytes for the cells must not be part of the array.
Parameters | |
---|---|
off |
int : The offset of the first element to be copied. |
count |
int : The number of elements to be copied. |
d |
short : the source array |
copy1DRangeFrom
public void copy1DRangeFrom (int off, int count, Object array)
Copy an array into a 1D region of this Allocation. This variant is type checked
and will generate exceptions if the Allocation's Element
does not match the component type
of the array passed in.
The size of the region is: count * getElement()
.Element.getBytesSize()
.
If the Allocation does not have Vec3 Elements, then the size of the array in bytes must be at least the size of the region.
If the Allocation has Vec3 Elements and AutoPadding
is disabled, then the size of the array in bytes must be at least the size
of the region. The padding bytes for the cells must be part of the array.
If the Allocation has Vec3 Elements and AutoPadding
is enabled, then the size of the array in bytes must be at least 3/4 the size
of the region. The padding bytes for the cells must not be part of the array.
Parameters | |
---|---|
off |
int : The offset of the first element to be copied. |
count |
int : The number of elements to be copied. |
array |
Object : The source array. |
copy1DRangeFrom
public void copy1DRangeFrom (int off, int count, Allocation data, int dataOff)
Copy part of an Allocation into this Allocation.
Parameters | |
---|---|
off |
int : The offset of the first element to be copied. |
count |
int : The number of elements to be copied. |
data |
Allocation : the source data allocation. |
dataOff |
int : off The offset of the first element in data to
be copied. |
copy1DRangeFrom
public void copy1DRangeFrom (int off, int count, int[] d)
Copy an array into a 1D region of this Allocation. This variant is type checked
and will generate exceptions if the Allocation's Element
is not an 32 bit integer nor a vector of 32 bit
integers Element.DataType
.
The size of the region is: count * getElement()
.Element.getBytesSize()
.
If the Allocation does not have Vec3 Elements, then the size of the array in bytes must be at least the size of the region.
If the Allocation has Vec3 Elements and AutoPadding
is disabled, then the size of the array in bytes must be at least the size
of the region. The padding bytes for the cells must be part of the array.
If the Allocation has Vec3 Elements and AutoPadding
is enabled, then the size of the array in bytes must be at least 3/4 the size
of the region. The padding bytes for the cells must not be part of the array.
Parameters | |
---|---|
off |
int : The offset of the first element to be copied. |
count |
int : The number of elements to be copied. |
d |
int : the source array |
copy1DRangeFrom
public void copy1DRangeFrom (int off, int count, byte[] d)
Copy an array into a 1D region of this Allocation. This variant is type checked
and will generate exceptions if the Allocation's Element
is not an 8 bit integer nor a vector of 8 bit
integers Element.DataType
.
The size of the region is: count * getElement()
.Element.getBytesSize()
.
If the Allocation does not have Vec3 Elements, then the size of the array in bytes must be at least the size of the region.
If the Allocation has Vec3 Elements and AutoPadding
is disabled, then the size of the array in bytes must be at least the size
of the region. The padding bytes for the cells must be part of the array.
If the Allocation has Vec3 Elements and AutoPadding
is enabled, then the size of the array in bytes must be at least 3/4 the size
of the region. The padding bytes for the cells must not be part of the array.
Parameters | |
---|---|
off |
int : The offset of the first element to be copied. |
count |
int : The number of elements to be copied. |
d |
byte : the source array |
copy1DRangeFromUnchecked
public void copy1DRangeFromUnchecked (int off, int count, byte[] d)
Copy an array into a 1D region of this Allocation. This method does not guarantee that the Allocation is compatible with the input buffer.
The size of the region is: count * getElement()
.Element.getBytesSize()
.
If the Allocation does not have Vec3 Elements, then the size of the array in bytes must be at least the size of the region.
If the Allocation has Vec3 Elements and AutoPadding
is disabled, then the size of the array in bytes must be at least the size
of the region. The padding bytes for the cells must be part of the array.
If the Allocation has Vec3 Elements and AutoPadding
is enabled, then the size of the array in bytes must be at least 3/4 the size
of the region. The padding bytes for the cells must not be part of the array.
Parameters | |
---|---|
off |
int : The offset of the first element to be copied. |
count |
int : The number of elements to be copied. |
d |
byte : the source array |
copy1DRangeFromUnchecked
public void copy1DRangeFromUnchecked (int off, int count, short[] d)
Copy an array into a 1D region of this Allocation. This method does not guarantee that the Allocation is compatible with the input buffer.
The size of the region is: count * getElement()
.Element.getBytesSize()
.
If the Allocation does not have Vec3 Elements, then the size of the array in bytes must be at least the size of the region.
If the Allocation has Vec3 Elements and AutoPadding
is disabled, then the size of the array in bytes must be at least the size
of the region. The padding bytes for the cells must be part of the array.
If the Allocation has Vec3 Elements and AutoPadding
is enabled, then the size of the array in bytes must be at least 3/4 the size
of the region. The padding bytes for the cells must not be part of the array.
Parameters | |
---|---|
off |
int : The offset of the first element to be copied. |
count |
int : The number of elements to be copied. |
d |
short : the source array |
copy1DRangeFromUnchecked
public void copy1DRangeFromUnchecked (int off, int count, Object array)
Copy an array into a 1D region of this Allocation. This method does not guarantee that the Allocation is compatible with the input buffer.
The size of the region is: count * getElement()
.Element.getBytesSize()
.
If the Allocation does not have Vec3 Elements, then the size of the array in bytes must be at least the size of the region.
If the Allocation has Vec3 Elements and AutoPadding
is disabled, then the size of the array in bytes must be at least the size
of the region. The padding bytes for the cells must be part of the array.
If the Allocation has Vec3 Elements and AutoPadding
is enabled, then the size of the array in bytes must be at least 3/4 the size
of the region. The padding bytes for the cells must not be part of the array.
Parameters | |
---|---|
off |
int : The offset of the first element to be copied. |
count |
int : The number of elements to be copied. |
array |
Object : The source array |
copy1DRangeFromUnchecked
public void copy1DRangeFromUnchecked (int off, int count, int[] d)
Copy an array into a 1D region of this Allocation. This method does not guarantee that the Allocation is compatible with the input buffer.
The size of the region is: count * getElement()
.Element.getBytesSize()
.
If the Allocation does not have Vec3 Elements, then the size of the array in bytes must be at least the size of the region.
If the Allocation has Vec3 Elements and AutoPadding
is disabled, then the size of the array in bytes must be at least the size
of the region. The padding bytes for the cells must be part of the array.
If the Allocation has Vec3 Elements and AutoPadding
is enabled, then the size of the array in bytes must be at least 3/4 the size
of the region. The padding bytes for the cells must not be part of the array.
Parameters | |
---|---|
off |
int : The offset of the first element to be copied. |
count |
int : The number of elements to be copied. |
d |
int : the source array |
copy1DRangeFromUnchecked
public void copy1DRangeFromUnchecked (int off, int count, float[] d)
Copy an array into a 1D region of this Allocation. This method does not guarantee that the Allocation is compatible with the input buffer.
The size of the region is: count * getElement()
.Element.getBytesSize()
.
If the Allocation does not have Vec3 Elements, then the size of the array in bytes must be at least the size of the region.
If the Allocation has Vec3 Elements and AutoPadding
is disabled, then the size of the array in bytes must be at least the size
of the region. The padding bytes for the cells must be part of the array.
If the Allocation has Vec3 Elements and AutoPadding
is enabled, then the size of the array in bytes must be at least 3/4 the size
of the region. The padding bytes for the cells must not be part of the array.
Parameters | |
---|---|
off |
int : The offset of the first element to be copied. |
count |
int : The number of elements to be copied. |
d |
float : the source array |
copy1DRangeTo
public void copy1DRangeTo (int off, int count, short[] d)
Copy a 1D region of this Allocation into an array. This variant is type checked
and will generate exceptions if the Allocation's Element
is neither a 16 bit integer nor a vector of 16 bit
integers Element.DataType
.
The size of the region is: count * getElement()
.Element.getBytesSize()
.
If the Allocation does not have Vec3 Elements, then the size of the array in bytes must be at least the size of the region.
If the Allocation has Vec3 Elements and AutoPadding
is disabled, then the size of the array in bytes must be at least the size
of the region. The padding bytes for the cells must be part of the array.
If the Allocation has Vec3 Elements and AutoPadding
is enabled, then the size of the array in bytes must be at least 3/4 the size
of the region. The padding bytes for the cells must not be part of the array.
Parameters | |
---|---|
off |
int : The offset of the first element to be copied. |
count |
int : The number of elements to be copied. |
d |
short : the source array |
copy1DRangeTo
public void copy1DRangeTo (int off, int count, Object array)
Copy a 1D region of this Allocation into an array. This method is type checked
and will generate exceptions if the Allocation's Element
does not match the component type
of the array passed in.
The size of the region is: count * getElement()
.Element.getBytesSize()
.
If the Allocation does not have Vec3 Elements, then the size of the array in bytes must be at least the size of the region.
If the Allocation has Vec3 Elements and AutoPadding
is disabled, then the size of the array in bytes must be at least the size
of the region. The padding bytes for the cells must be part of the array.
If the Allocation has Vec3 Elements and AutoPadding
is enabled, then the size of the array in bytes must be at least 3/4 the size
of the region. The padding bytes for the cells must not be part of the array.
Parameters | |
---|---|
off |
int : The offset of the first element to be copied. |
count |
int : The number of elements to be copied. |
array |
Object : The source array. |
copy1DRangeTo
public void copy1DRangeTo (int off, int count, int[] d)
Copy a 1D region of this Allocation into an array. This variant is type checked
and will generate exceptions if the Allocation's Element
is neither a 32 bit integer nor a vector of 32 bit
integers Element.DataType
.
The size of the region is: count * getElement()
.Element.getBytesSize()
.
If the Allocation does not have Vec3 Elements, then the size of the array in bytes must be at least the size of the region.
If the Allocation has Vec3 Elements and AutoPadding
is disabled, then the size of the array in bytes must be at least the size
of the region. The padding bytes for the cells must be part of the array.
If the Allocation has Vec3 Elements and AutoPadding
is enabled, then the size of the array in bytes must be at least 3/4 the size
of the region. The padding bytes for the cells must not be part of the array.
Parameters | |
---|---|
off |
int : The offset of the first element to be copied. |
count |
int : The number of elements to be copied. |
d |
int : the source array |
copy1DRangeTo
public void copy1DRangeTo (int off, int count, float[] d)
Copy a 1D region of this Allocation into an array. This variant is type checked
and will generate exceptions if the Allocation's Element
is neither a 32 bit float nor a vector of
32 bit floats Element.DataType
.
The size of the region is: count * getElement()
.Element.getBytesSize()
.
If the Allocation does not have Vec3 Elements, then the size of the array in bytes must be at least the size of the region.
If the Allocation has Vec3 Elements and AutoPadding
is disabled, then the size of the array in bytes must be at least the size
of the region. The padding bytes for the cells must be part of the array.
If the Allocation has Vec3 Elements and AutoPadding
is enabled, then the size of the array in bytes must be at least 3/4 the size
of the region. The padding bytes for the cells must not be part of the array.
Parameters | |
---|---|
off |
int : The offset of the first element to be copied. |
count |
int : The number of elements to be copied. |
d |
float : the source array. |
copy1DRangeTo
public void copy1DRangeTo (int off, int count, byte[] d)
Copy a 1D region of this Allocation into an array. This variant is type checked
and will generate exceptions if the Allocation's Element
is neither an 8 bit integer nor a vector of 8 bit
integers Element.DataType
.
The size of the region is: count * getElement()
.Element.getBytesSize()
.
If the Allocation does not have Vec3 Elements, then the size of the array in bytes must be at least the size of the region.
If the Allocation has Vec3 Elements and AutoPadding
is disabled, then the size of the array in bytes must be at least the size
of the region. The padding bytes for the cells must be part of the array.
If the Allocation has Vec3 Elements and AutoPadding
is enabled, then the size of the array in bytes must be at least 3/4 the size
of the region. The padding bytes for the cells must not be part of the array.
Parameters | |
---|---|
off |
int : The offset of the first element to be copied. |
count |
int : The number of elements to be copied. |
d |
byte : the source array |
copy1DRangeToUnchecked
public void copy1DRangeToUnchecked (int off, int count, byte[] d)
Copy a 1D region of this Allocation into an array. This method does not guarantee that the Allocation is compatible with the input buffer.
The size of the region is: count * getElement()
.Element.getBytesSize()
.
If the Allocation does not have Vec3 Elements, then the size of the array in bytes must be at least the size of the region.
If the Allocation has Vec3 Elements and AutoPadding
is disabled, then the size of the array in bytes must be at least the size
of the region. The padding bytes for the cells must be part of the array.
If the Allocation has Vec3 Elements and AutoPadding
is enabled, then the size of the array in bytes must be at least 3/4 the size
of the region. The padding bytes for the cells must not be part of the array.
Parameters | |
---|---|
off |
int : The offset of the first element to be copied. |
count |
int : The number of elements to be copied. |
d |
byte : the source array |
copy1DRangeToUnchecked
public void copy1DRangeToUnchecked (int off, int count, short[] d)
Copy a 1D region of this Allocation into an array. This method does not guarantee that the Allocation is compatible with the input buffer.
The size of the region is: count * getElement()
.Element.getBytesSize()
.
If the Allocation does not have Vec3 Elements, then the size of the array in bytes must be at least the size of the region.
If the Allocation has Vec3 Elements and AutoPadding
is disabled, then the size of the array in bytes must be at least the size
of the region. The padding bytes for the cells must be part of the array.
If the Allocation has Vec3 Elements and AutoPadding
is enabled, then the size of the array in bytes must be at least 3/4 the size
of the region. The padding bytes for the cells must not be part of the array.
Parameters | |
---|---|
off |
int : The offset of the first element to be copied. |
count |
int : The number of elements to be copied. |
d |
short : the source array |
copy1DRangeToUnchecked
public void copy1DRangeToUnchecked (int off, int count, Object array)
Copy a 1D region of this Allocation into an array. This method does not guarantee that the Allocation is compatible with the input buffer.
The size of the region is: count * getElement()
.Element.getBytesSize()
.
If the Allocation does not have Vec3 Elements, then the size of the array in bytes must be at least the size of the region.
If the Allocation has Vec3 Elements and AutoPadding
is disabled, then the size of the array in bytes must be at least the size
of the region. The padding bytes for the cells must be part of the array.
If the Allocation has Vec3 Elements and AutoPadding
is enabled, then the size of the array in bytes must be at least 3/4 the size
of the region. The padding bytes for the cells must not be part of the array.
Parameters | |
---|---|
off |
int : The offset of the first element to be copied. |
count |
int : The number of elements to be copied. |
array |
Object : The dest array |
copy1DRangeToUnchecked
public void copy1DRangeToUnchecked (int off, int count, int[] d)
Copy a 1D region of this Allocation into an array. This method does not guarantee that the Allocation is compatible with the input buffer.
The size of the region is: count * getElement()
.Element.getBytesSize()
.
If the Allocation does not have Vec3 Elements, then the size of the array in bytes must be at least the size of the region.
If the Allocation has Vec3 Elements and AutoPadding
is disabled, then the size of the array in bytes must be at least the size
of the region. The padding bytes for the cells must be part of the array.
If the Allocation has Vec3 Elements and AutoPadding
is enabled, then the size of the array in bytes must be at least 3/4 the size
of the region. The padding bytes for the cells must not be part of the array.
Parameters | |
---|---|
off |
int : The offset of the first element to be copied. |
count |
int : The number of elements to be copied. |
d |
int : the source array |
copy1DRangeToUnchecked
public void copy1DRangeToUnchecked (int off, int count, float[] d)
Copy a 1D region of this Allocation into an array. This method does not guarantee that the Allocation is compatible with the input buffer.
The size of the region is: count * getElement()
.Element.getBytesSize()
.
If the Allocation does not have Vec3 Elements, then the size of the array in bytes must be at least the size of the region.
If the Allocation has Vec3 Elements and AutoPadding
is disabled, then the size of the array in bytes must be at least the size
of the region. The padding bytes for the cells must be part of the array.
If the Allocation has Vec3 Elements and AutoPadding
is enabled, then the size of the array in bytes must be at least 3/4 the size
of the region. The padding bytes for the cells must not be part of the array.
Parameters | |
---|---|
off |
int : The offset of the first element to be copied. |
count |
int : The number of elements to be copied. |
d |
float : the source array |
copy2DRangeFrom
public void copy2DRangeFrom (int xoff, int yoff, int w, int h, Allocation data, int dataXoff, int dataYoff)
Copy a rectangular region from an Allocation into a rectangular region in this Allocation.
Parameters | |
---|---|
xoff |
int : X offset of the region in this Allocation |
yoff |
int : Y offset of the region in this Allocation |
w |
int : Width of the region to update. |
h |
int : Height of the region to update. |
data |
Allocation : source Allocation. |
dataXoff |
int : X offset in source Allocation |
dataYoff |
int : Y offset in source Allocation |
copy2DRangeFrom
public void copy2DRangeFrom (int xoff, int yoff, Bitmap data)
Copy a Bitmap
into an Allocation. The height
and width of the update will use the height and width of the Bitmap
.
Parameters | |
---|---|
xoff |
int : X offset of the region to update in this Allocation |
yoff |
int : Y offset of the region to update in this Allocation |
data |
Bitmap : the Bitmap to be copied |
copy2DRangeFrom
public void copy2DRangeFrom (int xoff, int yoff, int w, int h, byte[] data)
Copy from an array into a rectangular region in this Allocation. The
array is assumed to be tightly packed. This variant is type checked
and will generate exceptions if the Allocation's Element
is not an 8 bit integer nor a vector of 8 bit
integers Element.DataType
.
The size of the region is: w * h * getElement()
.Element.getBytesSize()
.
If the Allocation does not have Vec3 Elements, then the size of the array in bytes must be at least the size of the region.
If the Allocation has Vec3 Elements and AutoPadding
is disabled, then the size of the array in bytes must be at least the size
of the region. The padding bytes for the cells must be part of the array.
If the Allocation has Vec3 Elements and AutoPadding
is enabled, then the size of the array in bytes must be at least 3/4 the size
of the region. The padding bytes for the cells must not be part of the array.
Parameters | |
---|---|
xoff |
int : X offset of the region to update in this Allocation |
yoff |
int : Y offset of the region to update in this Allocation |
w |
int : Width of the region to update |
h |
int : Height of the region to update |
data |
byte : to be placed into the Allocation |
copy2DRangeFrom
public void copy2DRangeFrom (int xoff, int yoff, int w, int h, Object array)
Copy from an array into a rectangular region in this Allocation. The
array is assumed to be tightly packed. This variant is type checked
and will generate exceptions if the Allocation's Element
does not match the input data type.
The size of the region is: w * h * getElement()
.Element.getBytesSize()
.
If the Allocation does not have Vec3 Elements, then the size of the array in bytes must be at least the size of the region.
If the Allocation has Vec3 Elements and AutoPadding
is disabled, then the size of the array in bytes must be at least the size
of the region. The padding bytes for the cells must be part of the array.
If the Allocation has Vec3 Elements and AutoPadding
is enabled, then the size of the array in bytes must be at least 3/4 the size
of the region. The padding bytes for the cells must not be part of the array.
Parameters | |
---|---|
xoff |
int : X offset of the region to update in this Allocation |
yoff |
int : Y offset of the region to update in this Allocation |
w |
int : Width of the region to update |
h |
int : Height of the region to update |
array |
Object : Data to be placed into the Allocation |
copy2DRangeFrom
public void copy2DRangeFrom (int xoff, int yoff, int w, int h, int[] data)
Copy from an array into a rectangular region in this Allocation. The
array is assumed to be tightly packed. This variant is type checked
and will generate exceptions if the Allocation's Element
is not a 32 bit integer nor a vector of 32 bit
integers Element.DataType
.
The size of the region is: w * h * getElement()
.Element.getBytesSize()
.
If the Allocation does not have Vec3 Elements, then the size of the array in bytes must be at least the size of the region.
If the Allocation has Vec3 Elements and AutoPadding
is disabled, then the size of the array in bytes must be at least the size
of the region. The padding bytes for the cells must be part of the array.
If the Allocation has Vec3 Elements and AutoPadding
is enabled, then the size of the array in bytes must be at least 3/4 the size
of the region. The padding bytes for the cells must not be part of the array.
Parameters | |
---|---|
xoff |
int : X offset of the region to update in this Allocation |
yoff |
int : Y offset of the region to update in this Allocation |
w |
int : Width of the region to update |
h |
int : Height of the region to update |
data |
int : to be placed into the Allocation |
copy2DRangeFrom
public void copy2DRangeFrom (int xoff, int yoff, int w, int h, float[] data)
Copy from an array into a rectangular region in this Allocation. The
array is assumed to be tightly packed. This variant is type checked
and will generate exceptions if the Allocation's Element
is neither a 32 bit float nor a vector of
32 bit floats Element.DataType
.
The size of the region is: w * h * getElement()
.Element.getBytesSize()
.
If the Allocation does not have Vec3 Elements, then the size of the array in bytes must be at least the size of the region.
If the Allocation has Vec3 Elements and AutoPadding
is disabled, then the size of the array in bytes must be at least the size
of the region. The padding bytes for the cells must be part of the array.
If the Allocation has Vec3 Elements and AutoPadding
is enabled, then the size of the array in bytes must be at least 3/4 the size
of the region. The padding bytes for the cells must not be part of the array.
Parameters | |
---|---|
xoff |
int : X offset of the region to update in this Allocation |
yoff |
int : Y offset of the region to update in this Allocation |
w |
int : Width of the region to update |
h |
int : Height of the region to update |
data |
float : to be placed into the Allocation |
copy2DRangeFrom
public void copy2DRangeFrom (int xoff, int yoff, int w, int h, short[] data)
Copy from an array into a rectangular region in this Allocation. The
array is assumed to be tightly packed. This variant is type checked
and will generate exceptions if the Allocation's Element
is not a 16 bit integer nor a vector of 16 bit
integers Element.DataType
.
The size of the region is: w * h * getElement()
.Element.getBytesSize()
.
If the Allocation does not have Vec3 Elements, then the size of the array in bytes must be at least the size of the region.
If the Allocation has Vec3 Elements and AutoPadding
is disabled, then the size of the array in bytes must be at least the size
of the region. The padding bytes for the cells must be part of the array.
If the Allocation has Vec3 Elements and AutoPadding
is enabled, then the size of the array in bytes must be at least 3/4 the size
of the region. The padding bytes for the cells must not be part of the array.
Parameters | |
---|---|
xoff |
int : X offset of the region to update in this Allocation |
yoff |
int : Y offset of the region to update in this Allocation |
w |
int : Width of the region to update |
h |
int : Height of the region to update |
data |
short : to be placed into the Allocation |
copy2DRangeTo
public void copy2DRangeTo (int xoff, int yoff, int w, int h, short[] data)
Copy from a rectangular region in this Allocation into an array. This
variant is type checked and will generate exceptions if the Allocation's
Element
is neither a 16 bit integer nor a vector
of 16 bit integers Element.DataType
.
The size of the region is: w * h * getElement()
.Element.getBytesSize()
.
If the Allocation does not have Vec3 Elements, then the size of the array in bytes must be at least the size of the region.
If the Allocation has Vec3 Elements and AutoPadding
is disabled, then the size of the array in bytes must be at least the size
of the region. The padding bytes for the cells must be part of the array.
If the Allocation has Vec3 Elements and AutoPadding
is enabled, then the size of the array in bytes must be at least 3/4 the size
of the region. The padding bytes for the cells must not be part of the array.
Parameters | |
---|---|
xoff |
int : X offset of the region to copy in this Allocation |
yoff |
int : Y offset of the region to copy in this Allocation |
w |
int : Width of the region to copy |
h |
int : Height of the region to copy |
data |
short : Dest Array to be copied into |
copy2DRangeTo
public void copy2DRangeTo (int xoff, int yoff, int w, int h, byte[] data)
Copy from a rectangular region in this Allocation into an array. This
variant is type checked and will generate exceptions if the Allocation's
Element
is neither an 8 bit integer nor a vector
of 8 bit integers Element.DataType
.
The size of the region is: w * h * getElement()
.Element.getBytesSize()
.
If the Allocation does not have Vec3 Elements, then the size of the array in bytes must be at least the size of the region.
If the Allocation has Vec3 Elements and AutoPadding
is disabled, then the size of the array in bytes must be at least the size
of the region. The padding bytes for the cells must be part of the array.
If the Allocation has Vec3 Elements and AutoPadding
is enabled, then the size of the array in bytes must be at least 3/4 the size
of the region. The padding bytes for the cells must not be part of the array.
Parameters | |
---|---|
xoff |
int : X offset of the region to copy in this Allocation |
yoff |
int : Y offset of the region to copy in this Allocation |
w |
int : Width of the region to copy |
h |
int : Height of the region to copy |
data |
byte : Dest Array to be copied into |
copy2DRangeTo
public void copy2DRangeTo (int xoff, int yoff, int w, int h, Object array)
Copy from a rectangular region in this Allocation into an array. This
method is type checked and will generate exceptions if the Allocation's
Element
does not match the component type
of the array passed in.
The size of the region is: w * h * getElement()
.Element.getBytesSize()
.
If the Allocation does not have Vec3 Elements, then the size of the array in bytes must be at least the size of the region.
If the Allocation has Vec3 Elements and AutoPadding
is disabled, then the size of the array in bytes must be at least the size
of the region. The padding bytes for the cells must be part of the array.
If the Allocation has Vec3 Elements and AutoPadding
is enabled, then the size of the array in bytes must be at least 3/4 the size
of the region. The padding bytes for the cells must not be part of the array.
Parameters | |
---|---|
xoff |
int : X offset of the region to copy in this Allocation |
yoff |
int : Y offset of the region to copy in this Allocation |
w |
int : Width of the region to copy |
h |
int : Height of the region to copy |
array |
Object : Dest Array to be copied into |
copy2DRangeTo
public void copy2DRangeTo (int xoff, int yoff, int w, int h, float[] data)
Copy from a rectangular region in this Allocation into an array. This
variant is type checked and will generate exceptions if the Allocation's
Element
is neither a 32 bit float nor a vector
of 32 bit floats Element.DataType
.
The size of the region is: w * h * getElement()
.Element.getBytesSize()
.
If the Allocation does not have Vec3 Elements, then the size of the array in bytes must be at least the size of the region.
If the Allocation has Vec3 Elements and AutoPadding
is disabled, then the size of the array in bytes must be at least the size
of the region. The padding bytes for the cells must be part of the array.
If the Allocation has Vec3 Elements and AutoPadding
is enabled, then the size of the array in bytes must be at least 3/4 the size
of the region. The padding bytes for the cells must not be part of the array.
Parameters | |
---|---|
xoff |
int : X offset of the region to copy in this Allocation |
yoff |
int : Y offset of the region to copy in this Allocation |
w |
int : Width of the region to copy |
h |
int : Height of the region to copy |
data |
float : Dest Array to be copied into |
copy2DRangeTo
public void copy2DRangeTo (int xoff, int yoff, int w, int h, int[] data)
Copy from a rectangular region in this Allocation into an array. This
variant is type checked and will generate exceptions if the Allocation's
Element
is neither a 32 bit integer nor a vector
of 32 bit integers Element.DataType
.
The size of the region is: w * h * getElement()
.Element.getBytesSize()
.
If the Allocation does not have Vec3 Elements, then the size of the array in bytes must be at least the size of the region.
If the Allocation has Vec3 Elements and AutoPadding
is disabled, then the size of the array in bytes must be at least the size
of the region. The padding bytes for the cells must be part of the array.
If the Allocation has Vec3 Elements and AutoPadding
is enabled, then the size of the array in bytes must be at least 3/4 the size
of the region. The padding bytes for the cells must not be part of the array.
Parameters | |
---|---|
xoff |
int : X offset of the region to copy in this Allocation |
yoff |
int : Y offset of the region to copy in this Allocation |
w |
int : Width of the region to copy |
h |
int : Height of the region to copy |
data |
int : Dest Array to be copied into |
copy3DRangeFrom
public void copy3DRangeFrom (int xoff, int yoff, int zoff, int w, int h, int d, Allocation data, int dataXoff, int dataYoff, int dataZoff)
Copy a rectangular region into the allocation from another allocation.
Parameters | |
---|---|
xoff |
int : X offset of the region to update in this Allocation |
yoff |
int : Y offset of the region to update in this Allocation |
zoff |
int : Z offset of the region to update in this Allocation |
w |
int : Width of the region to update. |
h |
int : Height of the region to update. |
d |
int : Depth of the region to update. |
data |
Allocation : source allocation. |
dataXoff |
int : X offset of the region in the source Allocation |
dataYoff |
int : Y offset of the region in the source Allocation |
dataZoff |
int : Z offset of the region in the source Allocation |
copy3DRangeFrom
public void copy3DRangeFrom (int xoff, int yoff, int zoff, int w, int h, int d, Object array)
Copy from an array into a 3D region in this Allocation. The
array is assumed to be tightly packed. This variant is type checked
and will generate exceptions if the Allocation's Element
does not match the input data type.
The size of the region is: w * h * d * getElement()
.Element.getBytesSize()
.
If the Allocation does not have Vec3 Elements, then the size of the array in bytes must be at least the size of the region.
If the Allocation has Vec3 Elements and AutoPadding
is disabled, then the size of the array in bytes must be at least the size
of the region. The padding bytes for the cells must be part of the array.
If the Allocation has Vec3 Elements and AutoPadding
is enabled, then the size of the array in bytes must be at least 3/4 the size
of the region. The padding bytes for the cells must not be part of the array.
Parameters | |
---|---|
xoff |
int : X offset of the region to update in this Allocation |
yoff |
int : Y offset of the region to update in this Allocation |
zoff |
int : Z offset of the region to update in this Allocation |
w |
int : Width of the region to update |
h |
int : Height of the region to update |
d |
int : Depth of the region to update |
array |
Object : to be placed into the allocation |
copy3DRangeTo
public void copy3DRangeTo (int xoff, int yoff, int zoff, int w, int h, int d, Object array)
Parameters | |
---|---|
xoff |
int |
yoff |
int |
zoff |
int |
w |
int |
h |
int |
d |
int |
array |
Object |
copyFrom
public void copyFrom (Bitmap b)
Copy into an Allocation from a Bitmap
. The
height, width, and format of the bitmap must match the existing
allocation.
If the Bitmap
is the same as the Bitmap
used to create the Allocation with createFromBitmap(RenderScript, Bitmap)
and USAGE_SHARED
is set on the Allocation,
this will synchronize the Allocation with the latest data from the Bitmap
, potentially avoiding the actual copy.
Parameters | |
---|---|
b |
Bitmap : the source bitmap |
copyFrom
public void copyFrom (short[] d)
Copy into this Allocation from an array. This variant is type checked
and will generate exceptions if the Allocation's Element
is not a 16 bit integer nor a vector of 16 bit
integers Element.DataType
.
If the Allocation does not have Vec3 Elements, then the size of the
array in bytes must be at least the size of the Allocation getBytesSize()
.
If the Allocation has Vec3 Elements and AutoPadding
is disabled, then the size of the array in bytes must be at least the size
of the Allocation getBytesSize()
. The padding bytes for
the cells must be part of the array.
If the Allocation has Vec3 Elements and AutoPadding
is enabled, then the size of the array in bytes must be at least 3/4 the size
of the Allocation getBytesSize()
. The padding bytes for
the cells must not be part of the array.
Parameters | |
---|---|
d |
short : the source array |
copyFrom
public void copyFrom (int[] d)
Copy into this Allocation from an array. This variant is type checked
and will generate exceptions if the Allocation's Element
is not a 32 bit integer nor a vector of 32 bit
integers Element.DataType
.
If the Allocation does not have Vec3 Elements, then the size of the
array in bytes must be at least the size of the Allocation getBytesSize()
.
If the Allocation has Vec3 Elements and AutoPadding
is disabled, then the size of the array in bytes must be at least the size
of the Allocation getBytesSize()
. The padding bytes for
the cells must be part of the array.
If the Allocation has Vec3 Elements and AutoPadding
is enabled, then the size of the array in bytes must be at least 3/4 the size
of the Allocation getBytesSize()
. The padding bytes for
the cells must not be part of the array.
Parameters | |
---|---|
d |
int : the source array |
copyFrom
public void copyFrom (BaseObj[] d)
Copy an array of RS objects to the Allocation.
Parameters | |
---|---|
d |
BaseObj : Source array. |
copyFrom
public void copyFrom (byte[] d)
Copy into this Allocation from an array. This variant is type checked
and will generate exceptions if the Allocation's Element
is not an 8 bit integer nor a vector of 8 bit
integers Element.DataType
.
If the Allocation does not have Vec3 Elements, then the size of the
array in bytes must be at least the size of the Allocation getBytesSize()
.
If the Allocation has Vec3 Elements and AutoPadding
is disabled, then the size of the array in bytes must be at least the size
of the Allocation getBytesSize()
. The padding bytes for
the cells must be part of the array.
If the Allocation has Vec3 Elements and AutoPadding
is enabled, then the size of the array in bytes must be at least 3/4 the size
of the Allocation getBytesSize()
. The padding bytes for
the cells must not be part of the array.
Parameters | |
---|---|
d |
byte : the source array |
copyFrom
public void copyFrom (float[] d)
Copy into this Allocation from an array. This variant is type checked
and will generate exceptions if the Allocation's Element
is neither a 32 bit float nor a vector of
32 bit floats Element.DataType
.
If the Allocation does not have Vec3 Elements, then the size of the
array in bytes must be at least the size of the Allocation getBytesSize()
.
If the Allocation has Vec3 Elements and AutoPadding
is disabled, then the size of the array in bytes must be at least the size
of the Allocation getBytesSize()
. The padding bytes for
the cells must be part of the array.
If the Allocation has Vec3 Elements and AutoPadding
is enabled, then the size of the array in bytes must be at least 3/4 the size
of the Allocation getBytesSize()
. The padding bytes for
the cells must not be part of the array.
Parameters | |
---|---|
d |
float : the source array |
copyFrom
public void copyFrom (Allocation a)
Copy an Allocation from an Allocation. The types of both allocations must be identical.
Parameters | |
---|---|
a |
Allocation : the source allocation |
copyFrom
public void copyFrom (Object array)
Copy into this Allocation from an array. This variant is type checked
and will generate exceptions if the Allocation's Element
does not match the array's
primitive type.
If the Allocation does not have Vec3 Elements, then the size of the
array in bytes must be at least the size of the Allocation getBytesSize()
.
If the Allocation has Vec3 Elements and AutoPadding
is disabled, then the size of the array in bytes must be at least the size
of the Allocation getBytesSize()
. The padding bytes for
the cells must be part of the array.
If the Allocation has Vec3 Elements and AutoPadding
is enabled, then the size of the array in bytes must be at least 3/4 the size
of the Allocation getBytesSize()
. The padding bytes for
the cells must not be part of the array.
Parameters | |
---|---|
array |
Object : The source array |
copyFromUnchecked
public void copyFromUnchecked (float[] d)
Copy into this Allocation from an array. This method does not guarantee that the Allocation is compatible with the input buffer; it copies memory without reinterpretation.
If the Allocation does not have Vec3 Elements, then the size of the
array in bytes must be at least the size of the Allocation getBytesSize()
.
If the Allocation has Vec3 Elements and AutoPadding
is disabled, then the size of the array in bytes must be at least the size
of the Allocation getBytesSize()
. The padding bytes for
the cells must be part of the array.
If the Allocation has Vec3 Elements and AutoPadding
is enabled, then the size of the array in bytes must be at least 3/4 the size
of the Allocation getBytesSize()
. The padding bytes for
the cells must not be part of the array.
Parameters | |
---|---|
d |
float : the source array |
copyFromUnchecked
public void copyFromUnchecked (Object array)
Copy into this Allocation from an array. This method does not guarantee that the Allocation is compatible with the input buffer; it copies memory without reinterpretation.
If the Allocation does not have Vec3 Elements, then the size of the
array in bytes must be at least the size of the Allocation getBytesSize()
.
If the Allocation has Vec3 Elements and AutoPadding
is disabled, then the size of the array in bytes must be at least the size
of the Allocation getBytesSize()
. The padding bytes for
the cells must be part of the array.
If the Allocation has Vec3 Elements and AutoPadding
is enabled, then the size of the array in bytes must be at least 3/4 the size
of the Allocation getBytesSize()
. The padding bytes for
the cells must not be part of the array.
Parameters | |
---|---|
array |
Object : The source array |
copyFromUnchecked
public void copyFromUnchecked (short[] d)
Copy into this Allocation from an array. This method does not guarantee that the Allocation is compatible with the input buffer; it copies memory without reinterpretation.
If the Allocation does not have Vec3 Elements, then the size of the
array in bytes must be at least the size of the Allocation getBytesSize()
.
If the Allocation has Vec3 Elements and AutoPadding
is disabled, then the size of the array in bytes must be at least the size
of the Allocation getBytesSize()
. The padding bytes for
the cells must be part of the array.
If the Allocation has Vec3 Elements and AutoPadding
is enabled, then the size of the array in bytes must be at least 3/4 the size
of the Allocation getBytesSize()
. The padding bytes for
the cells must not be part of the array.
Parameters | |
---|---|
d |
short : the source array |
copyFromUnchecked
public void copyFromUnchecked (int[] d)
Copy into this Allocation from an array. This method does not guarantee that the Allocation is compatible with the input buffer; it copies memory without reinterpretation.
If the Allocation does not have Vec3 Elements, then the size of the
array in bytes must be at least the size of the Allocation getBytesSize()
.
If the Allocation has Vec3 Elements and AutoPadding
is disabled, then the size of the array in bytes must be at least the size
of the Allocation getBytesSize()
. The padding bytes for
the cells must be part of the array.
If the Allocation has Vec3 Elements and AutoPadding
is enabled, then the size of the array in bytes must be at least 3/4 the size
of the Allocation getBytesSize()
. The padding bytes for
the cells must not be part of the array.
Parameters | |
---|---|
d |
int : the source array |
copyFromUnchecked
public void copyFromUnchecked (byte[] d)
Copy into this Allocation from an array. This method does not guarantee that the Allocation is compatible with the input buffer; it copies memory without reinterpretation.
If the Allocation does not have Vec3 Elements, then the size of the
array in bytes must be at least the size of the Allocation getBytesSize()
.
If the Allocation has Vec3 Elements and AutoPadding
is disabled, then the size of the array in bytes must be at least the size
of the Allocation getBytesSize()
. The padding bytes for
the cells must be part of the array.
If the Allocation has Vec3 Elements and AutoPadding
is enabled, then the size of the array in bytes must be at least 3/4 the size
of the Allocation getBytesSize()
. The padding bytes for
the cells must not be part of the array.
Parameters | |
---|---|
d |
byte : the source array |
copyTo
public void copyTo (Bitmap b)
Copy from the Allocation into a Bitmap
. The
bitmap must match the dimensions of the Allocation.
Parameters | |
---|---|
b |
Bitmap : The bitmap to be set from the Allocation. |
copyTo
public void copyTo (short[] d)
Copy from the Allocation into a short array. This variant is type checked
and will generate exceptions if the Allocation's Element
is not a 16 bit integer nor a vector of 16 bit
integers Element.DataType
.
If the Allocation does not have Vec3 Elements, then the size of the
array in bytes must be at least the size of the Allocation getBytesSize()
.
If the Allocation has Vec3 Elements and AutoPadding
is disabled, then the size of the array in bytes must be at least the size
of the Allocation getBytesSize()
. The padding bytes for
the cells will be part of the array.
If the Allocation has Vec3 Elements and AutoPadding
is enabled, then the size of the array in bytes must be at least 3/4 the size
of the Allocation getBytesSize()
. The padding bytes for
the cells must not be part of the array.
Parameters | |
---|---|
d |
short : The array to be set from the Allocation. |
copyTo
public void copyTo (byte[] d)
Copy from the Allocation into a byte array. This variant is type checked
and will generate exceptions if the Allocation's Element
is neither an 8 bit integer nor a vector of 8 bit
integers Element.DataType
.
If the Allocation does not have Vec3 Elements, then the size of the
array in bytes must be at least the size of the Allocation getBytesSize()
.
If the Allocation has Vec3 Elements and AutoPadding
is disabled, then the size of the array in bytes must be at least the size
of the Allocation getBytesSize()
. The padding bytes for
the cells will be part of the array.
If the Allocation has Vec3 Elements and AutoPadding
is enabled, then the size of the array in bytes must be at least 3/4 the size
of the Allocation getBytesSize()
. The padding bytes for
the cells must not be part of the array.
Parameters | |
---|---|
d |
byte : The array to be set from the Allocation. |
copyTo
public void copyTo (float[] d)
Copy from the Allocation into a float array. This variant is type checked
and will generate exceptions if the Allocation's Element
is neither a 32 bit float nor a vector of
32 bit floats Element.DataType
.
If the Allocation does not have Vec3 Elements, then the size of the
array in bytes must be at least the size of the Allocation getBytesSize()
.
If the Allocation has Vec3 Elements and AutoPadding
is disabled, then the size of the array in bytes must be at least the size
of the Allocation getBytesSize()
. The padding bytes for
the cells will be part of the array.
If the Allocation has Vec3 Elements and AutoPadding
is enabled, then the size of the array in bytes must be at least 3/4 the size
of the Allocation getBytesSize()
. The padding bytes for
the cells must not be part of the array.
Parameters | |
---|---|
d |
float : The array to be set from the Allocation. |
copyTo
public void copyTo (int[] d)
Copy from the Allocation into a int array. This variant is type checked
and will generate exceptions if the Allocation's Element
is not a 32 bit integer nor a vector of 32 bit
integers Element.DataType
.
If the Allocation does not have Vec3 Elements, then the size of the
array in bytes must be at least the size of the Allocation getBytesSize()
.
If the Allocation has Vec3 Elements and AutoPadding
is disabled, then the size of the array in bytes must be at least the size
of the Allocation getBytesSize()
. The padding bytes for
the cells will be part of the array.
If the Allocation has Vec3 Elements and AutoPadding
is enabled, then the size of the array in bytes must be at least 3/4 the size
of the Allocation getBytesSize()
. The padding bytes for
the cells must not be part of the array.
Parameters | |
---|---|
d |
int : The array to be set from the Allocation. |
copyTo
public void copyTo (Object array)
Copy from the Allocation into an array. The method is type checked
and will generate exceptions if the Allocation's Element
does not match the input data type.
If the Allocation does not have Vec3 Elements, then the size of the
array in bytes must be at least the size of the Allocation getBytesSize()
.
If the Allocation has Vec3 Elements and AutoPadding
is disabled, then the size of the array in bytes must be at least the size
of the Allocation getBytesSize()
. The padding bytes for
the cells will be part of the array.
If the Allocation has Vec3 Elements and AutoPadding
is enabled, then the size of the array in bytes must be at least 3/4 the size
of the Allocation getBytesSize()
. The padding bytes for
the cells must not be part of the array.
Parameters | |
---|---|
array |
Object : The array to be set from the Allocation. |
createAllocations
public static Allocation[] createAllocations (RenderScript rs, Type t, int usage, int numAlloc)
Creates a new Allocation Array with the given Type
, and usage flags.
Note: If the input allocation is of usage: USAGE_IO_INPUT,
the created Allocation will be sharing the same BufferQueue.
Parameters | |
---|---|
rs |
RenderScript : RenderScript context |
t |
Type : RenderScript type describing data layout |
usage |
int : bit field specifying how the Allocation is
utilized |
numAlloc |
int : Number of Allocations in the array. |
Returns | |
---|---|
Allocation[] |
Allocation[] |
createCubemapFromBitmap
public static Allocation createCubemapFromBitmap (RenderScript rs, Bitmap b, Allocation.MipmapControl mips, int usage)
Creates a cubemap Allocation from a Bitmap
containing the horizontal list of cube faces. Each face must be a square,
have the same size as all other faces, and have a width that is a power
of 2.
Parameters | |
---|---|
rs |
RenderScript : Context to which the allocation will belong. |
b |
Bitmap : Bitmap with cubemap faces layed out in the following
format: right, left, top, bottom, front, back |
mips |
Allocation.MipmapControl : specifies desired mipmap behaviour for the cubemap |
usage |
int : bit field specifying how the cubemap is utilized |
Returns | |
---|---|
Allocation |
allocation containing cubemap data |
createCubemapFromBitmap
public static Allocation createCubemapFromBitmap (RenderScript rs, Bitmap b)
Creates a non-mipmapped cubemap Allocation for use as a graphics texture
from a Bitmap
containing the horizontal list of
cube faces. Each face must be a square, have the same size as all other
faces, and have a width that is a power of 2.
Parameters | |
---|---|
rs |
RenderScript : Context to which the allocation will belong. |
b |
Bitmap : bitmap with cubemap faces layed out in the following
format: right, left, top, bottom, front, back |
Returns | |
---|---|
Allocation |
allocation containing cubemap data |
createCubemapFromCubeFaces
public static Allocation createCubemapFromCubeFaces (RenderScript rs, Bitmap xpos, Bitmap xneg, Bitmap ypos, Bitmap yneg, Bitmap zpos, Bitmap zneg)
Creates a non-mipmapped cubemap Allocation for use as a sampler input
from 6 Bitmap
objects containing the cube
faces. Each face must be a square, have the same size as all other faces,
and have a width that is a power of 2.
Parameters | |
---|---|
rs |
RenderScript : Context to which the allocation will belong. |
xpos |
Bitmap : cubemap face in the positive x direction |
xneg |
Bitmap : cubemap face in the negative x direction |
ypos |
Bitmap : cubemap face in the positive y direction |
yneg |
Bitmap : cubemap face in the negative y direction |
zpos |
Bitmap : cubemap face in the positive z direction |
zneg |
Bitmap : cubemap face in the negative z direction |
Returns | |
---|---|
Allocation |
allocation containing cubemap data |
createCubemapFromCubeFaces
public static Allocation createCubemapFromCubeFaces (RenderScript rs, Bitmap xpos, Bitmap xneg, Bitmap ypos, Bitmap yneg, Bitmap zpos, Bitmap zneg, Allocation.MipmapControl mips, int usage)
Creates a cubemap Allocation from 6 Bitmap
objects containing the cube faces. Each face must be a square, have the
same size as all other faces, and have a width that is a power of 2.
Parameters | |
---|---|
rs |
RenderScript : Context to which the allocation will belong. |
xpos |
Bitmap : cubemap face in the positive x direction |
xneg |
Bitmap : cubemap face in the negative x direction |
ypos |
Bitmap : cubemap face in the positive y direction |
yneg |
Bitmap : cubemap face in the negative y direction |
zpos |
Bitmap : cubemap face in the positive z direction |
zneg |
Bitmap : cubemap face in the negative z direction |
mips |
Allocation.MipmapControl : specifies desired mipmap behaviour for the cubemap |
usage |
int : bit field specifying how the cubemap is utilized |
Returns | |
---|---|
Allocation |
allocation containing cubemap data |
createFromBitmap
public static Allocation createFromBitmap (RenderScript rs, Bitmap b)
Creates an Allocation from a Bitmap
.
With target API version 18 or greater, this Allocation will be created
with USAGE_SHARED
, USAGE_SCRIPT
, and USAGE_GRAPHICS_TEXTURE
. With target API version 17 or lower, this
Allocation will be created with USAGE_GRAPHICS_TEXTURE
.
Parameters | |
---|---|
rs |
RenderScript : Context to which the allocation will belong. |
b |
Bitmap : bitmap source for the allocation data |
Returns | |
---|---|
Allocation |
Allocation containing bitmap data |
createFromBitmap
public static Allocation createFromBitmap (RenderScript rs, Bitmap b, Allocation.MipmapControl mips, int usage)
Creates an Allocation from a Bitmap
.
Parameters | |
---|---|
rs |
RenderScript : Context to which the allocation will belong. |
b |
Bitmap : Bitmap source for the allocation data |
mips |
Allocation.MipmapControl : specifies desired mipmap behaviour for the
allocation |
usage |
int : bit field specifying how the allocation is
utilized |
Returns | |
---|---|
Allocation |
Allocation containing bitmap data |
createFromBitmapResource
public static Allocation createFromBitmapResource (RenderScript rs, Resources res, int id, Allocation.MipmapControl mips, int usage)
Creates an Allocation from the Bitmap referenced by resource ID.
Parameters | |
---|---|
rs |
RenderScript : Context to which the allocation will belong. |
res |
Resources : application resources |
id |
int : resource id to load the data from |
mips |
Allocation.MipmapControl : specifies desired mipmap behaviour for the
allocation |
usage |
int : bit field specifying how the allocation is
utilized |
Returns | |
---|---|
Allocation |
Allocation containing resource data |
createFromBitmapResource
public static Allocation createFromBitmapResource (RenderScript rs, Resources res, int id)
Creates a non-mipmapped Allocation to use as a graphics texture from the
Bitmap
referenced by resource ID.
With target API version 18 or greater, this allocation will be created
with USAGE_SCRIPT
and USAGE_GRAPHICS_TEXTURE
. With
target API version 17 or lower, this allocation will be created with
USAGE_GRAPHICS_TEXTURE
.
Parameters | |
---|---|
rs |
RenderScript : Context to which the allocation will belong. |
res |
Resources : application resources |
id |
int : resource id to load the data from |
Returns | |
---|---|
Allocation |
Allocation containing resource data |
createFromString
public static Allocation createFromString (RenderScript rs, String str, int usage)
Creates an Allocation containing string data encoded in UTF-8 format.
Parameters | |
---|---|
rs |
RenderScript : Context to which the allocation will belong. |
str |
String : string to create the allocation from |
usage |
int : bit field specifying how the allocaiton is
utilized |
Returns | |
---|---|
Allocation |
createSized
public static Allocation createSized (RenderScript rs, Element e, int count)
Creates an Allocation with a specified number of given elements
Parameters | |
---|---|
rs |
RenderScript : Context to which the Allocation will belong. |
e |
Element : Element to use in the Allocation |
count |
int : the number of Elements in the Allocation |
Returns | |
---|---|
Allocation |
allocation |
createSized
public static Allocation createSized (RenderScript rs, Element e, int count, int usage)
Creates an Allocation with a specified number of given elements
Parameters | |
---|---|
rs |
RenderScript : Context to which the Allocation will belong. |
e |
Element : Element to use in the Allocation |
count |
int : the number of Elements in the Allocation |
usage |
int : bit field specifying how the Allocation is
utilized |
Returns | |
---|---|
Allocation |
allocation |
createTyped
public static Allocation createTyped (RenderScript rs, Type type, Allocation.MipmapControl mips, int usage)
Creates a new Allocation with the given Type
, mipmap flag, and usage flags.
Parameters | |
---|---|
rs |
RenderScript |
type |
Type : RenderScript type describing data layout |
mips |
Allocation.MipmapControl : specifies desired mipmap behaviour for the
allocation |
usage |
int : bit field specifying how the Allocation is
utilized |
Returns | |
---|---|
Allocation |
createTyped
public static Allocation createTyped (RenderScript rs, Type type)
Creates an Allocation for use by scripts with a given Type
and no mipmaps
Parameters | |
---|---|
rs |
RenderScript : Context to which the Allocation will belong. |
type |
Type : RenderScript Type describing data layout |
Returns | |
---|---|
Allocation |
allocation |
createTyped
public static Allocation createTyped (RenderScript rs, Type type, int usage)
Creates an Allocation with the size specified by the type and no mipmaps generated by default
Parameters | |
---|---|
rs |
RenderScript : Context to which the allocation will belong. |
type |
Type : renderscript type describing data layout |
usage |
int : bit field specifying how the allocation is
utilized |
Returns | |
---|---|
Allocation |
allocation |
destroy
public void destroy ()
For USAGE_IO_OUTPUT, destroy() implies setSurface(null).
generateMipmaps
public void generateMipmaps ()
Generate a mipmap chain. This is only valid if the Type of the Allocation includes mipmaps.
This function will generate a complete set of mipmaps from the top level LOD and place them into the script memory space.
If the Allocation is also using other memory spaces, a call to syncAll(Allocation.USAGE_SCRIPT)
is required.
getByteBuffer
public ByteBuffer getByteBuffer ()
Gets or creates a ByteBuffer that contains the raw data of the current Allocation.
If the Allocation is created with USAGE_IO_INPUT, the returned ByteBuffer
would contain the up-to-date data as READ ONLY.
For a 2D or 3D Allocation, the raw data maybe padded so that each row of
the Allocation has certain alignment. The size of each row including padding,
called stride, can be queried using the getStride()
method.
Note: Operating on the ByteBuffer of a destroyed Allocation will triger errors.
Returns | |
---|---|
ByteBuffer |
ByteBuffer The ByteBuffer associated with raw data pointer of the Allocation. |
getBytesSize
public int getBytesSize ()
Get the size of the Allocation in bytes.
Returns | |
---|---|
int |
size of the Allocation in bytes. |
getElement
public Element getElement ()
Get the Element
of the Type
of the Allocation.
Returns | |
---|---|
Element |
Element |
getStride
public long getStride ()
Gets the stride of the Allocation. For a 2D or 3D Allocation, the raw data maybe padded so that each row of the Allocation has certain alignment. The size of each row including such padding is called stride.
Returns | |
---|---|
long |
the stride. For 1D Allocation, the stride will be the number of bytes of this Allocation. For 2D and 3D Allocations, the stride will be the stride in X dimension measuring in bytes. |
getSurface
public Surface getSurface ()
Returns the handle to a raw buffer that is being managed by the screen
compositor. This operation is only valid for Allocations with USAGE_IO_INPUT
.
Returns | |
---|---|
Surface |
Surface object associated with allocation |
getTimeStamp
public long getTimeStamp ()
Get the timestamp for the most recent buffer held by this Allocation.
The timestamp is guaranteed to be unique and monotonically increasing.
Default value: -1. The timestamp will be updated after each ioReceive()
call.
It can be used to identify the images by comparing the unique timestamps
when used with android.hardware.camera2
APIs.
Example steps:
1. Save TotalCaptureResult
when the
capture is completed.
2. Get the timestamp after ioReceive()
call.
3. Comparing totalCaptureResult.get(CaptureResult.SENSOR_TIMESTAMP) with
alloc.getTimeStamp().
Returns | |
---|---|
long |
long Timestamp associated with the buffer held by the Allocation. |
getType
public Type getType ()
Get the Type
of the Allocation.
Returns | |
---|---|
Type |
Type |
getUsage
public int getUsage ()
Get the usage flags of the Allocation.
Returns | |
---|---|
int |
usage this Allocation's set of the USAGE_* flags OR'd together |
ioReceive
public void ioReceive ()
Receive the latest input into the Allocation. This operation
is only valid if USAGE_IO_INPUT
is set on the Allocation.
ioSend
public void ioSend ()
Send a buffer to the output stream. The contents of the Allocation will
be undefined after this operation. This operation is only valid if USAGE_IO_OUTPUT
is set on the Allocation.
resize
public void resize (int dimX)
This method was deprecated
in API level 18.
RenderScript objects should be immutable once created. The
replacement is to create a new allocation and copy the contents. This
function will throw an exception if API 21 or higher is used.
Resize a 1D allocation. The contents of the allocation are preserved. If new elements are allocated objects are created with null contents and the new region is otherwise undefined.
If the new region is smaller the references of any objects outside the new region will be released.
A new type will be created with the new dimension.
Parameters | |
---|---|
dimX |
int : The new size of the allocation. |
setAutoPadding
public void setAutoPadding (boolean useAutoPadding)
Specifies the mapping between the Allocation's cells and an array's elements
when data is copied from the Allocation to the array, or vice-versa.
Only applies to an Allocation whose Element is a vector of length 3 (such as
Element#U8_3
or Element#RGB_888
). Enabling this feature may make
copying data from the Allocation to an array or vice-versa less efficient.
Vec3 Element cells are stored in an Allocation as Vec4 Element cells with
the same Element.DataType
, with the fourth vector
component treated as padding. When this feature is enabled, only the data components,
i.e. the first 3 vector components of each cell, will be mapped between the array
and the Allocation. When disabled, explicit mapping of the padding components
is required, as described in the following example.
For example, when copying an integer array to an Allocation of two Element.I32_3(RenderScript)
cells using copyFrom(int[])
:
When disabled: The array must have at least 8 integers, with the first 4 integers copied to the first cell of the Allocation, and the next 4 integers copied to the second cell. The 4th and 8th integers are mapped as the padding components.
When enabled: The array just needs to have at least 6 integers, with the first 3 integers copied to the the first cell as data components, and the next 3 copied to the second cell. There is no mapping for the padding components.
Similarly, when copying a byte array to an Allocation of two Element.I32_3(RenderScript)
cells, using copyFromUnchecked(int[])
:
When disabled: The array must have at least 32 bytes, with the first 16 bytes copied to the first cell of the Allocation, and the next 16 bytes copied to the second cell. The 13th-16th and 29th-32nd bytes are mapped as padding components.
When enabled: The array just needs to have at least 24 bytes, with the first 12 bytes copied to the first cell of the Allocation, and the next 12 bytes copied to the second cell. There is no mapping for the padding components.
Similar to copying data to an Allocation from an array, when copying data from an Allocation to an array, the padding components for Vec3 Element cells will not be copied/mapped to the array if AutoPadding is enabled.
Default: Disabled.
Parameters | |
---|---|
useAutoPadding |
boolean : True: enable AutoPadding; False: disable AutoPadding |
setFromFieldPacker
public void setFromFieldPacker (int xoff, int component_number, FieldPacker fp)
This is only intended to be used by auto-generated code reflected from the RenderScript script files and should not be used by developers.
setFromFieldPacker
public void setFromFieldPacker (int xoff, FieldPacker fp)
This is only intended to be used by auto-generated code reflected from the RenderScript script files and should not be used by developers.
setFromFieldPacker
public void setFromFieldPacker (int xoff, int yoff, int zoff, int component_number, FieldPacker fp)
This is only intended to be used by auto-generated code reflected from the RenderScript script files and should not be used by developers.
setOnBufferAvailableListener
public void setOnBufferAvailableListener (Allocation.OnBufferAvailableListener callback)
Set a notification handler for USAGE_IO_INPUT
.
Parameters | |
---|---|
callback |
Allocation.OnBufferAvailableListener : instance of the OnBufferAvailableListener
class to be called when buffer arrive. |
setSurface
public void setSurface (Surface sur)
Associate a Surface
with this Allocation. This
operation is only valid for Allocations with USAGE_IO_OUTPUT
.
Parameters | |
---|---|
sur |
Surface : Surface to associate with allocation |
syncAll
public void syncAll (int srcLocation)
Propagate changes from one usage of the Allocation to the other usages of the Allocation.
Parameters | |
---|---|
srcLocation |
int |
Protected methods
finalize
protected void finalize ()
Called by the garbage collector on an object when garbage collection
determines that there are no more references to the object.
A subclass overrides the finalize
method to dispose of
system resources or to perform other cleanup.
The general contract of finalize
is that it is invoked
if and when the Java virtual
machine has determined that there is no longer any
means by which this object can be accessed by any thread that has
not yet died, except as a result of an action taken by the
finalization of some other object or class which is ready to be
finalized. The finalize
method may take any action, including
making this object available again to other threads; the usual purpose
of finalize
, however, is to perform cleanup actions before
the object is irrevocably discarded. For example, the finalize method
for an object that represents an input/output connection might perform
explicit I/O transactions to break the connection before the object is
permanently discarded.
The finalize
method of class Object
performs no
special action; it simply returns normally. Subclasses of
Object
may override this definition.
The Java programming language does not guarantee which thread will
invoke the finalize
method for any given object. It is
guaranteed, however, that the thread that invokes finalize will not
be holding any user-visible synchronization locks when finalize is
invoked. If an uncaught exception is thrown by the finalize method,
the exception is ignored and finalization of that object terminates.
After the finalize
method has been invoked for an object, no
further action is taken until the Java virtual machine has again
determined that there is no longer any means by which this object can
be accessed by any thread that has not yet died, including possible
actions by other objects or classes which are ready to be finalized,
at which point the object may be discarded.
The finalize
method is never invoked more than once by a Java
virtual machine for any given object.
Any exception thrown by the finalize
method causes
the finalization of this object to be halted, but is otherwise
ignored.
Throws | |
---|---|
Throwable |
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2024-04-04 UTC.