Html程序  |  1130行  |  59.18 KB

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>

<title>android::RSC::Allocation Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />



</head>
<body>
<div id="top"><!-- do not remove this div! -->


<!-- Generated by Doxygen 1.7.5.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Overview</span></a></li>
      <li class="current"><a href="annotated.html"><span>Structs</span></a></li>
    </ul>
  </div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><b>android</b>      </li>
      <li class="navelem"><b>RSC</b>      </li>
      <li class="navelem"><a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">android::RSC::Allocation Class Reference</div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="android::RSC::Allocation" --><!-- doxytag: inherits="android::RSC::BaseObj" -->
<p><code>#include &lt;<a class="el" href="rsCppStructs_8h_source.html">rsCppStructs.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for android::RSC::Allocation:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classandroid_1_1RSC_1_1Allocation.png" usemap="#android::RSC::Allocation_map" alt=""/>
  <map id="android::RSC::Allocation_map" name="android::RSC::Allocation_map">
<area href="classandroid_1_1RSC_1_1BaseObj.html" alt="android::RSC::BaseObj" shape="rect" coords="0,0,148,24"/>
</map>
 </div></div>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">sp&lt; const <a class="el" href="classandroid_1_1RSC_1_1Type.html">Type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classandroid_1_1RSC_1_1Allocation.html#a5475e41c9a50ece302e238e06e5ba8f4">getType</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classandroid_1_1RSC_1_1Allocation.html#a542d29449331bff6c8506b13c4daefeb">syncAll</a> (RsAllocationUsageType srcLocation)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classandroid_1_1RSC_1_1Allocation.html#a3c9f32ff3070f8a38e3a8c6e58ed7a82">generateMipmaps</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classandroid_1_1RSC_1_1Allocation.html#ae10efeb0624dbdf7f32c013f8eff2c74">copy1DRangeFrom</a> (uint32_t off, size_t count, const void *data)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classandroid_1_1RSC_1_1Allocation.html#a46890b1ca1cbb54c39b0958d515c782f">copy1DRangeFrom</a> (uint32_t off, size_t count, sp&lt; const <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> &gt; data, uint32_t dataOff)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classandroid_1_1RSC_1_1Allocation.html#a70125eb0577744f64512da1f6bdec69e">copy1DRangeTo</a> (uint32_t off, size_t count, void *data)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classandroid_1_1RSC_1_1Allocation.html#ab3c6154ae194a83c7f639012d256d62d">copy1DFrom</a> (const void *data)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classandroid_1_1RSC_1_1Allocation.html#a6d2c79bd8b2f9a7b7036ae78e4b48ec4">copy1DTo</a> (void *data)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classandroid_1_1RSC_1_1Allocation.html#aa4a59cd1098771c205bbd23d4f3b1065">copy2DRangeFrom</a> (uint32_t xoff, uint32_t yoff, uint32_t w, uint32_t h, const void *data)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classandroid_1_1RSC_1_1Allocation.html#a7522ec325ad4b30948b8b060b7750517">copy2DRangeTo</a> (uint32_t xoff, uint32_t yoff, uint32_t w, uint32_t h, void *data)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classandroid_1_1RSC_1_1Allocation.html#a4cfe1bb1dac8dfde86f542f97e6d2e67">copy2DRangeFrom</a> (uint32_t xoff, uint32_t yoff, uint32_t w, uint32_t h, sp&lt; const <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> &gt; data, uint32_t dataXoff, uint32_t dataYoff)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classandroid_1_1RSC_1_1Allocation.html#a5bb1d1b53dcc255beea566c50d34c3eb">copy2DStridedFrom</a> (uint32_t xoff, uint32_t yoff, uint32_t w, uint32_t h, const void *data, size_t stride)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classandroid_1_1RSC_1_1Allocation.html#aaee42c2bcc21d224191262025fa7bde2">copy2DStridedFrom</a> (const void *data, size_t stride)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classandroid_1_1RSC_1_1Allocation.html#ad4f2ce90d548f22d950002c9942833ca">copy2DStridedTo</a> (uint32_t xoff, uint32_t yoff, uint32_t w, uint32_t h, void *data, size_t stride)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classandroid_1_1RSC_1_1Allocation.html#a90c89953b5a38489718aec32937a95ac">copy2DStridedTo</a> (void *data, size_t stride)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classandroid_1_1RSC_1_1Allocation.html#ac0fe786fd3dc0d5e2278b6071ff78d84">copy3DRangeFrom</a> (uint32_t xoff, uint32_t yoff, uint32_t zoff, uint32_t w, uint32_t h, uint32_t d, const void *data)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classandroid_1_1RSC_1_1Allocation.html#acfc9d84ddfbbc02bdba706a1b63afd6b">copy3DRangeFrom</a> (uint32_t xoff, uint32_t yoff, uint32_t zoff, uint32_t w, uint32_t h, uint32_t d, sp&lt; const <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> &gt; data, uint32_t dataXoff, uint32_t dataYoff, uint32_t dataZoff)</td></tr>
<tr><td colspan="2"><h2><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static sp&lt; <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classandroid_1_1RSC_1_1Allocation.html#a005a8f8186dd6b4565ea90094161a64b">createTyped</a> (sp&lt; <a class="el" href="classandroid_1_1RSC_1_1RS.html">RS</a> &gt; rs, sp&lt; const <a class="el" href="classandroid_1_1RSC_1_1Type.html">Type</a> &gt; type, RsAllocationMipmapControl mips, uint32_t usage)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static sp&lt; <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classandroid_1_1RSC_1_1Allocation.html#a73bf9d9ddf038e60024fb40287b71438">createTyped</a> (sp&lt; <a class="el" href="classandroid_1_1RSC_1_1RS.html">RS</a> &gt; rs, sp&lt; const <a class="el" href="classandroid_1_1RSC_1_1Type.html">Type</a> &gt; type, RsAllocationMipmapControl mips, uint32_t usage, void *pointer)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static sp&lt; <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classandroid_1_1RSC_1_1Allocation.html#ae0c87f83e692ade1abba9a8db6d40aae">createTyped</a> (sp&lt; <a class="el" href="classandroid_1_1RSC_1_1RS.html">RS</a> &gt; rs, sp&lt; const <a class="el" href="classandroid_1_1RSC_1_1Type.html">Type</a> &gt; type, uint32_t usage=RS_ALLOCATION_USAGE_SCRIPT)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static sp&lt; <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classandroid_1_1RSC_1_1Allocation.html#afd281c4fccca4bf1f69dd2cbdfafb96c">createSized</a> (sp&lt; <a class="el" href="classandroid_1_1RSC_1_1RS.html">RS</a> &gt; rs, sp&lt; const <a class="el" href="classandroid_1_1RSC_1_1Element.html">Element</a> &gt; e, size_t count, uint32_t usage=RS_ALLOCATION_USAGE_SCRIPT)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static sp&lt; <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classandroid_1_1RSC_1_1Allocation.html#aa20d012e4df254a06c595527e9203e75">createSized2D</a> (sp&lt; <a class="el" href="classandroid_1_1RSC_1_1RS.html">RS</a> &gt; rs, sp&lt; const <a class="el" href="classandroid_1_1RSC_1_1Element.html">Element</a> &gt; e, size_t x, size_t y, uint32_t usage=RS_ALLOCATION_USAGE_SCRIPT)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>This class provides the primary method through which data is passed to and from RenderScript kernels. An <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> provides the backing store for a given <a class="el" href="classandroid_1_1RSC_1_1Type.html">Type</a>.</p>
<p>An <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> also contains a set of usage flags that denote how the <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> could be used. For example, an <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> may have usage flags specifying that it can be used from a script as well as input to a <a class="el" href="classandroid_1_1RSC_1_1Sampler.html">Sampler</a>. A developer must synchronize across these different usages using syncAll(int) in order to ensure that different users of the <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> have a consistent view of memory. For example, in the case where an <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> is used as the output of one kernel and as <a class="el" href="classandroid_1_1RSC_1_1Sampler.html">Sampler</a> input in a later kernel, a developer must call syncAll(RS_ALLOCATION_USAGE_SCRIPT) prior to launching the second kernel to ensure correctness. </p>

<p>Definition at line <a class="el" href="rsCppStructs_8h_source.html#l00288">288</a> of file <a class="el" href="rsCppStructs_8h_source.html">rsCppStructs.h</a>.</p>
</div><hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="ab3c6154ae194a83c7f639012d256d62d"></a><!-- doxytag: member="android::RSC::Allocation::copy1DFrom" ref="ab3c6154ae194a83c7f639012d256d62d" args="(const void *data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void android::RSC::Allocation::copy1DFrom </td>
          <td>(</td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>data</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Copy entire array to an <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>array from which to copy </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ae10efeb0624dbdf7f32c013f8eff2c74"></a><!-- doxytag: member="android::RSC::Allocation::copy1DRangeFrom" ref="ae10efeb0624dbdf7f32c013f8eff2c74" args="(uint32_t off, size_t count, const void *data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void android::RSC::Allocation::copy1DRangeFrom </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>off</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>count</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Copy an array into part of this <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">off</td><td>offset of first <a class="el" href="classandroid_1_1RSC_1_1Element.html">Element</a> to be overwritten </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">count</td><td>number of Elements to copy </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>array from which to copy </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a46890b1ca1cbb54c39b0958d515c782f"></a><!-- doxytag: member="android::RSC::Allocation::copy1DRangeFrom" ref="a46890b1ca1cbb54c39b0958d515c782f" args="(uint32_t off, size_t count, sp&lt; const Allocation &gt; data, uint32_t dataOff)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void android::RSC::Allocation::copy1DRangeFrom </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>off</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>count</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">sp&lt; const <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> &gt;&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>dataOff</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Copy part of an <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> into part of this <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">off</td><td>offset of first <a class="el" href="classandroid_1_1RSC_1_1Element.html">Element</a> to be overwritten </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">count</td><td>number of Elements to copy </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td><a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> from which to copy </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">dataOff</td><td>offset of first <a class="el" href="classandroid_1_1RSC_1_1Element.html">Element</a> in data to copy </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a70125eb0577744f64512da1f6bdec69e"></a><!-- doxytag: member="android::RSC::Allocation::copy1DRangeTo" ref="a70125eb0577744f64512da1f6bdec69e" args="(uint32_t off, size_t count, void *data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void android::RSC::Allocation::copy1DRangeTo </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>off</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>count</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Copy an array into part of this <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">off</td><td>offset of first <a class="el" href="classandroid_1_1RSC_1_1Element.html">Element</a> to be overwritten </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">count</td><td>number of Elements to copy </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>array from which to copy </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a6d2c79bd8b2f9a7b7036ae78e4b48ec4"></a><!-- doxytag: member="android::RSC::Allocation::copy1DTo" ref="a6d2c79bd8b2f9a7b7036ae78e4b48ec4" args="(void *data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void android::RSC::Allocation::copy1DTo </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>data</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Copy entire <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> to an array. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>destination array </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aa4a59cd1098771c205bbd23d4f3b1065"></a><!-- doxytag: member="android::RSC::Allocation::copy2DRangeFrom" ref="aa4a59cd1098771c205bbd23d4f3b1065" args="(uint32_t xoff, uint32_t yoff, uint32_t w, uint32_t h, const void *data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void android::RSC::Allocation::copy2DRangeFrom </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>xoff</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>yoff</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>w</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>h</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Copy from an array into a rectangular region in this <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a>. The array is assumed to be tightly packed. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">xoff</td><td>X offset of region to update in this <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">yoff</td><td>Y offset of region to update in this <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">w</td><td>Width of region to update </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>Height of region to update </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>Array from which to copy </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a4cfe1bb1dac8dfde86f542f97e6d2e67"></a><!-- doxytag: member="android::RSC::Allocation::copy2DRangeFrom" ref="a4cfe1bb1dac8dfde86f542f97e6d2e67" args="(uint32_t xoff, uint32_t yoff, uint32_t w, uint32_t h, sp&lt; const Allocation &gt; data, uint32_t dataXoff, uint32_t dataYoff)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void android::RSC::Allocation::copy2DRangeFrom </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>xoff</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>yoff</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>w</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>h</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">sp&lt; const <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> &gt;&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>dataXoff</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>dataYoff</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Copy from an <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> into a rectangular region in this <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">xoff</td><td>X offset of region to update in this <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">yoff</td><td>Y offset of region to update in this <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">w</td><td>Width of region to update </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>Height of region to update </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td><a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> from which to copy </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">dataXoff</td><td>X offset of region to copy from in data </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">dataYoff</td><td>Y offset of region to copy from in data </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a7522ec325ad4b30948b8b060b7750517"></a><!-- doxytag: member="android::RSC::Allocation::copy2DRangeTo" ref="a7522ec325ad4b30948b8b060b7750517" args="(uint32_t xoff, uint32_t yoff, uint32_t w, uint32_t h, void *data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void android::RSC::Allocation::copy2DRangeTo </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>xoff</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>yoff</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>w</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>h</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Copy from this <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> into a rectangular region in an array. The array is assumed to be tightly packed. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">xoff</td><td>X offset of region to copy from this <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">yoff</td><td>Y offset of region to copy from this <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">w</td><td>Width of region to update </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>Height of region to update </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>destination array </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a5bb1d1b53dcc255beea566c50d34c3eb"></a><!-- doxytag: member="android::RSC::Allocation::copy2DStridedFrom" ref="a5bb1d1b53dcc255beea566c50d34c3eb" args="(uint32_t xoff, uint32_t yoff, uint32_t w, uint32_t h, const void *data, size_t stride)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void android::RSC::Allocation::copy2DStridedFrom </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>xoff</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>yoff</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>w</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>h</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>stride</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Copy from a strided array into a rectangular region in this <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">xoff</td><td>X offset of region to update in this <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">yoff</td><td>Y offset of region to update in this <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">w</td><td>Width of region to update </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>Height of region to update </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>array from which to copy </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">stride</td><td>stride of data in bytes </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aaee42c2bcc21d224191262025fa7bde2"></a><!-- doxytag: member="android::RSC::Allocation::copy2DStridedFrom" ref="aaee42c2bcc21d224191262025fa7bde2" args="(const void *data, size_t stride)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void android::RSC::Allocation::copy2DStridedFrom </td>
          <td>(</td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>stride</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Copy from a strided array into this <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>array from which to copy </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">stride</td><td>stride of data in bytes </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ad4f2ce90d548f22d950002c9942833ca"></a><!-- doxytag: member="android::RSC::Allocation::copy2DStridedTo" ref="ad4f2ce90d548f22d950002c9942833ca" args="(uint32_t xoff, uint32_t yoff, uint32_t w, uint32_t h, void *data, size_t stride)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void android::RSC::Allocation::copy2DStridedTo </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>xoff</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>yoff</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>w</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>h</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>stride</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Copy from a rectangular region in this <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> into a strided array. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">xoff</td><td>X offset of region to update in this <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">yoff</td><td>Y offset of region to update in this <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">w</td><td>Width of region to update </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>Height of region to update </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>destination array </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">stride</td><td>stride of data in bytes </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a90c89953b5a38489718aec32937a95ac"></a><!-- doxytag: member="android::RSC::Allocation::copy2DStridedTo" ref="a90c89953b5a38489718aec32937a95ac" args="(void *data, size_t stride)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void android::RSC::Allocation::copy2DStridedTo </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>stride</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Copy this <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> into a strided array. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>destination array </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">stride</td><td>stride of data in bytes </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ac0fe786fd3dc0d5e2278b6071ff78d84"></a><!-- doxytag: member="android::RSC::Allocation::copy3DRangeFrom" ref="ac0fe786fd3dc0d5e2278b6071ff78d84" args="(uint32_t xoff, uint32_t yoff, uint32_t zoff, uint32_t w, uint32_t h, uint32_t d, const void *data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void android::RSC::Allocation::copy3DRangeFrom </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>xoff</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>yoff</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>zoff</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>w</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>h</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>d</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Copy from an array into a 3D region in this <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a>. The array is assumed to be tightly packed. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">xoff</td><td>X offset of region to update in this <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">yoff</td><td>Y offset of region to update in this <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">zoff</td><td>Z offset of region to update in this <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">w</td><td>Width of region to update </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>Height of region to update </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">d</td><td>Depth of region to update </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>Array from which to copy </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="acfc9d84ddfbbc02bdba706a1b63afd6b"></a><!-- doxytag: member="android::RSC::Allocation::copy3DRangeFrom" ref="acfc9d84ddfbbc02bdba706a1b63afd6b" args="(uint32_t xoff, uint32_t yoff, uint32_t zoff, uint32_t w, uint32_t h, uint32_t d, sp&lt; const Allocation &gt; data, uint32_t dataXoff, uint32_t dataYoff, uint32_t dataZoff)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void android::RSC::Allocation::copy3DRangeFrom </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>xoff</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>yoff</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>zoff</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>w</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>h</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>d</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">sp&lt; const <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> &gt;&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>dataXoff</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>dataYoff</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>dataZoff</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Copy from an <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> into a 3D region in this <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">xoff</td><td>X offset of region to update in this <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">yoff</td><td>Y offset of region to update in this <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">zoff</td><td>Z offset of region to update in this <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">w</td><td>Width of region to update </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>Height of region to update </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">d</td><td>Depth of region to update </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td><a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> from which to copy </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">dataXoff</td><td>X offset of region in data to copy from </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">dataYoff</td><td>Y offset of region in data to copy from </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">dataZoff</td><td>Z offset of region in data to copy from </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="afd281c4fccca4bf1f69dd2cbdfafb96c"></a><!-- doxytag: member="android::RSC::Allocation::createSized" ref="afd281c4fccca4bf1f69dd2cbdfafb96c" args="(sp&lt; RS &gt; rs, sp&lt; const Element &gt; e, size_t count, uint32_t usage=RS_ALLOCATION_USAGE_SCRIPT)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static sp&lt;<a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a>&gt; android::RSC::Allocation::createSized </td>
          <td>(</td>
          <td class="paramtype">sp&lt; <a class="el" href="classandroid_1_1RSC_1_1RS.html">RS</a> &gt;&#160;</td>
          <td class="paramname"><em>rs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">sp&lt; const <a class="el" href="classandroid_1_1RSC_1_1Element.html">Element</a> &gt;&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>count</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>usage</em> = <code>RS_ALLOCATION_USAGE_SCRIPT</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Creates an <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> with a specified number of given elements. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">rs</td><td>Context to which the <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> will belong </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">e</td><td><a class="el" href="classandroid_1_1RSC_1_1Element.html">Element</a> used in the <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">count</td><td>Number of elements of the <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">usage</td><td>usage for the <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>new <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> </dd></dl>

</div>
</div>
<a class="anchor" id="aa20d012e4df254a06c595527e9203e75"></a><!-- doxytag: member="android::RSC::Allocation::createSized2D" ref="aa20d012e4df254a06c595527e9203e75" args="(sp&lt; RS &gt; rs, sp&lt; const Element &gt; e, size_t x, size_t y, uint32_t usage=RS_ALLOCATION_USAGE_SCRIPT)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static sp&lt;<a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a>&gt; android::RSC::Allocation::createSized2D </td>
          <td>(</td>
          <td class="paramtype">sp&lt; <a class="el" href="classandroid_1_1RSC_1_1RS.html">RS</a> &gt;&#160;</td>
          <td class="paramname"><em>rs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">sp&lt; const <a class="el" href="classandroid_1_1RSC_1_1Element.html">Element</a> &gt;&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>usage</em> = <code>RS_ALLOCATION_USAGE_SCRIPT</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Creates a 2D <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> with a specified number of given elements. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">rs</td><td>Context to which the <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> will belong </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">e</td><td><a class="el" href="classandroid_1_1RSC_1_1Element.html">Element</a> used in the <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Width in Elements of the <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>Height of the <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">usage</td><td>usage for the <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>new <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a005a8f8186dd6b4565ea90094161a64b"></a><!-- doxytag: member="android::RSC::Allocation::createTyped" ref="a005a8f8186dd6b4565ea90094161a64b" args="(sp&lt; RS &gt; rs, sp&lt; const Type &gt; type, RsAllocationMipmapControl mips, uint32_t usage)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static sp&lt;<a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a>&gt; android::RSC::Allocation::createTyped </td>
          <td>(</td>
          <td class="paramtype">sp&lt; <a class="el" href="classandroid_1_1RSC_1_1RS.html">RS</a> &gt;&#160;</td>
          <td class="paramname"><em>rs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">sp&lt; const <a class="el" href="classandroid_1_1RSC_1_1Type.html">Type</a> &gt;&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">RsAllocationMipmapControl&#160;</td>
          <td class="paramname"><em>mips</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>usage</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Creates an <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> for use by scripts with a given <a class="el" href="classandroid_1_1RSC_1_1Type.html">Type</a>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">rs</td><td>Context to which the <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> will belong </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td><a class="el" href="classandroid_1_1RSC_1_1Type.html">Type</a> of the <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">mips</td><td>desired mipmap behavior for the <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">usage</td><td>usage for the <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>new <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a73bf9d9ddf038e60024fb40287b71438"></a><!-- doxytag: member="android::RSC::Allocation::createTyped" ref="a73bf9d9ddf038e60024fb40287b71438" args="(sp&lt; RS &gt; rs, sp&lt; const Type &gt; type, RsAllocationMipmapControl mips, uint32_t usage, void *pointer)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static sp&lt;<a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a>&gt; android::RSC::Allocation::createTyped </td>
          <td>(</td>
          <td class="paramtype">sp&lt; <a class="el" href="classandroid_1_1RSC_1_1RS.html">RS</a> &gt;&#160;</td>
          <td class="paramname"><em>rs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">sp&lt; const <a class="el" href="classandroid_1_1RSC_1_1Type.html">Type</a> &gt;&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">RsAllocationMipmapControl&#160;</td>
          <td class="paramname"><em>mips</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>usage</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>pointer</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Creates an <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> for use by scripts with a given <a class="el" href="classandroid_1_1RSC_1_1Type.html">Type</a> and a backing pointer. For use with RS_ALLOCATION_USAGE_SHARED. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">rs</td><td>Context to which the <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> will belong </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td><a class="el" href="classandroid_1_1RSC_1_1Type.html">Type</a> of the <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">mips</td><td>desired mipmap behavior for the <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">usage</td><td>usage for the <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">pointer</td><td>existing backing store to use for this <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> if possible </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>new <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ae0c87f83e692ade1abba9a8db6d40aae"></a><!-- doxytag: member="android::RSC::Allocation::createTyped" ref="ae0c87f83e692ade1abba9a8db6d40aae" args="(sp&lt; RS &gt; rs, sp&lt; const Type &gt; type, uint32_t usage=RS_ALLOCATION_USAGE_SCRIPT)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static sp&lt;<a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a>&gt; android::RSC::Allocation::createTyped </td>
          <td>(</td>
          <td class="paramtype">sp&lt; <a class="el" href="classandroid_1_1RSC_1_1RS.html">RS</a> &gt;&#160;</td>
          <td class="paramname"><em>rs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">sp&lt; const <a class="el" href="classandroid_1_1RSC_1_1Type.html">Type</a> &gt;&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>usage</em> = <code>RS_ALLOCATION_USAGE_SCRIPT</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Creates an <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> for use by scripts with a given <a class="el" href="classandroid_1_1RSC_1_1Type.html">Type</a> with no mipmaps. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">rs</td><td>Context to which the <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> will belong </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td><a class="el" href="classandroid_1_1RSC_1_1Type.html">Type</a> of the <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">usage</td><td>usage for the <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>new <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a3c9f32ff3070f8a38e3a8c6e58ed7a82"></a><!-- doxytag: member="android::RSC::Allocation::generateMipmaps" ref="a3c9f32ff3070f8a38e3a8c6e58ed7a82" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void android::RSC::Allocation::generateMipmaps </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Generate a mipmap chain. This is only valid if the <a class="el" href="classandroid_1_1RSC_1_1Type.html">Type</a> of the <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> 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 <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> is also using other memory spaces, a call to syncAll(Allocation.USAGE_SCRIPT) is required. </p>

</div>
</div>
<a class="anchor" id="a5475e41c9a50ece302e238e06e5ba8f4"></a><!-- doxytag: member="android::RSC::Allocation::getType" ref="a5475e41c9a50ece302e238e06e5ba8f4" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">sp&lt;const <a class="el" href="classandroid_1_1RSC_1_1Type.html">Type</a>&gt; android::RSC::Allocation::getType </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Return <a class="el" href="classandroid_1_1RSC_1_1Type.html">Type</a> for the allocation. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>pointer to underlying <a class="el" href="classandroid_1_1RSC_1_1Type.html">Type</a> </dd></dl>

<p>Definition at line <a class="el" href="rsCppStructs_8h_source.html#l00333">333</a> of file <a class="el" href="rsCppStructs_8h_source.html">rsCppStructs.h</a>.</p>

</div>
</div>
<a class="anchor" id="a542d29449331bff6c8506b13c4daefeb"></a><!-- doxytag: member="android::RSC::Allocation::syncAll" ref="a542d29449331bff6c8506b13c4daefeb" args="(RsAllocationUsageType srcLocation)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void android::RSC::Allocation::syncAll </td>
          <td>(</td>
          <td class="paramtype">RsAllocationUsageType&#160;</td>
          <td class="paramname"><em>srcLocation</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Propagate changes from one usage of the <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> to other usages of the <a class="el" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">srcLocation</td><td>source location with changes to propagate elsewhere </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="rsCppStructs_8h_source.html">rsCppStructs.h</a></li>
</ul>
</div>

</body>
</html>