<!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>rsCppStructs.h Source File</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><a href="annotated.html"><span>Structs</span></a></li>
    </ul>
  </div>
<div class="header">
  <div class="headertitle">
<div class="title">rsCppStructs.h</div>  </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2013 The Android Open Source Project</span>
<a name="l00003"></a>00003 <span class="comment"> *</span>
<a name="l00004"></a>00004 <span class="comment"> * Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
<a name="l00005"></a>00005 <span class="comment"> * you may not use this file except in compliance with the License.</span>
<a name="l00006"></a>00006 <span class="comment"> * You may obtain a copy of the License at</span>
<a name="l00007"></a>00007 <span class="comment"> *</span>
<a name="l00008"></a>00008 <span class="comment"> *      http://www.apache.org/licenses/LICENSE-2.0</span>
<a name="l00009"></a>00009 <span class="comment"> *</span>
<a name="l00010"></a>00010 <span class="comment"> * Unless required by applicable law or agreed to in writing, software</span>
<a name="l00011"></a>00011 <span class="comment"> * distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
<a name="l00012"></a>00012 <span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
<a name="l00013"></a>00013 <span class="comment"> * See the License for the specific language governing permissions and</span>
<a name="l00014"></a>00014 <span class="comment"> * limitations under the License.</span>
<a name="l00015"></a>00015 <span class="comment"> */</span>
<a name="l00016"></a>00016
<a name="l00017"></a>00017 <span class="preprocessor">#ifndef ANDROID_RSCPPSTRUCTS_H</span>
<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define ANDROID_RSCPPSTRUCTS_H</span>
<a name="l00019"></a>00019 <span class="preprocessor"></span>
<a name="l00020"></a>00020 <span class="preprocessor">#include &quot;rsDefines.h&quot;</span>
<a name="l00021"></a>00021 <span class="preprocessor">#include &quot;util/RefBase.h&quot;</span>
<a name="l00022"></a>00022 <span class="preprocessor">#include &quot;rsDispatch.h&quot;</span>
<a name="l00023"></a>00023
<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;vector&gt;</span>
<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;string&gt;</span>
<a name="l00026"></a>00026
<a name="l00031"></a>00031 <span class="preprocessor">#define RS_CPU_ALLOCATION_ALIGNMENT 16</span>
<a name="l00032"></a>00032 <span class="preprocessor"></span>
<a name="l00033"></a>00033 <span class="keyword">namespace </span>android {
<a name="l00034"></a>00034 <span class="keyword">namespace </span>RSC {
<a name="l00035"></a>00035
<a name="l00036"></a>00036 <span class="keyword">typedef</span> void (*ErrorHandlerFunc_t)(uint32_t errorNum, <span class="keyword">const</span> <span class="keywordtype">char</span> *errorText);
<a name="l00037"></a>00037 <span class="keyword">typedef</span> void (*MessageHandlerFunc_t)(uint32_t msgNum, <span class="keyword">const</span> <span class="keywordtype">void</span> *msgData, <span class="keywordtype">size_t</span> msgLen);
<a name="l00038"></a>00038
<a name="l00039"></a>00039 <span class="keyword">class </span>RS;
<a name="l00040"></a>00040 <span class="keyword">class </span>BaseObj;
<a name="l00041"></a>00041 <span class="keyword">class </span>Element;
<a name="l00042"></a>00042 <span class="keyword">class </span>Type;
<a name="l00043"></a>00043 <span class="keyword">class </span>Allocation;
<a name="l00044"></a>00044 <span class="keyword">class </span>Script;
<a name="l00045"></a>00045 <span class="keyword">class </span>ScriptC;
<a name="l00046"></a>00046 <span class="keyword">class </span>Sampler;
<a name="l00047"></a>00047
<a name="l00053"></a>00053  <span class="keyword">enum</span> RSError {
<a name="l00054"></a>00054      RS_SUCCESS = 0,
<a name="l00055"></a>00055      RS_ERROR_INVALID_PARAMETER = 1,
<a name="l00056"></a>00056      RS_ERROR_RUNTIME_ERROR = 2,
<a name="l00057"></a>00057
<a name="l00058"></a>00058      RS_ERROR_INVALID_ELEMENT = 3,
<a name="l00059"></a>00059      RS_ERROR_MAX = 9999
<a name="l00060"></a>00060
<a name="l00061"></a>00061  };
<a name="l00062"></a>00062
<a name="l00066"></a>00066  <span class="keyword">enum</span> RSYuvFormat {
<a name="l00067"></a>00067      RS_YUV_NONE = 0,
<a name="l00068"></a>00068      RS_YUV_YV12 = 1,
<a name="l00069"></a>00069      RS_YUV_NV21 = 2,
<a name="l00070"></a>00070      RS_YUV_MAX = 3
<a name="l00071"></a>00071  };
<a name="l00072"></a>00072
<a name="l00076"></a>00076  <span class="keyword">enum</span> RSInitFlags {
<a name="l00077"></a>00077      RS_INIT_SYNCHRONOUS = 1,
<a name="l00078"></a>00078      RS_INIT_LOW_LATENCY = 2,
<a name="l00079"></a>00079      RS_INIT_MAX = 4
<a name="l00080"></a>00080  };
<a name="l00081"></a>00081
<a name="l00085"></a><a class="code" href="classandroid_1_1RSC_1_1RS.html">00085</a>  <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1RS.html">RS</a> : <span class="keyword">public</span> android::RSC::LightRefBase&lt;RS&gt; {
<a name="l00086"></a>00086
<a name="l00087"></a>00087  <span class="keyword">public</span>:
<a name="l00088"></a>00088     <a class="code" href="classandroid_1_1RSC_1_1RS.html">RS</a>();
<a name="l00089"></a>00089     <span class="keyword">virtual</span> ~<a class="code" href="classandroid_1_1RSC_1_1RS.html">RS</a>();
<a name="l00090"></a>00090
<a name="l00098"></a>00098     <span class="keywordtype">bool</span> <a class="code" href="classandroid_1_1RSC_1_1RS.html#a04fd7161619e7b2ede4e54a14064097f">init</a>(std::string name, uint32_t flags = 0);
<a name="l00099"></a>00099
<a name="l00106"></a>00106     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1RS.html#a3e91e22835c85d230eba3ff1d20455a5">setErrorHandler</a>(ErrorHandlerFunc_t func);
<a name="l00107"></a>00107
<a name="l00113"></a><a class="code" href="classandroid_1_1RSC_1_1RS.html#aeb1f7ac6b745b64d56ea07f92d4003b1">00113</a>     ErrorHandlerFunc_t <a class="code" href="classandroid_1_1RSC_1_1RS.html#aeb1f7ac6b745b64d56ea07f92d4003b1">getErrorHandler</a>() { <span class="keywordflow">return</span> mErrorFunc; }
<a name="l00114"></a>00114
<a name="l00121"></a>00121     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1RS.html#a37d0314f4a5f861da12355b4ca5ffee6">setMessageHandler</a>(MessageHandlerFunc_t func);
<a name="l00122"></a>00122
<a name="l00128"></a><a class="code" href="classandroid_1_1RSC_1_1RS.html#a5f1336fbd31c78a97a7bc9fdeccc6020">00128</a>     MessageHandlerFunc_t <a class="code" href="classandroid_1_1RSC_1_1RS.html#a5f1336fbd31c78a97a7bc9fdeccc6020">getMessageHandler</a>() { <span class="keywordflow">return</span> mMessageFunc; }
<a name="l00129"></a>00129
<a name="l00135"></a>00135     RSError <a class="code" href="classandroid_1_1RSC_1_1RS.html#a44f4660452aee0b1dbd747e383e531be">getError</a>();
<a name="l00136"></a>00136
<a name="l00141"></a>00141     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1RS.html#aff0d61c3a1fa1432a07dae0db14569c4">finish</a>();
<a name="l00142"></a>00142
<a name="l00143"></a>00143     RsContext getContext() { <span class="keywordflow">return</span> mContext; }
<a name="l00144"></a>00144     <span class="keywordtype">void</span> throwError(RSError error, <span class="keyword">const</span> <span class="keywordtype">char</span> *errMsg);
<a name="l00145"></a>00145
<a name="l00146"></a>00146     <span class="keyword">static</span> dispatchTable* dispatch;
<a name="l00147"></a>00147
<a name="l00148"></a>00148  <span class="keyword">private</span>:
<a name="l00149"></a>00149     <span class="keyword">static</span> <span class="keywordtype">bool</span> usingNative;
<a name="l00150"></a>00150     <span class="keyword">static</span> <span class="keywordtype">bool</span> initDispatch(<span class="keywordtype">int</span> targetApi);
<a name="l00151"></a>00151
<a name="l00152"></a>00152     <span class="keywordtype">bool</span> <a class="code" href="classandroid_1_1RSC_1_1RS.html#a04fd7161619e7b2ede4e54a14064097f">init</a>(std::string &amp;name, <span class="keywordtype">int</span> targetApi, uint32_t flags);
<a name="l00153"></a>00153     <span class="keyword">static</span> <span class="keywordtype">void</span> * threadProc(<span class="keywordtype">void</span> *);
<a name="l00154"></a>00154
<a name="l00155"></a>00155     <span class="keyword">static</span> <span class="keywordtype">bool</span> gInitialized;
<a name="l00156"></a>00156     <span class="keyword">static</span> pthread_mutex_t gInitMutex;
<a name="l00157"></a>00157
<a name="l00158"></a>00158     pthread_t mMessageThreadId;
<a name="l00159"></a>00159     pid_t mNativeMessageThreadId;
<a name="l00160"></a>00160     <span class="keywordtype">bool</span> mMessageRun;
<a name="l00161"></a>00161
<a name="l00162"></a>00162     RsDevice mDev;
<a name="l00163"></a>00163     RsContext mContext;
<a name="l00164"></a>00164     RSError mCurrentError;
<a name="l00165"></a>00165
<a name="l00166"></a>00166     ErrorHandlerFunc_t mErrorFunc;
<a name="l00167"></a>00167     MessageHandlerFunc_t mMessageFunc;
<a name="l00168"></a>00168     <span class="keywordtype">bool</span> mInit;
<a name="l00169"></a>00169
<a name="l00170"></a>00170     std::string mCacheDir;
<a name="l00171"></a>00171
<a name="l00172"></a>00172     <span class="keyword">struct </span>{
<a name="l00173"></a>00173         sp&lt;const Element&gt; U8;
<a name="l00174"></a>00174         sp&lt;const Element&gt; U8_2;
<a name="l00175"></a>00175         sp&lt;const Element&gt; U8_3;
<a name="l00176"></a>00176         sp&lt;const Element&gt; U8_4;
<a name="l00177"></a>00177         sp&lt;const Element&gt; I8;
<a name="l00178"></a>00178         sp&lt;const Element&gt; I8_2;
<a name="l00179"></a>00179         sp&lt;const Element&gt; I8_3;
<a name="l00180"></a>00180         sp&lt;const Element&gt; I8_4;
<a name="l00181"></a>00181         sp&lt;const Element&gt; U16;
<a name="l00182"></a>00182         sp&lt;const Element&gt; U16_2;
<a name="l00183"></a>00183         sp&lt;const Element&gt; U16_3;
<a name="l00184"></a>00184         sp&lt;const Element&gt; U16_4;
<a name="l00185"></a>00185         sp&lt;const Element&gt; I16;
<a name="l00186"></a>00186         sp&lt;const Element&gt; I16_2;
<a name="l00187"></a>00187         sp&lt;const Element&gt; I16_3;
<a name="l00188"></a>00188         sp&lt;const Element&gt; I16_4;
<a name="l00189"></a>00189         sp&lt;const Element&gt; U32;
<a name="l00190"></a>00190         sp&lt;const Element&gt; U32_2;
<a name="l00191"></a>00191         sp&lt;const Element&gt; U32_3;
<a name="l00192"></a>00192         sp&lt;const Element&gt; U32_4;
<a name="l00193"></a>00193         sp&lt;const Element&gt; I32;
<a name="l00194"></a>00194         sp&lt;const Element&gt; I32_2;
<a name="l00195"></a>00195         sp&lt;const Element&gt; I32_3;
<a name="l00196"></a>00196         sp&lt;const Element&gt; I32_4;
<a name="l00197"></a>00197         sp&lt;const Element&gt; U64;
<a name="l00198"></a>00198         sp&lt;const Element&gt; U64_2;
<a name="l00199"></a>00199         sp&lt;const Element&gt; U64_3;
<a name="l00200"></a>00200         sp&lt;const Element&gt; U64_4;
<a name="l00201"></a>00201         sp&lt;const Element&gt; I64;
<a name="l00202"></a>00202         sp&lt;const Element&gt; I64_2;
<a name="l00203"></a>00203         sp&lt;const Element&gt; I64_3;
<a name="l00204"></a>00204         sp&lt;const Element&gt; I64_4;
<a name="l00205"></a>00205         sp&lt;const Element&gt; F32;
<a name="l00206"></a>00206         sp&lt;const Element&gt; F32_2;
<a name="l00207"></a>00207         sp&lt;const Element&gt; F32_3;
<a name="l00208"></a>00208         sp&lt;const Element&gt; F32_4;
<a name="l00209"></a>00209         sp&lt;const Element&gt; F64;
<a name="l00210"></a>00210         sp&lt;const Element&gt; F64_2;
<a name="l00211"></a>00211         sp&lt;const Element&gt; F64_3;
<a name="l00212"></a>00212         sp&lt;const Element&gt; F64_4;
<a name="l00213"></a>00213         sp&lt;const Element&gt; BOOLEAN;
<a name="l00214"></a>00214
<a name="l00215"></a>00215         sp&lt;const Element&gt; ELEMENT;
<a name="l00216"></a>00216         sp&lt;const Element&gt; TYPE;
<a name="l00217"></a>00217         sp&lt;const Element&gt; ALLOCATION;
<a name="l00218"></a>00218         sp&lt;const Element&gt; SAMPLER;
<a name="l00219"></a>00219         sp&lt;const Element&gt; SCRIPT;
<a name="l00220"></a>00220         sp&lt;const Element&gt; MESH;
<a name="l00221"></a>00221         sp&lt;const Element&gt; PROGRAM_FRAGMENT;
<a name="l00222"></a>00222         sp&lt;const Element&gt; PROGRAM_VERTEX;
<a name="l00223"></a>00223         sp&lt;const Element&gt; PROGRAM_RASTER;
<a name="l00224"></a>00224         sp&lt;const Element&gt; PROGRAM_STORE;
<a name="l00225"></a>00225
<a name="l00226"></a>00226         sp&lt;const Element&gt; A_8;
<a name="l00227"></a>00227         sp&lt;const Element&gt; RGB_565;
<a name="l00228"></a>00228         sp&lt;const Element&gt; RGB_888;
<a name="l00229"></a>00229         sp&lt;const Element&gt; RGBA_5551;
<a name="l00230"></a>00230         sp&lt;const Element&gt; RGBA_4444;
<a name="l00231"></a>00231         sp&lt;const Element&gt; RGBA_8888;
<a name="l00232"></a>00232
<a name="l00233"></a>00233         sp&lt;const Element&gt; YUV;
<a name="l00234"></a>00234
<a name="l00235"></a>00235         sp&lt;const Element&gt; MATRIX_4X4;
<a name="l00236"></a>00236         sp&lt;const Element&gt; MATRIX_3X3;
<a name="l00237"></a>00237         sp&lt;const Element&gt; MATRIX_2X2;
<a name="l00238"></a>00238     } mElements;
<a name="l00239"></a>00239
<a name="l00240"></a>00240     <span class="keyword">struct </span>{
<a name="l00241"></a>00241         sp&lt;const Sampler&gt; CLAMP_NEAREST;
<a name="l00242"></a>00242         sp&lt;const Sampler&gt; CLAMP_LINEAR;
<a name="l00243"></a>00243         sp&lt;const Sampler&gt; CLAMP_LINEAR_MIP_LINEAR;
<a name="l00244"></a>00244         sp&lt;const Sampler&gt; WRAP_NEAREST;
<a name="l00245"></a>00245         sp&lt;const Sampler&gt; WRAP_LINEAR;
<a name="l00246"></a>00246         sp&lt;const Sampler&gt; WRAP_LINEAR_MIP_LINEAR;
<a name="l00247"></a>00247         sp&lt;const Sampler&gt; MIRRORED_REPEAT_NEAREST;
<a name="l00248"></a>00248         sp&lt;const Sampler&gt; MIRRORED_REPEAT_LINEAR;
<a name="l00249"></a>00249         sp&lt;const Sampler&gt; MIRRORED_REPEAT_LINEAR_MIP_LINEAR;
<a name="l00250"></a>00250     } mSamplers;
<a name="l00251"></a>00251     <span class="keyword">friend</span> <span class="keyword">class </span>Sampler;
<a name="l00252"></a>00252     <span class="keyword">friend</span> <span class="keyword">class </span>Element;
<a name="l00253"></a>00253     <span class="keyword">friend</span> <span class="keyword">class </span>ScriptC;
<a name="l00254"></a>00254 };
<a name="l00255"></a>00255
<a name="l00259"></a><a class="code" href="classandroid_1_1RSC_1_1BaseObj.html">00259</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1BaseObj.html">BaseObj</a> : <span class="keyword">public</span> android::RSC::LightRefBase&lt;BaseObj&gt; {
<a name="l00260"></a>00260 <span class="keyword">public</span>:
<a name="l00261"></a>00261     <span class="keywordtype">void</span> * getID() <span class="keyword">const</span>;
<a name="l00262"></a>00262     <span class="keyword">virtual</span> ~<a class="code" href="classandroid_1_1RSC_1_1BaseObj.html">BaseObj</a>();
<a name="l00263"></a>00263     <span class="keyword">virtual</span> <span class="keywordtype">void</span> updateFromNative();
<a name="l00264"></a>00264     <span class="keyword">virtual</span> <span class="keywordtype">bool</span> equals(sp&lt;const BaseObj&gt; obj);
<a name="l00265"></a>00265
<a name="l00266"></a>00266 <span class="keyword">protected</span>:
<a name="l00267"></a>00267     <span class="keywordtype">void</span> *mID;
<a name="l00268"></a>00268     <a class="code" href="classandroid_1_1RSC_1_1RS.html">RS</a>* mRS;
<a name="l00269"></a>00269     std::string mName;
<a name="l00270"></a>00270
<a name="l00271"></a>00271     <a class="code" href="classandroid_1_1RSC_1_1BaseObj.html">BaseObj</a>(<span class="keywordtype">void</span> *<span class="keywordtype">id</span>, sp&lt;RS&gt; rs);
<a name="l00272"></a>00272     <span class="keywordtype">void</span> checkValid();
<a name="l00273"></a>00273
<a name="l00274"></a>00274     <span class="keyword">static</span> <span class="keywordtype">void</span> * getObjID(sp&lt;const BaseObj&gt; o);
<a name="l00275"></a>00275
<a name="l00276"></a>00276 };
<a name="l00277"></a>00277
<a name="l00293"></a><a class="code" href="classandroid_1_1RSC_1_1Allocation.html">00293</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> : <span class="keyword">public</span> <a class="code" href="classandroid_1_1RSC_1_1BaseObj.html">BaseObj</a> {
<a name="l00294"></a>00294 <span class="keyword">protected</span>:
<a name="l00295"></a>00295     sp&lt;const Type&gt; mType;
<a name="l00296"></a>00296     uint32_t mUsage;
<a name="l00297"></a>00297     sp&lt;Allocation&gt; mAdaptedAllocation;
<a name="l00298"></a>00298
<a name="l00299"></a>00299     <span class="keywordtype">bool</span> mConstrainedLOD;
<a name="l00300"></a>00300     <span class="keywordtype">bool</span> mConstrainedFace;
<a name="l00301"></a>00301     <span class="keywordtype">bool</span> mConstrainedY;
<a name="l00302"></a>00302     <span class="keywordtype">bool</span> mConstrainedZ;
<a name="l00303"></a>00303     <span class="keywordtype">bool</span> mReadAllowed;
<a name="l00304"></a>00304     <span class="keywordtype">bool</span> mWriteAllowed;
<a name="l00305"></a>00305     uint32_t mSelectedY;
<a name="l00306"></a>00306     uint32_t mSelectedZ;
<a name="l00307"></a>00307     uint32_t mSelectedLOD;
<a name="l00308"></a>00308     RsAllocationCubemapFace mSelectedFace;
<a name="l00309"></a>00309
<a name="l00310"></a>00310     uint32_t mCurrentDimX;
<a name="l00311"></a>00311     uint32_t mCurrentDimY;
<a name="l00312"></a>00312     uint32_t mCurrentDimZ;
<a name="l00313"></a>00313     uint32_t mCurrentCount;
<a name="l00314"></a>00314
<a name="l00315"></a>00315     <span class="keywordtype">void</span> * getIDSafe() <span class="keyword">const</span>;
<a name="l00316"></a>00316     <span class="keywordtype">void</span> updateCacheInfo(sp&lt;const Type&gt; t);
<a name="l00317"></a>00317
<a name="l00318"></a>00318     <a class="code" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a>(<span class="keywordtype">void</span> *<span class="keywordtype">id</span>, sp&lt;RS&gt; rs, sp&lt;const Type&gt; t, uint32_t usage);
<a name="l00319"></a>00319
<a name="l00320"></a>00320     <span class="keywordtype">void</span> validateIsInt32();
<a name="l00321"></a>00321     <span class="keywordtype">void</span> validateIsInt16();
<a name="l00322"></a>00322     <span class="keywordtype">void</span> validateIsInt8();
<a name="l00323"></a>00323     <span class="keywordtype">void</span> validateIsFloat32();
<a name="l00324"></a>00324     <span class="keywordtype">void</span> validateIsObject();
<a name="l00325"></a>00325
<a name="l00326"></a>00326     <span class="keyword">virtual</span> <span class="keywordtype">void</span> updateFromNative();
<a name="l00327"></a>00327
<a name="l00328"></a>00328     <span class="keywordtype">void</span> validate2DRange(uint32_t xoff, uint32_t yoff, uint32_t w, uint32_t h);
<a name="l00329"></a>00329     <span class="keywordtype">void</span> validate3DRange(uint32_t xoff, uint32_t yoff, uint32_t zoff,
<a name="l00330"></a>00330                          uint32_t w, uint32_t h, uint32_t d);
<a name="l00331"></a>00331
<a name="l00332"></a>00332 <span class="keyword">public</span>:
<a name="l00333"></a>00333
<a name="l00338"></a><a class="code" href="classandroid_1_1RSC_1_1Allocation.html#a5475e41c9a50ece302e238e06e5ba8f4">00338</a>     sp&lt;const Type&gt; <a class="code" href="classandroid_1_1RSC_1_1Allocation.html#a5475e41c9a50ece302e238e06e5ba8f4">getType</a>()<span class="keyword"> const </span>{
<a name="l00339"></a>00339         <span class="keywordflow">return</span> mType;
<a name="l00340"></a>00340     }
<a name="l00341"></a>00341
<a name="l00346"></a>00346     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1Allocation.html#a542d29449331bff6c8506b13c4daefeb">syncAll</a>(RsAllocationUsageType srcLocation);
<a name="l00347"></a>00347     <span class="keywordtype">void</span> ioSendOutput();
<a name="l00348"></a>00348     <span class="keywordtype">void</span> ioGetInput();
<a name="l00349"></a>00349
<a name="l00357"></a>00357     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1Allocation.html#a3c9f32ff3070f8a38e3a8c6e58ed7a82">generateMipmaps</a>();
<a name="l00358"></a>00358
<a name="l00365"></a>00365     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1Allocation.html#ae10efeb0624dbdf7f32c013f8eff2c74">copy1DRangeFrom</a>(uint32_t off, <span class="keywordtype">size_t</span> count, <span class="keyword">const</span> <span class="keywordtype">void</span> *data);
<a name="l00366"></a>00366
<a name="l00374"></a>00374     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1Allocation.html#ae10efeb0624dbdf7f32c013f8eff2c74">copy1DRangeFrom</a>(uint32_t off, <span class="keywordtype">size_t</span> count, sp&lt;const Allocation&gt; data, uint32_t dataOff);
<a name="l00375"></a>00375
<a name="l00382"></a>00382     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1Allocation.html#a70125eb0577744f64512da1f6bdec69e">copy1DRangeTo</a>(uint32_t off, <span class="keywordtype">size_t</span> count, <span class="keywordtype">void</span> *data);
<a name="l00383"></a>00383
<a name="l00388"></a>00388     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1Allocation.html#ab3c6154ae194a83c7f639012d256d62d">copy1DFrom</a>(<span class="keyword">const</span> <span class="keywordtype">void</span>* data);
<a name="l00389"></a>00389
<a name="l00394"></a>00394     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1Allocation.html#a6d2c79bd8b2f9a7b7036ae78e4b48ec4">copy1DTo</a>(<span class="keywordtype">void</span>* data);
<a name="l00395"></a>00395
<a name="l00405"></a>00405     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1Allocation.html#aa4a59cd1098771c205bbd23d4f3b1065">copy2DRangeFrom</a>(uint32_t xoff, uint32_t yoff, uint32_t w, uint32_t h,
<a name="l00406"></a>00406                          <span class="keyword">const</span> <span class="keywordtype">void</span> *data);
<a name="l00407"></a>00407
<a name="l00417"></a>00417     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1Allocation.html#a7522ec325ad4b30948b8b060b7750517">copy2DRangeTo</a>(uint32_t xoff, uint32_t yoff, uint32_t w, uint32_t h,
<a name="l00418"></a>00418                        <span class="keywordtype">void</span> *data);
<a name="l00419"></a>00419
<a name="l00430"></a>00430     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1Allocation.html#aa4a59cd1098771c205bbd23d4f3b1065">copy2DRangeFrom</a>(uint32_t xoff, uint32_t yoff, uint32_t w, uint32_t h,
<a name="l00431"></a>00431                          sp&lt;const Allocation&gt; data, uint32_t dataXoff, uint32_t dataYoff);
<a name="l00432"></a>00432
<a name="l00442"></a>00442     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1Allocation.html#a5bb1d1b53dcc255beea566c50d34c3eb">copy2DStridedFrom</a>(uint32_t xoff, uint32_t yoff, uint32_t w, uint32_t h,
<a name="l00443"></a>00443                            <span class="keyword">const</span> <span class="keywordtype">void</span> *data, <span class="keywordtype">size_t</span> stride);
<a name="l00444"></a>00444
<a name="l00450"></a>00450     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1Allocation.html#a5bb1d1b53dcc255beea566c50d34c3eb">copy2DStridedFrom</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *data, <span class="keywordtype">size_t</span> stride);
<a name="l00451"></a>00451
<a name="l00461"></a>00461     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1Allocation.html#ad4f2ce90d548f22d950002c9942833ca">copy2DStridedTo</a>(uint32_t xoff, uint32_t yoff, uint32_t w, uint32_t h,
<a name="l00462"></a>00462                          <span class="keywordtype">void</span> *data, <span class="keywordtype">size_t</span> stride);
<a name="l00463"></a>00463
<a name="l00469"></a>00469     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1Allocation.html#ad4f2ce90d548f22d950002c9942833ca">copy2DStridedTo</a>(<span class="keywordtype">void</span> *data, <span class="keywordtype">size_t</span> stride);
<a name="l00470"></a>00470
<a name="l00471"></a>00471
<a name="l00483"></a>00483     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1Allocation.html#ac0fe786fd3dc0d5e2278b6071ff78d84">copy3DRangeFrom</a>(uint32_t xoff, uint32_t yoff, uint32_t zoff, uint32_t w,
<a name="l00484"></a>00484                          uint32_t h, uint32_t d, <span class="keyword">const</span> <span class="keywordtype">void</span>* data);
<a name="l00485"></a>00485
<a name="l00499"></a>00499     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1Allocation.html#ac0fe786fd3dc0d5e2278b6071ff78d84">copy3DRangeFrom</a>(uint32_t xoff, uint32_t yoff, uint32_t zoff,
<a name="l00500"></a>00500                          uint32_t w, uint32_t h, uint32_t d,
<a name="l00501"></a>00501                          sp&lt;const Allocation&gt; data,
<a name="l00502"></a>00502                          uint32_t dataXoff, uint32_t dataYoff, uint32_t dataZoff);
<a name="l00503"></a>00503
<a name="l00512"></a>00512     <span class="keyword">static</span> sp&lt;Allocation&gt; <a class="code" href="classandroid_1_1RSC_1_1Allocation.html#a983b914efa208763b4b58db62586f138">createTyped</a>(sp&lt;RS&gt; rs, sp&lt;const Type&gt; type,
<a name="l00513"></a>00513                                    RsAllocationMipmapControl mipmaps, uint32_t usage);
<a name="l00514"></a>00514
<a name="l00525"></a>00525     <span class="keyword">static</span> sp&lt;Allocation&gt; <a class="code" href="classandroid_1_1RSC_1_1Allocation.html#a983b914efa208763b4b58db62586f138">createTyped</a>(sp&lt;RS&gt; rs, sp&lt;const Type&gt; type,
<a name="l00526"></a>00526                                    RsAllocationMipmapControl mipmaps, uint32_t usage, <span class="keywordtype">void</span> * pointer);
<a name="l00527"></a>00527
<a name="l00535"></a>00535     <span class="keyword">static</span> sp&lt;Allocation&gt; <a class="code" href="classandroid_1_1RSC_1_1Allocation.html#a983b914efa208763b4b58db62586f138">createTyped</a>(sp&lt;RS&gt; rs, sp&lt;const Type&gt; type,
<a name="l00536"></a>00536                                    uint32_t usage = RS_ALLOCATION_USAGE_SCRIPT);
<a name="l00545"></a>00545     <span class="keyword">static</span> sp&lt;Allocation&gt; <a class="code" href="classandroid_1_1RSC_1_1Allocation.html#afd281c4fccca4bf1f69dd2cbdfafb96c">createSized</a>(sp&lt;RS&gt; rs, sp&lt;const Element&gt; e, <span class="keywordtype">size_t</span> count,
<a name="l00546"></a>00546                                    uint32_t usage = RS_ALLOCATION_USAGE_SCRIPT);
<a name="l00547"></a>00547
<a name="l00557"></a>00557     <span class="keyword">static</span> sp&lt;Allocation&gt; <a class="code" href="classandroid_1_1RSC_1_1Allocation.html#aa20d012e4df254a06c595527e9203e75">createSized2D</a>(sp&lt;RS&gt; rs, sp&lt;const Element&gt; e,
<a name="l00558"></a>00558                                         <span class="keywordtype">size_t</span> x, <span class="keywordtype">size_t</span> y,
<a name="l00559"></a>00559                                         uint32_t usage = RS_ALLOCATION_USAGE_SCRIPT);
<a name="l00560"></a>00560
<a name="l00561"></a>00561
<a name="l00562"></a>00562 };
<a name="l00563"></a>00563
<a name="l00584"></a><a class="code" href="classandroid_1_1RSC_1_1Element.html">00584</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Element.html">Element</a> : <span class="keyword">public</span> <a class="code" href="classandroid_1_1RSC_1_1BaseObj.html">BaseObj</a> {
<a name="l00585"></a>00585 <span class="keyword">public</span>:
<a name="l00586"></a>00586     <span class="keywordtype">bool</span> isComplex();
<a name="l00587"></a>00587
<a name="l00595"></a><a class="code" href="classandroid_1_1RSC_1_1Element.html#a3bc7d03d3f6d1b130592e4192aeeedc9">00595</a>     <span class="keywordtype">size_t</span> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a3bc7d03d3f6d1b130592e4192aeeedc9">getSubElementCount</a>() {
<a name="l00596"></a>00596         <span class="keywordflow">return</span> mVisibleElementMap.size();
<a name="l00597"></a>00597     }
<a name="l00598"></a>00598
<a name="l00604"></a>00604     sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#a5a23869e7d2a8c22e0d70bf5a90448d1">getSubElement</a>(uint32_t index);
<a name="l00605"></a>00605
<a name="l00612"></a>00612     <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="classandroid_1_1RSC_1_1Element.html#adb8f953d025b4ea03dd19678c69d4f5a">getSubElementName</a>(uint32_t index);
<a name="l00613"></a>00613
<a name="l00620"></a>00620     <span class="keywordtype">size_t</span> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a004e582191292906e3c20cca7c38ff71">getSubElementArraySize</a>(uint32_t index);
<a name="l00621"></a>00621
<a name="l00627"></a>00627     uint32_t <a class="code" href="classandroid_1_1RSC_1_1Element.html#adaf83e7649e7fd0dfe4b8e2c884bfa5a">getSubElementOffsetBytes</a>(uint32_t index);
<a name="l00628"></a>00628
<a name="l00633"></a><a class="code" href="classandroid_1_1RSC_1_1Element.html#a8534de74929342ed32f271ddfd446a5a">00633</a>     RsDataType <a class="code" href="classandroid_1_1RSC_1_1Element.html#a8534de74929342ed32f271ddfd446a5a">getDataType</a>()<span class="keyword"> const </span>{
<a name="l00634"></a>00634         <span class="keywordflow">return</span> mType;
<a name="l00635"></a>00635     }
<a name="l00636"></a>00636
<a name="l00641"></a><a class="code" href="classandroid_1_1RSC_1_1Element.html#aa30bc1b991015ac6c1915229e04a9cca">00641</a>     RsDataKind <a class="code" href="classandroid_1_1RSC_1_1Element.html#aa30bc1b991015ac6c1915229e04a9cca">getDataKind</a>()<span class="keyword"> const </span>{
<a name="l00642"></a>00642         <span class="keywordflow">return</span> mKind;
<a name="l00643"></a>00643     }
<a name="l00644"></a>00644
<a name="l00649"></a><a class="code" href="classandroid_1_1RSC_1_1Element.html#a5368abfd727463499d49775733cb0cf6">00649</a>     <span class="keywordtype">size_t</span> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a5368abfd727463499d49775733cb0cf6">getSizeBytes</a>()<span class="keyword"> const </span>{
<a name="l00650"></a>00650         <span class="keywordflow">return</span> mSizeBytes;
<a name="l00651"></a>00651     }
<a name="l00652"></a>00652
<a name="l00657"></a><a class="code" href="classandroid_1_1RSC_1_1Element.html#abdae22ce17b81b9c931f02481302ca46">00657</a>     uint32_t <a class="code" href="classandroid_1_1RSC_1_1Element.html#abdae22ce17b81b9c931f02481302ca46">getVectorSize</a>()<span class="keyword"> const </span>{
<a name="l00658"></a>00658         <span class="keywordflow">return</span> mVectorSize;
<a name="l00659"></a>00659     }
<a name="l00660"></a>00660
<a name="l00666"></a>00666     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#a03eb94692c2a7ffd8353373ef416876b">BOOLEAN</a>(sp&lt;RS&gt; rs);
<a name="l00672"></a>00672     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#a685e0e76cedd4d457f20fe4e36ab00b8">U8</a>(sp&lt;RS&gt; rs);
<a name="l00678"></a>00678     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#a253a510dd720bade6324e94dd2bf6064">I8</a>(sp&lt;RS&gt; rs);
<a name="l00684"></a>00684     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#ae6664c469040672733532b8d46181974">U16</a>(sp&lt;RS&gt; rs);
<a name="l00690"></a>00690     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#a909e326836fa1931b7d013b72bb238b9">I16</a>(sp&lt;RS&gt; rs);
<a name="l00696"></a>00696     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#a97c43a4c829fa6bf7b788e25ab38dc63">U32</a>(sp&lt;RS&gt; rs);
<a name="l00702"></a>00702     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#a4a71a4bd7f73708084abaf059f3b69d9">I32</a>(sp&lt;RS&gt; rs);
<a name="l00708"></a>00708     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#a3c45ab8ce73a2e652bcdfe8b632f870a">U64</a>(sp&lt;RS&gt; rs);
<a name="l00714"></a>00714     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#a8c5ef3c359e3ce8b03cfb7ebfaaa4723">I64</a>(sp&lt;RS&gt; rs);
<a name="l00720"></a>00720     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#a7cd574aa920bcf0bd7676ef12e8faf86">F32</a>(sp&lt;RS&gt; rs);
<a name="l00726"></a>00726     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#a2a156b02415f3c7781306757b4e6ff86">F64</a>(sp&lt;RS&gt; rs);
<a name="l00732"></a>00732     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#a52d7864dc41cdf9a9bccffd02564f88f">ELEMENT</a>(sp&lt;RS&gt; rs);
<a name="l00738"></a>00738     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#ad426d4adfccc00804ecd29397dfcae4b">TYPE</a>(sp&lt;RS&gt; rs);
<a name="l00744"></a>00744     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#ad7cec967de7508ed5f51ccecc3e43958">ALLOCATION</a>(sp&lt;RS&gt; rs);
<a name="l00750"></a>00750     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#a3fef8f6e13144323e5abe23f93727faa">SAMPLER</a>(sp&lt;RS&gt; rs);
<a name="l00756"></a>00756     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#a98a7cc92c40fee058b69045a7b9b25da">SCRIPT</a>(sp&lt;RS&gt; rs);
<a name="l00762"></a>00762     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#a5c5ab41b9abcdc410b5ad9bc033f969e">A_8</a>(sp&lt;RS&gt; rs);
<a name="l00768"></a>00768     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#ab7c867004008b4f4bd3492db8f142e0a">RGB_565</a>(sp&lt;RS&gt; rs);
<a name="l00774"></a>00774     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#a68e4d393957b1236247d6c03de8508ac">RGB_888</a>(sp&lt;RS&gt; rs);
<a name="l00780"></a>00780     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#a22d97b36faf9a6e5cb68a8154e2b0d6b">RGBA_5551</a>(sp&lt;RS&gt; rs);
<a name="l00786"></a>00786     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#aaba22a166b24a8cc18bea2f1b2c05b65">RGBA_4444</a>(sp&lt;RS&gt; rs);
<a name="l00792"></a>00792     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#a3499096cd7c11fea3711d61f39fdc3b4">RGBA_8888</a>(sp&lt;RS&gt; rs);
<a name="l00793"></a>00793
<a name="l00799"></a>00799     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#ab61e4800f47caea120ec50ca0fb57505">F32_2</a>(sp&lt;RS&gt; rs);
<a name="l00805"></a>00805     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#a97d4c34ac8c682c112b4f2cf894142d3">F32_3</a>(sp&lt;RS&gt; rs);
<a name="l00811"></a>00811     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#a388d2e9812c4ff4610de74a40a49467e">F32_4</a>(sp&lt;RS&gt; rs);
<a name="l00817"></a>00817     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#a2702b5676a8a91307be1ccaa30b396b4">F64_2</a>(sp&lt;RS&gt; rs);
<a name="l00823"></a>00823     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#a4010587d58497cdf511ada9aae7674ce">F64_3</a>(sp&lt;RS&gt; rs);
<a name="l00829"></a>00829     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#ae2a9038ba6526d40628e5f9689469221">F64_4</a>(sp&lt;RS&gt; rs);
<a name="l00835"></a>00835     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#a16372b6701a2ae427b91f034f98f8969">U8_2</a>(sp&lt;RS&gt; rs);
<a name="l00841"></a>00841     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#a8a4a66f1f8bcce2e71f7af910043d820">U8_3</a>(sp&lt;RS&gt; rs);
<a name="l00847"></a>00847     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#ac20649353c9aa97b557c9e254f67492f">U8_4</a>(sp&lt;RS&gt; rs);
<a name="l00853"></a>00853     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#a92a9ec1f2c19ee13a7c869502cbc08ae">I8_2</a>(sp&lt;RS&gt; rs);
<a name="l00859"></a>00859     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#a4d064b750ac65f8caf9fdf9f69271d02">I8_3</a>(sp&lt;RS&gt; rs);
<a name="l00865"></a>00865     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#ad05e74d257665041085a3f5ab2c3a2b0">I8_4</a>(sp&lt;RS&gt; rs);
<a name="l00871"></a>00871     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#a0fd26a84b5ccc124b09babbd03258e65">U16_2</a>(sp&lt;RS&gt; rs);
<a name="l00877"></a>00877     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#a76949cad4eacff904a5edfdd71361539">U16_3</a>(sp&lt;RS&gt; rs);
<a name="l00883"></a>00883     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#a55684e38747445df7d4ed2b8502a5e15">U16_4</a>(sp&lt;RS&gt; rs);
<a name="l00889"></a>00889     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#a7323339691ded8b0b50e3b099ec90c3a">I16_2</a>(sp&lt;RS&gt; rs);
<a name="l00895"></a>00895     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#acd84e217f33bfb744315b2340752370e">I16_3</a>(sp&lt;RS&gt; rs);
<a name="l00901"></a>00901     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#a4c57bb50d919386c1d0fed978f18b6f8">I16_4</a>(sp&lt;RS&gt; rs);
<a name="l00907"></a>00907     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#a26a9a26622a8d068781a0d7eef87dab5">U32_2</a>(sp&lt;RS&gt; rs);
<a name="l00913"></a>00913     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#a2bd4aef93cd7039e6a093243dbb69fd2">U32_3</a>(sp&lt;RS&gt; rs);
<a name="l00919"></a>00919     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#adcceb18cbe85edc2f62af6e751ae64bc">U32_4</a>(sp&lt;RS&gt; rs);
<a name="l00925"></a>00925     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#a837431e95049bcc539c466ce1502277f">I32_2</a>(sp&lt;RS&gt; rs);
<a name="l00931"></a>00931     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#a167926bf1978d84952bf53332313a329">I32_3</a>(sp&lt;RS&gt; rs);
<a name="l00937"></a>00937     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#abd04541c11096d72c59a174eeec1ef69">I32_4</a>(sp&lt;RS&gt; rs);
<a name="l00943"></a>00943     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#a4ac012a1e70e98bcffe1a951f4e512ec">U64_2</a>(sp&lt;RS&gt; rs);
<a name="l00949"></a>00949     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#a313588f5b66a041a7336a883f9bbc59f">U64_3</a>(sp&lt;RS&gt; rs);
<a name="l00955"></a>00955     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#a7df301be899fbbf7d6a43b160b9de9ff">U64_4</a>(sp&lt;RS&gt; rs);
<a name="l00961"></a>00961     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#a47dc785bde64d663ee3b29f524bc16d7">I64_2</a>(sp&lt;RS&gt; rs);
<a name="l00967"></a>00967     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#aeee892900573bb25af7e1615c2249685">I64_3</a>(sp&lt;RS&gt; rs);
<a name="l00973"></a>00973     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#a0359b89391ace9ba2982857f17007037">I64_4</a>(sp&lt;RS&gt; rs);
<a name="l00979"></a>00979     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#ac1636fe09e6df6f390e13f9eec1f301a">YUV</a>(sp&lt;RS&gt; rs);
<a name="l00985"></a>00985     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#ae86d34af397b300dc5bcd2bb853ae799">MATRIX_4X4</a>(sp&lt;RS&gt; rs);
<a name="l00991"></a>00991     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#a6fece5a3cfdbeec8c6956363efd2abda">MATRIX_3X3</a>(sp&lt;RS&gt; rs);
<a name="l00997"></a>00997     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#a437926b22d3c5daa3faa27e7a20df272">MATRIX_2X2</a>(sp&lt;RS&gt; rs);
<a name="l00998"></a>00998
<a name="l00999"></a>00999     <span class="keywordtype">void</span> updateFromNative();
<a name="l01000"></a>01000
<a name="l01007"></a>01007     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#afaf1fb2fb0c2ad977867ef5ac098a4b6">createUser</a>(sp&lt;RS&gt; rs, RsDataType dt);
<a name="l01015"></a>01015     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#a12061ba6e9db8bfefeddb934123e8fc7">createVector</a>(sp&lt;RS&gt; rs, RsDataType dt, uint32_t size);
<a name="l01023"></a>01023     <span class="keyword">static</span> sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Element.html#aeeca0087ef6e895d76b3048828f0e481">createPixel</a>(sp&lt;RS&gt; rs, RsDataType dt, RsDataKind dk);
<a name="l01024"></a>01024
<a name="l01030"></a>01030     <span class="keywordtype">bool</span> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a66e7b5cccf8f7296bc049308d3990d66">isCompatible</a>(sp&lt;const Element&gt;e) <span class="keyword">const</span>;
<a name="l01031"></a>01031
<a name="l01037"></a><a class="code" href="classandroid_1_1RSC_1_1Element_1_1Builder.html">01037</a>     <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Element_1_1Builder.html">Builder</a> {
<a name="l01038"></a>01038     <span class="keyword">private</span>:
<a name="l01039"></a>01039         <a class="code" href="classandroid_1_1RSC_1_1RS.html">RS</a>* mRS;
<a name="l01040"></a>01040         std::vector&lt;sp&lt;Element&gt; &gt; mElements;
<a name="l01041"></a>01041         std::vector&lt;std::string&gt; mElementNames;
<a name="l01042"></a>01042         std::vector&lt;uint32_t&gt; mArraySizes;
<a name="l01043"></a>01043         <span class="keywordtype">bool</span> mSkipPadding;
<a name="l01044"></a>01044
<a name="l01045"></a>01045     <span class="keyword">public</span>:
<a name="l01046"></a>01046         <a class="code" href="classandroid_1_1RSC_1_1Element_1_1Builder.html">Builder</a>(sp&lt;RS&gt; rs);
<a name="l01047"></a>01047         ~<a class="code" href="classandroid_1_1RSC_1_1Element_1_1Builder.html">Builder</a>();
<a name="l01048"></a>01048         <span class="keywordtype">void</span> add(sp&lt;Element&gt; e, std::string &amp;name, uint32_t arraySize = 1);
<a name="l01049"></a>01049         sp&lt;const Element&gt; create();
<a name="l01050"></a>01050     };
<a name="l01051"></a>01051
<a name="l01052"></a>01052 <span class="keyword">protected</span>:
<a name="l01053"></a>01053     <a class="code" href="classandroid_1_1RSC_1_1Element.html">Element</a>(<span class="keywordtype">void</span> *<span class="keywordtype">id</span>, sp&lt;RS&gt; rs,
<a name="l01054"></a>01054             std::vector&lt;sp&lt;Element&gt; &gt; &amp;elements,
<a name="l01055"></a>01055             std::vector&lt;std::string&gt; &amp;elementNames,
<a name="l01056"></a>01056             std::vector&lt;uint32_t&gt; &amp;arraySizes);
<a name="l01057"></a>01057     <a class="code" href="classandroid_1_1RSC_1_1Element.html">Element</a>(<span class="keywordtype">void</span> *<span class="keywordtype">id</span>, sp&lt;RS&gt; rs, RsDataType dt, RsDataKind dk, <span class="keywordtype">bool</span> norm, uint32_t size);
<a name="l01058"></a>01058     <a class="code" href="classandroid_1_1RSC_1_1Element.html">Element</a>(sp&lt;RS&gt; rs);
<a name="l01059"></a>01059     <span class="keyword">virtual</span> ~<a class="code" href="classandroid_1_1RSC_1_1Element.html">Element</a>();
<a name="l01060"></a>01060
<a name="l01061"></a>01061 <span class="keyword">private</span>:
<a name="l01062"></a>01062     <span class="keywordtype">void</span> updateVisibleSubElements();
<a name="l01063"></a>01063
<a name="l01064"></a>01064     std::vector&lt;sp&lt;Element&gt; &gt; mElements;
<a name="l01065"></a>01065     std::vector&lt;std::string&gt; mElementNames;
<a name="l01066"></a>01066     std::vector&lt;uint32_t&gt; mArraySizes;
<a name="l01067"></a>01067     std::vector&lt;uint32_t&gt; mVisibleElementMap;
<a name="l01068"></a>01068     std::vector&lt;uint32_t&gt; mOffsetInBytes;
<a name="l01069"></a>01069
<a name="l01070"></a>01070     RsDataType mType;
<a name="l01071"></a>01071     RsDataKind mKind;
<a name="l01072"></a>01072     <span class="keywordtype">bool</span> mNormalized;
<a name="l01073"></a>01073     <span class="keywordtype">size_t</span> mSizeBytes;
<a name="l01074"></a>01074     <span class="keywordtype">size_t</span> mVectorSize;
<a name="l01075"></a>01075 };
<a name="l01076"></a>01076
<a name="l01077"></a><a class="code" href="classandroid_1_1RSC_1_1FieldPacker.html">01077</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1FieldPacker.html">FieldPacker</a> {
<a name="l01078"></a>01078 <span class="keyword">protected</span>:
<a name="l01079"></a>01079     <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* mData;
<a name="l01080"></a>01080     <span class="keywordtype">size_t</span> mPos;
<a name="l01081"></a>01081     <span class="keywordtype">size_t</span> mLen;
<a name="l01082"></a>01082
<a name="l01083"></a>01083 <span class="keyword">public</span>:
<a name="l01084"></a>01084     <a class="code" href="classandroid_1_1RSC_1_1FieldPacker.html">FieldPacker</a>(<span class="keywordtype">size_t</span> len)
<a name="l01085"></a>01085         : mPos(0), mLen(len) {
<a name="l01086"></a>01086             mData = <span class="keyword">new</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>[len];
<a name="l01087"></a>01087         }
<a name="l01088"></a>01088
<a name="l01089"></a>01089     <span class="keyword">virtual</span> ~<a class="code" href="classandroid_1_1RSC_1_1FieldPacker.html">FieldPacker</a>() {
<a name="l01090"></a>01090         <span class="keyword">delete</span> [] mData;
<a name="l01091"></a>01091     }
<a name="l01092"></a>01092
<a name="l01093"></a>01093     <span class="keywordtype">void</span> align(<span class="keywordtype">size_t</span> v) {
<a name="l01094"></a>01094         <span class="keywordflow">if</span> ((v &amp; (v - 1)) != 0) {
<a name="l01095"></a>01095             <span class="comment">//            ALOGE(&quot;Non-power-of-two alignment: %zu&quot;, v);</span>
<a name="l01096"></a>01096             <span class="keywordflow">return</span>;
<a name="l01097"></a>01097         }
<a name="l01098"></a>01098
<a name="l01099"></a>01099         <span class="keywordflow">while</span> ((mPos &amp; (v - 1)) != 0) {
<a name="l01100"></a>01100             mData[mPos++] = 0;
<a name="l01101"></a>01101         }
<a name="l01102"></a>01102     }
<a name="l01103"></a>01103
<a name="l01104"></a>01104     <span class="keywordtype">void</span> reset() {
<a name="l01105"></a>01105         mPos = 0;
<a name="l01106"></a>01106     }
<a name="l01107"></a>01107
<a name="l01108"></a>01108     <span class="keywordtype">void</span> reset(<span class="keywordtype">size_t</span> i) {
<a name="l01109"></a>01109         <span class="keywordflow">if</span> (i &gt;= mLen) {
<a name="l01110"></a>01110             <span class="comment">//            ALOGE(&quot;Out of bounds: i (%zu) &gt;= len (%zu)&quot;, i, mLen);</span>
<a name="l01111"></a>01111             <span class="keywordflow">return</span>;
<a name="l01112"></a>01112         }
<a name="l01113"></a>01113         mPos = i;
<a name="l01114"></a>01114     }
<a name="l01115"></a>01115
<a name="l01116"></a>01116     <span class="keywordtype">void</span> skip(<span class="keywordtype">size_t</span> i) {
<a name="l01117"></a>01117         <span class="keywordtype">size_t</span> res = mPos + i;
<a name="l01118"></a>01118         <span class="keywordflow">if</span> (res &gt; mLen) {
<a name="l01119"></a>01119             <span class="comment">//            ALOGE(&quot;Exceeded buffer length: i (%zu) &gt; len (%zu)&quot;, i, mLen);</span>
<a name="l01120"></a>01120             <span class="keywordflow">return</span>;
<a name="l01121"></a>01121         }
<a name="l01122"></a>01122         mPos = res;
<a name="l01123"></a>01123     }
<a name="l01124"></a>01124
<a name="l01125"></a>01125     <span class="keywordtype">void</span>* getData()<span class="keyword"> const </span>{
<a name="l01126"></a>01126         <span class="keywordflow">return</span> mData;
<a name="l01127"></a>01127     }
<a name="l01128"></a>01128
<a name="l01129"></a>01129     <span class="keywordtype">size_t</span> getLength()<span class="keyword"> const </span>{
<a name="l01130"></a>01130         <span class="keywordflow">return</span> mLen;
<a name="l01131"></a>01131     }
<a name="l01132"></a>01132
<a name="l01133"></a>01133     <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l01134"></a>01134         <span class="keywordtype">void</span> add(T t) {
<a name="l01135"></a>01135         align(<span class="keyword">sizeof</span>(t));
<a name="l01136"></a>01136         <span class="keywordflow">if</span> (mPos + <span class="keyword">sizeof</span>(t) &lt;= mLen) {
<a name="l01137"></a>01137             memcpy(&amp;mData[mPos], &amp;t, <span class="keyword">sizeof</span>(t));
<a name="l01138"></a>01138             mPos += <span class="keyword">sizeof</span>(t);
<a name="l01139"></a>01139         }
<a name="l01140"></a>01140     }
<a name="l01141"></a>01141
<a name="l01142"></a>01142     <span class="comment">/*</span>
<a name="l01143"></a>01143 <span class="comment">      void add(rs_matrix4x4 m) {</span>
<a name="l01144"></a>01144 <span class="comment">      for (size_t i = 0; i &lt; 16; i++) {</span>
<a name="l01145"></a>01145 <span class="comment">      add(m.m[i]);</span>
<a name="l01146"></a>01146 <span class="comment">      }</span>
<a name="l01147"></a>01147 <span class="comment">      }</span>
<a name="l01148"></a>01148 <span class="comment"></span>
<a name="l01149"></a>01149 <span class="comment">      void add(rs_matrix3x3 m) {</span>
<a name="l01150"></a>01150 <span class="comment">      for (size_t i = 0; i &lt; 9; i++) {</span>
<a name="l01151"></a>01151 <span class="comment">      add(m.m[i]);</span>
<a name="l01152"></a>01152 <span class="comment">      }</span>
<a name="l01153"></a>01153 <span class="comment">      }</span>
<a name="l01154"></a>01154 <span class="comment"></span>
<a name="l01155"></a>01155 <span class="comment">      void add(rs_matrix2x2 m) {</span>
<a name="l01156"></a>01156 <span class="comment">      for (size_t i = 0; i &lt; 4; i++) {</span>
<a name="l01157"></a>01157 <span class="comment">      add(m.m[i]);</span>
<a name="l01158"></a>01158 <span class="comment">      }</span>
<a name="l01159"></a>01159 <span class="comment">      }</span>
<a name="l01160"></a>01160 <span class="comment">    */</span>
<a name="l01161"></a>01161
<a name="l01162"></a>01162     <span class="keywordtype">void</span> add(sp&lt;BaseObj&gt; obj) {
<a name="l01163"></a>01163         <span class="keywordflow">if</span> (obj != NULL) {
<a name="l01164"></a>01164             add((uint32_t) (uintptr_t) obj-&gt;getID());
<a name="l01165"></a>01165         } <span class="keywordflow">else</span> {
<a name="l01166"></a>01166             add((uint32_t) 0);
<a name="l01167"></a>01167         }
<a name="l01168"></a>01168     }
<a name="l01169"></a>01169 };
<a name="l01170"></a>01170
<a name="l01188"></a><a class="code" href="classandroid_1_1RSC_1_1Type.html">01188</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Type.html">Type</a> : <span class="keyword">public</span> <a class="code" href="classandroid_1_1RSC_1_1BaseObj.html">BaseObj</a> {
<a name="l01189"></a>01189 <span class="keyword">protected</span>:
<a name="l01190"></a>01190     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a>;
<a name="l01191"></a>01191
<a name="l01192"></a>01192     uint32_t mDimX;
<a name="l01193"></a>01193     uint32_t mDimY;
<a name="l01194"></a>01194     uint32_t mDimZ;
<a name="l01195"></a>01195     RSYuvFormat mYuvFormat;
<a name="l01196"></a>01196     <span class="keywordtype">bool</span> mDimMipmaps;
<a name="l01197"></a>01197     <span class="keywordtype">bool</span> mDimFaces;
<a name="l01198"></a>01198     <span class="keywordtype">size_t</span> mElementCount;
<a name="l01199"></a>01199     sp&lt;const Element&gt; mElement;
<a name="l01200"></a>01200
<a name="l01201"></a>01201     <a class="code" href="classandroid_1_1RSC_1_1Type.html">Type</a>(<span class="keywordtype">void</span> *<span class="keywordtype">id</span>, sp&lt;RS&gt; rs);
<a name="l01202"></a>01202
<a name="l01203"></a>01203     <span class="keywordtype">void</span> calcElementCount();
<a name="l01204"></a>01204     <span class="keyword">virtual</span> <span class="keywordtype">void</span> updateFromNative();
<a name="l01205"></a>01205
<a name="l01206"></a>01206 <span class="keyword">public</span>:
<a name="l01207"></a>01207
<a name="l01212"></a><a class="code" href="classandroid_1_1RSC_1_1Type.html#ac4ad2c5b3c9a4758b356b2152f03d4e8">01212</a>     RSYuvFormat <a class="code" href="classandroid_1_1RSC_1_1Type.html#ac4ad2c5b3c9a4758b356b2152f03d4e8">getYuvFormat</a>()<span class="keyword"> const </span>{
<a name="l01213"></a>01213         <span class="keywordflow">return</span> mYuvFormat;
<a name="l01214"></a>01214     }
<a name="l01215"></a>01215
<a name="l01220"></a><a class="code" href="classandroid_1_1RSC_1_1Type.html#a258364640b18256c338178b056fcc2d6">01220</a>     sp&lt;const Element&gt; <a class="code" href="classandroid_1_1RSC_1_1Type.html#a258364640b18256c338178b056fcc2d6">getElement</a>()<span class="keyword"> const </span>{
<a name="l01221"></a>01221         <span class="keywordflow">return</span> mElement;
<a name="l01222"></a>01222     }
<a name="l01223"></a>01223
<a name="l01228"></a><a class="code" href="classandroid_1_1RSC_1_1Type.html#ad324073e4cb9144f225fbea6074b3564">01228</a>     uint32_t <a class="code" href="classandroid_1_1RSC_1_1Type.html#ad324073e4cb9144f225fbea6074b3564">getX</a>()<span class="keyword"> const </span>{
<a name="l01229"></a>01229         <span class="keywordflow">return</span> mDimX;
<a name="l01230"></a>01230     }
<a name="l01231"></a>01231
<a name="l01236"></a><a class="code" href="classandroid_1_1RSC_1_1Type.html#ae3f2a8d78737664290c9da35e5afc284">01236</a>     uint32_t <a class="code" href="classandroid_1_1RSC_1_1Type.html#ae3f2a8d78737664290c9da35e5afc284">getY</a>()<span class="keyword"> const </span>{
<a name="l01237"></a>01237         <span class="keywordflow">return</span> mDimY;
<a name="l01238"></a>01238     }
<a name="l01239"></a>01239
<a name="l01244"></a><a class="code" href="classandroid_1_1RSC_1_1Type.html#a6640a753fb08cb9413559021b3f37665">01244</a>     uint32_t <a class="code" href="classandroid_1_1RSC_1_1Type.html#a6640a753fb08cb9413559021b3f37665">getZ</a>()<span class="keyword"> const </span>{
<a name="l01245"></a>01245         <span class="keywordflow">return</span> mDimZ;
<a name="l01246"></a>01246     }
<a name="l01247"></a>01247
<a name="l01252"></a><a class="code" href="classandroid_1_1RSC_1_1Type.html#ac0e02c8a4926a35f6237b00d3af3f829">01252</a>     <span class="keywordtype">bool</span> <a class="code" href="classandroid_1_1RSC_1_1Type.html#ac0e02c8a4926a35f6237b00d3af3f829">hasMipmaps</a>()<span class="keyword"> const </span>{
<a name="l01253"></a>01253         <span class="keywordflow">return</span> mDimMipmaps;
<a name="l01254"></a>01254     }
<a name="l01255"></a>01255
<a name="l01260"></a><a class="code" href="classandroid_1_1RSC_1_1Type.html#adc58082d46bfc33efc0232b2a85b5278">01260</a>     <span class="keywordtype">bool</span> <a class="code" href="classandroid_1_1RSC_1_1Type.html#adc58082d46bfc33efc0232b2a85b5278">hasFaces</a>()<span class="keyword"> const </span>{
<a name="l01261"></a>01261         <span class="keywordflow">return</span> mDimFaces;
<a name="l01262"></a>01262     }
<a name="l01263"></a>01263
<a name="l01268"></a><a class="code" href="classandroid_1_1RSC_1_1Type.html#a0fa390504b01957f1f9fe9e34899621c">01268</a>     <span class="keywordtype">size_t</span> <a class="code" href="classandroid_1_1RSC_1_1Type.html#a0fa390504b01957f1f9fe9e34899621c">getCount</a>()<span class="keyword"> const </span>{
<a name="l01269"></a>01269         <span class="keywordflow">return</span> mElementCount;
<a name="l01270"></a>01270     }
<a name="l01271"></a>01271
<a name="l01276"></a><a class="code" href="classandroid_1_1RSC_1_1Type.html#a046466fc4156806d9d133d38af965380">01276</a>     <span class="keywordtype">size_t</span> <a class="code" href="classandroid_1_1RSC_1_1Type.html#a046466fc4156806d9d133d38af965380">getSizeBytes</a>()<span class="keyword"> const </span>{
<a name="l01277"></a>01277         <span class="keywordflow">return</span> mElementCount * mElement-&gt;getSizeBytes();
<a name="l01278"></a>01278     }
<a name="l01279"></a>01279
<a name="l01289"></a>01289     <span class="keyword">static</span> sp&lt;const Type&gt; <a class="code" href="classandroid_1_1RSC_1_1Type.html#a26a26f44a40ffa8cc650152c3f834989">create</a>(sp&lt;RS&gt; rs, sp&lt;const Element&gt; e, uint32_t dimX, uint32_t dimY, uint32_t dimZ);
<a name="l01290"></a>01290
<a name="l01291"></a><a class="code" href="classandroid_1_1RSC_1_1Type_1_1Builder.html">01291</a>     <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Type_1_1Builder.html">Builder</a> {
<a name="l01292"></a>01292     <span class="keyword">protected</span>:
<a name="l01293"></a>01293         <a class="code" href="classandroid_1_1RSC_1_1RS.html">RS</a>* mRS;
<a name="l01294"></a>01294         uint32_t mDimX;
<a name="l01295"></a>01295         uint32_t mDimY;
<a name="l01296"></a>01296         uint32_t mDimZ;
<a name="l01297"></a>01297         RSYuvFormat mYuvFormat;
<a name="l01298"></a>01298         <span class="keywordtype">bool</span> mDimMipmaps;
<a name="l01299"></a>01299         <span class="keywordtype">bool</span> mDimFaces;
<a name="l01300"></a>01300         sp&lt;const Element&gt; mElement;
<a name="l01301"></a>01301
<a name="l01302"></a>01302     <span class="keyword">public</span>:
<a name="l01303"></a>01303         <a class="code" href="classandroid_1_1RSC_1_1Type_1_1Builder.html">Builder</a>(sp&lt;RS&gt; rs, sp&lt;const Element&gt; e);
<a name="l01304"></a>01304
<a name="l01305"></a>01305         <span class="keywordtype">void</span> setX(uint32_t value);
<a name="l01306"></a>01306         <span class="keywordtype">void</span> setY(uint32_t value);
<a name="l01307"></a>01307         <span class="keywordtype">void</span> setZ(uint32_t value);
<a name="l01308"></a>01308         <span class="keywordtype">void</span> setYuvFormat(RSYuvFormat format);
<a name="l01309"></a>01309         <span class="keywordtype">void</span> setMipmaps(<span class="keywordtype">bool</span> value);
<a name="l01310"></a>01310         <span class="keywordtype">void</span> setFaces(<span class="keywordtype">bool</span> value);
<a name="l01311"></a>01311         sp&lt;const Type&gt; create();
<a name="l01312"></a>01312     };
<a name="l01313"></a>01313
<a name="l01314"></a>01314 };
<a name="l01315"></a>01315
<a name="l01319"></a><a class="code" href="classandroid_1_1RSC_1_1Script.html">01319</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Script.html">Script</a> : <span class="keyword">public</span> <a class="code" href="classandroid_1_1RSC_1_1BaseObj.html">BaseObj</a> {
<a name="l01320"></a>01320 <span class="keyword">private</span>:
<a name="l01321"></a>01321
<a name="l01322"></a>01322 <span class="keyword">protected</span>:
<a name="l01323"></a>01323     <a class="code" href="classandroid_1_1RSC_1_1Script.html">Script</a>(<span class="keywordtype">void</span> *<span class="keywordtype">id</span>, sp&lt;RS&gt; rs);
<a name="l01324"></a>01324     <span class="keywordtype">void</span> forEach(uint32_t slot, sp&lt;const Allocation&gt; in, sp&lt;const Allocation&gt; out,
<a name="l01325"></a>01325             <span class="keyword">const</span> <span class="keywordtype">void</span> *v, <span class="keywordtype">size_t</span>) <span class="keyword">const</span>;
<a name="l01326"></a>01326     <span class="keywordtype">void</span> bindAllocation(sp&lt;Allocation&gt; va, uint32_t slot) <span class="keyword">const</span>;
<a name="l01327"></a>01327     <span class="keywordtype">void</span> setVar(uint32_t index, <span class="keyword">const</span> <span class="keywordtype">void</span> *, <span class="keywordtype">size_t</span> len) <span class="keyword">const</span>;
<a name="l01328"></a>01328     <span class="keywordtype">void</span> setVar(uint32_t index, sp&lt;const BaseObj&gt; o) <span class="keyword">const</span>;
<a name="l01329"></a>01329     <span class="keywordtype">void</span> invoke(uint32_t slot, <span class="keyword">const</span> <span class="keywordtype">void</span> *v, <span class="keywordtype">size_t</span> len) <span class="keyword">const</span>;
<a name="l01330"></a>01330
<a name="l01331"></a>01331
<a name="l01332"></a>01332     <span class="keywordtype">void</span> invoke(uint32_t slot)<span class="keyword"> const </span>{
<a name="l01333"></a>01333         invoke(slot, NULL, 0);
<a name="l01334"></a>01334     }
<a name="l01335"></a>01335     <span class="keywordtype">void</span> setVar(uint32_t index, <span class="keywordtype">float</span> v)<span class="keyword"> const </span>{
<a name="l01336"></a>01336         setVar(index, &amp;v, <span class="keyword">sizeof</span>(v));
<a name="l01337"></a>01337     }
<a name="l01338"></a>01338     <span class="keywordtype">void</span> setVar(uint32_t index, <span class="keywordtype">double</span> v)<span class="keyword"> const </span>{
<a name="l01339"></a>01339         setVar(index, &amp;v, <span class="keyword">sizeof</span>(v));
<a name="l01340"></a>01340     }
<a name="l01341"></a>01341     <span class="keywordtype">void</span> setVar(uint32_t index, int32_t v)<span class="keyword"> const </span>{
<a name="l01342"></a>01342         setVar(index, &amp;v, <span class="keyword">sizeof</span>(v));
<a name="l01343"></a>01343     }
<a name="l01344"></a>01344     <span class="keywordtype">void</span> setVar(uint32_t index, int64_t v)<span class="keyword"> const </span>{
<a name="l01345"></a>01345         setVar(index, &amp;v, <span class="keyword">sizeof</span>(v));
<a name="l01346"></a>01346     }
<a name="l01347"></a>01347     <span class="keywordtype">void</span> setVar(uint32_t index, <span class="keywordtype">bool</span> v)<span class="keyword"> const </span>{
<a name="l01348"></a>01348         setVar(index, &amp;v, <span class="keyword">sizeof</span>(v));
<a name="l01349"></a>01349     }
<a name="l01350"></a>01350
<a name="l01351"></a>01351 <span class="keyword">public</span>:
<a name="l01352"></a><a class="code" href="classandroid_1_1RSC_1_1Script_1_1FieldBase.html">01352</a>     <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Script_1_1FieldBase.html">FieldBase</a> {
<a name="l01353"></a>01353     <span class="keyword">protected</span>:
<a name="l01354"></a>01354         sp&lt;const Element&gt; mElement;
<a name="l01355"></a>01355         sp&lt;Allocation&gt; mAllocation;
<a name="l01356"></a>01356
<a name="l01357"></a>01357         <span class="keywordtype">void</span> init(sp&lt;RS&gt; rs, uint32_t dimx, uint32_t usages = 0);
<a name="l01358"></a>01358
<a name="l01359"></a>01359     <span class="keyword">public</span>:
<a name="l01360"></a>01360         sp&lt;const Element&gt; getElement() {
<a name="l01361"></a>01361             <span class="keywordflow">return</span> mElement;
<a name="l01362"></a>01362         }
<a name="l01363"></a>01363
<a name="l01364"></a>01364         sp&lt;const Type&gt; getType() {
<a name="l01365"></a>01365             <span class="keywordflow">return</span> mAllocation-&gt;getType();
<a name="l01366"></a>01366         }
<a name="l01367"></a>01367
<a name="l01368"></a>01368         sp&lt;const Allocation&gt; getAllocation() {
<a name="l01369"></a>01369             <span class="keywordflow">return</span> mAllocation;
<a name="l01370"></a>01370         }
<a name="l01371"></a>01371
<a name="l01372"></a>01372         <span class="comment">//void updateAllocation();</span>
<a name="l01373"></a>01373     };
<a name="l01374"></a>01374 };
<a name="l01375"></a>01375
<a name="l01379"></a><a class="code" href="classandroid_1_1RSC_1_1ScriptC.html">01379</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1ScriptC.html">ScriptC</a> : <span class="keyword">public</span> <a class="code" href="classandroid_1_1RSC_1_1Script.html">Script</a> {
<a name="l01380"></a>01380 <span class="keyword">protected</span>:
<a name="l01381"></a>01381     <a class="code" href="classandroid_1_1RSC_1_1ScriptC.html">ScriptC</a>(sp&lt;RS&gt; rs,
<a name="l01382"></a>01382             <span class="keyword">const</span> <span class="keywordtype">void</span> *codeTxt, <span class="keywordtype">size_t</span> codeLength,
<a name="l01383"></a>01383             <span class="keyword">const</span> <span class="keywordtype">char</span> *cachedName, <span class="keywordtype">size_t</span> cachedNameLength,
<a name="l01384"></a>01384             <span class="keyword">const</span> <span class="keywordtype">char</span> *cacheDir, <span class="keywordtype">size_t</span> cacheDirLength);
<a name="l01385"></a>01385
<a name="l01386"></a>01386 };
<a name="l01387"></a>01387
<a name="l01392"></a><a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsic.html">01392</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsic.html">ScriptIntrinsic</a> : <span class="keyword">public</span> <a class="code" href="classandroid_1_1RSC_1_1Script.html">Script</a> {
<a name="l01393"></a>01393  <span class="keyword">protected</span>:
<a name="l01394"></a>01394     sp&lt;const Element&gt; mElement;
<a name="l01395"></a>01395     <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsic.html">ScriptIntrinsic</a>(sp&lt;RS&gt; rs, <span class="keywordtype">int</span> <span class="keywordtype">id</span>, sp&lt;const Element&gt; e);
<a name="l01396"></a>01396     <span class="keyword">virtual</span> ~<a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsic.html">ScriptIntrinsic</a>();
<a name="l01397"></a>01397 };
<a name="l01398"></a>01398
<a name="l01405"></a><a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsic3DLUT.html">01405</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsic3DLUT.html">ScriptIntrinsic3DLUT</a> : <span class="keyword">public</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsic.html">ScriptIntrinsic</a> {
<a name="l01406"></a>01406  <span class="keyword">private</span>:
<a name="l01407"></a>01407     <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsic3DLUT.html">ScriptIntrinsic3DLUT</a>(sp&lt;RS&gt; rs, sp&lt;const Element&gt; e);
<a name="l01408"></a>01408  <span class="keyword">public</span>:
<a name="l01415"></a>01415     <span class="keyword">static</span> sp&lt;ScriptIntrinsic3DLUT&gt; <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsic3DLUT.html#ae20e9165cc0bbef03d0d7b99ae238758">create</a>(sp&lt;RS&gt; rs, sp&lt;const Element&gt; e);
<a name="l01416"></a>01416
<a name="l01422"></a>01422     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsic3DLUT.html#ac33f9e12362112f24560205389db2eff">forEach</a>(sp&lt;Allocation&gt; ain, sp&lt;Allocation&gt; aout);
<a name="l01423"></a>01423
<a name="l01429"></a>01429     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsic3DLUT.html#a14e28c25094206e8f49b42682d682927">setLUT</a>(sp&lt;Allocation&gt; lut);
<a name="l01430"></a>01430 };
<a name="l01431"></a>01431
<a name="l01435"></a><a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlend.html">01435</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlend.html">ScriptIntrinsicBlend</a> : <span class="keyword">public</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsic.html">ScriptIntrinsic</a> {
<a name="l01436"></a>01436  <span class="keyword">private</span>:
<a name="l01437"></a>01437     <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlend.html">ScriptIntrinsicBlend</a>(sp&lt;RS&gt; rs, sp&lt;const Element&gt; e);
<a name="l01438"></a>01438  <span class="keyword">public</span>:
<a name="l01445"></a>01445     <span class="keyword">static</span> sp&lt;ScriptIntrinsicBlend&gt; <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlend.html#a1dbb5e8934181bd464aa941ab4ed04c2">create</a>(sp&lt;RS&gt; rs, sp&lt;const Element&gt; e);
<a name="l01451"></a>01451     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlend.html#addb362087b29501a147532b71fa1bd84">forEachClear</a>(sp&lt;Allocation&gt; in, sp&lt;Allocation&gt; out);
<a name="l01457"></a>01457     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlend.html#a4a9b89fe7c7d0b508cb76ef3ff17b21f">forEachSrc</a>(sp&lt;Allocation&gt; in, sp&lt;Allocation&gt; out);
<a name="l01463"></a>01463     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlend.html#a0fd92d628989897bc74950dfe7d526a9">forEachDst</a>(sp&lt;Allocation&gt; in, sp&lt;Allocation&gt; out);
<a name="l01469"></a>01469     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlend.html#a549d5ac3e162fe09953e91c3f051bfe1">forEachSrcOver</a>(sp&lt;Allocation&gt; in, sp&lt;Allocation&gt; out);
<a name="l01475"></a>01475     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlend.html#a345320822d155e67b31bf3dd3bdd92cd">forEachDstOver</a>(sp&lt;Allocation&gt; in, sp&lt;Allocation&gt; out);
<a name="l01481"></a>01481     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlend.html#aa9eeb76a0bcab43ce0b184d763d4330b">forEachSrcIn</a>(sp&lt;Allocation&gt; in, sp&lt;Allocation&gt; out);
<a name="l01487"></a>01487     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlend.html#a1a8c4062af7c2b65ef75265205a43074">forEachDstIn</a>(sp&lt;Allocation&gt; in, sp&lt;Allocation&gt; out);
<a name="l01493"></a>01493     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlend.html#ab4de9592804d272a87c11391007829af">forEachSrcOut</a>(sp&lt;Allocation&gt; in, sp&lt;Allocation&gt; out);
<a name="l01499"></a>01499     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlend.html#a72d0bc7a4766cf7c232f03dd9b0bdd33">forEachDstOut</a>(sp&lt;Allocation&gt; in, sp&lt;Allocation&gt; out);
<a name="l01505"></a>01505     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlend.html#a11d157495a1970b479cfc831222079d6">forEachSrcAtop</a>(sp&lt;Allocation&gt; in, sp&lt;Allocation&gt; out);
<a name="l01511"></a>01511     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlend.html#aa651ce27efb7f78b0615563c3fd41f31">forEachDstAtop</a>(sp&lt;Allocation&gt; in, sp&lt;Allocation&gt; out);
<a name="l01517"></a>01517     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlend.html#ac3fbf3acd4ff8d26779930f4fdc42cb8">forEachXor</a>(sp&lt;Allocation&gt; in, sp&lt;Allocation&gt; out);
<a name="l01523"></a>01523     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlend.html#a10061ec772c84fedd9f04f43e06ad0a9">forEachMultiply</a>(sp&lt;Allocation&gt; in, sp&lt;Allocation&gt; out);
<a name="l01529"></a>01529     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlend.html#a858f1780417ac702b26becaae865f736">forEachAdd</a>(sp&lt;Allocation&gt; in, sp&lt;Allocation&gt; out);
<a name="l01535"></a>01535     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlend.html#aeb8ee656f6d3ac2d21a4e2ca74f25cd9">forEachSubtract</a>(sp&lt;Allocation&gt; in, sp&lt;Allocation&gt; out);
<a name="l01536"></a>01536 };
<a name="l01537"></a>01537
<a name="l01542"></a><a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlur.html">01542</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlur.html">ScriptIntrinsicBlur</a> : <span class="keyword">public</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsic.html">ScriptIntrinsic</a> {
<a name="l01543"></a>01543  <span class="keyword">private</span>:
<a name="l01544"></a>01544     <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlur.html">ScriptIntrinsicBlur</a>(sp&lt;RS&gt; rs, sp&lt;const Element&gt; e);
<a name="l01545"></a>01545  <span class="keyword">public</span>:
<a name="l01552"></a>01552     <span class="keyword">static</span> sp&lt;ScriptIntrinsicBlur&gt; <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlur.html#a8fac744731e103570f149012cfad7426">create</a>(sp&lt;RS&gt; rs, sp&lt;const Element&gt; e);
<a name="l01557"></a>01557     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlur.html#a8f3edd1e3243209076159e8c2d7ddefc">setInput</a>(sp&lt;Allocation&gt; in);
<a name="l01562"></a>01562     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlur.html#ae8e448c1a7cf4505ce9008cdd20bcfed">forEach</a>(sp&lt;Allocation&gt; out);
<a name="l01567"></a>01567     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlur.html#ad25f4cb45a95a01f1e9adfeb6e0d810b">setRadius</a>(<span class="keywordtype">float</span> radius);
<a name="l01568"></a>01568 };
<a name="l01569"></a>01569
<a name="l01577"></a><a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicColorMatrix.html">01577</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicColorMatrix.html">ScriptIntrinsicColorMatrix</a> : <span class="keyword">public</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsic.html">ScriptIntrinsic</a> {
<a name="l01578"></a>01578  <span class="keyword">private</span>:
<a name="l01579"></a>01579     <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicColorMatrix.html">ScriptIntrinsicColorMatrix</a>(sp&lt;RS&gt; rs, sp&lt;const Element&gt; e);
<a name="l01580"></a>01580  <span class="keyword">public</span>:
<a name="l01586"></a>01586     <span class="keyword">static</span> sp&lt;ScriptIntrinsicColorMatrix&gt; <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicColorMatrix.html#a9cea306b067bead29220cfebabc2860a">create</a>(sp&lt;RS&gt; rs);
<a name="l01593"></a>01593     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicColorMatrix.html#aaaa3afb31ff042eb463d9ce2fa983c49">forEach</a>(sp&lt;Allocation&gt; in, sp&lt;Allocation&gt; out);
<a name="l01599"></a>01599     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicColorMatrix.html#a6f8e4e4acb841f80b99e00f66f424413">setAdd</a>(<span class="keywordtype">float</span>* add);
<a name="l01600"></a>01600
<a name="l01607"></a>01607     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicColorMatrix.html#aab9cee1734186c000b27950a4919bfac">setColorMatrix3</a>(<span class="keywordtype">float</span>* m);
<a name="l01614"></a>01614     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicColorMatrix.html#a9f9a613dc01b1c32436f517f1256d7c1">setColorMatrix4</a>(<span class="keywordtype">float</span>* m);
<a name="l01619"></a>01619     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicColorMatrix.html#ae85ce011c6a36f662b641981c48bc78d">setGreyscale</a>();
<a name="l01624"></a>01624     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicColorMatrix.html#aa8a64388a63db69f8054092ce64c7b73">setRGBtoYUV</a>();
<a name="l01629"></a>01629     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicColorMatrix.html#aa91f50c71c2800b062d659989cf6c722">setYUVtoRGB</a>();
<a name="l01630"></a>01630 };
<a name="l01631"></a>01631
<a name="l01635"></a><a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicConvolve3x3.html">01635</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicConvolve3x3.html">ScriptIntrinsicConvolve3x3</a> : <span class="keyword">public</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsic.html">ScriptIntrinsic</a> {
<a name="l01636"></a>01636  <span class="keyword">private</span>:
<a name="l01637"></a>01637     <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicConvolve3x3.html">ScriptIntrinsicConvolve3x3</a>(sp&lt;RS&gt; rs, sp&lt;const Element&gt; e);
<a name="l01638"></a>01638  <span class="keyword">public</span>:
<a name="l01646"></a>01646     <span class="keyword">static</span> sp&lt;ScriptIntrinsicConvolve3x3&gt; <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicConvolve3x3.html#a75322ba192a90765448e6d677876fdd2">create</a>(sp&lt;RS&gt; rs, sp&lt;const Element&gt; e);
<a name="l01651"></a>01651     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicConvolve3x3.html#af37c3c898638afbda2911253c8d5f425">setInput</a>(sp&lt;Allocation&gt; in);
<a name="l01656"></a>01656     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicConvolve3x3.html#a1452800d1d0c8850d1a16af98e422478">forEach</a>(sp&lt;Allocation&gt; out);
<a name="l01661"></a>01661     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicConvolve3x3.html#a7e078b7dd03ed4ef95359e5c8aa4221a">setCoefficients</a>(<span class="keywordtype">float</span>* v);
<a name="l01662"></a>01662 };
<a name="l01663"></a>01663
<a name="l01667"></a><a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicConvolve5x5.html">01667</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicConvolve5x5.html">ScriptIntrinsicConvolve5x5</a> : <span class="keyword">public</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsic.html">ScriptIntrinsic</a> {
<a name="l01668"></a>01668  <span class="keyword">private</span>:
<a name="l01669"></a>01669     <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicConvolve5x5.html">ScriptIntrinsicConvolve5x5</a>(sp&lt;RS&gt; rs, sp&lt;const Element&gt; e);
<a name="l01670"></a>01670  <span class="keyword">public</span>:
<a name="l01678"></a>01678     <span class="keyword">static</span> sp&lt;ScriptIntrinsicConvolve5x5&gt; <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicConvolve5x5.html#a16edb5063e7113f5923fa8b11197cb62">create</a>(sp&lt;RS&gt; rs, sp&lt;const Element&gt; e);
<a name="l01683"></a>01683     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicConvolve5x5.html#a2f7c0212e1bb075153831ed543147d51">setInput</a>(sp&lt;Allocation&gt; in);
<a name="l01688"></a>01688     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicConvolve5x5.html#ab7ffe13967fd33f3fce8a8e48dc1c9f6">forEach</a>(sp&lt;Allocation&gt; out);
<a name="l01693"></a>01693     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicConvolve5x5.html#a32a6051b732023e668807616f87c17dd">setCoefficients</a>(<span class="keywordtype">float</span>* v);
<a name="l01694"></a>01694 };
<a name="l01695"></a>01695
<a name="l01699"></a><a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicHistogram.html">01699</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicHistogram.html">ScriptIntrinsicHistogram</a> : <span class="keyword">public</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsic.html">ScriptIntrinsic</a> {
<a name="l01700"></a>01700  <span class="keyword">private</span>:
<a name="l01701"></a>01701     <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicHistogram.html">ScriptIntrinsicHistogram</a>(sp&lt;RS&gt; rs, sp&lt;const Element&gt; e);
<a name="l01702"></a>01702     sp&lt;Allocation&gt; mOut;
<a name="l01703"></a>01703  <span class="keyword">public</span>:
<a name="l01715"></a>01715     <span class="keyword">static</span> sp&lt;ScriptIntrinsicHistogram&gt; <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicHistogram.html#a3e4468e6fc3aef620ea080493c257da0">create</a>(sp&lt;RS&gt; rs);
<a name="l01722"></a>01722     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicHistogram.html#a5836cb535900b271cfc80445e7bd3890">setOutput</a>(sp&lt;Allocation&gt; aout);
<a name="l01734"></a>01734     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicHistogram.html#aeac5401581ac83a7f812e70d8af19247">setDotCoefficients</a>(<span class="keywordtype">float</span> r, <span class="keywordtype">float</span> g, <span class="keywordtype">float</span> b, <span class="keywordtype">float</span> a);
<a name="l01747"></a>01747     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicHistogram.html#a8a9c2cab4f07c66a9a167fab07da9897">forEach</a>(sp&lt;Allocation&gt; ain);
<a name="l01758"></a>01758     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicHistogram.html#a0d92ce93a488ae86c5acaeefc380ec98">forEach_dot</a>(sp&lt;Allocation&gt; ain);
<a name="l01759"></a>01759 };
<a name="l01760"></a>01760
<a name="l01766"></a><a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicLUT.html">01766</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicLUT.html">ScriptIntrinsicLUT</a> : <span class="keyword">public</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsic.html">ScriptIntrinsic</a> {
<a name="l01767"></a>01767  <span class="keyword">private</span>:
<a name="l01768"></a>01768     sp&lt;Allocation&gt; LUT;
<a name="l01769"></a>01769     <span class="keywordtype">bool</span> mDirty;
<a name="l01770"></a>01770     <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> mCache[1024];
<a name="l01771"></a>01771     <span class="keywordtype">void</span> setTable(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> offset, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> base, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> length, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* lutValues);
<a name="l01772"></a>01772     <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicLUT.html">ScriptIntrinsicLUT</a>(sp&lt;RS&gt; rs, sp&lt;const Element&gt; e);
<a name="l01773"></a>01773
<a name="l01774"></a>01774  <span class="keyword">public</span>:
<a name="l01785"></a>01785     <span class="keyword">static</span> sp&lt;ScriptIntrinsicLUT&gt; <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicLUT.html#aeb5f4cdbd9d71858413b5835685b2eb3">create</a>(sp&lt;RS&gt; rs, sp&lt;const Element&gt; e);
<a name="l01793"></a>01793     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicLUT.html#a3774786291f4b145652ce795e9d9521c">forEach</a>(sp&lt;Allocation&gt; ain, sp&lt;Allocation&gt; aout);
<a name="l01800"></a>01800     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicLUT.html#acf543cd20e303ef4a760a22d1a350e18">setRed</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> base, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> length, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* lutValues);
<a name="l01807"></a>01807     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicLUT.html#a46ce58490f4e95422fd76f1a704f6f99">setGreen</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> base, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> length, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* lutValues);
<a name="l01814"></a>01814     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicLUT.html#ac26e8d50edaa64e7e1972771054bb968">setBlue</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> base, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> length, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* lutValues);
<a name="l01821"></a>01821     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicLUT.html#ad5cf5d3a61ad299eac6d40947ac4f872">setAlpha</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> base, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> length, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* lutValues);
<a name="l01822"></a>01822     <span class="keyword">virtual</span> ~<a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicLUT.html">ScriptIntrinsicLUT</a>();
<a name="l01823"></a>01823 };
<a name="l01824"></a>01824
<a name="l01832"></a><a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicYuvToRGB.html">01832</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicYuvToRGB.html">ScriptIntrinsicYuvToRGB</a> : <span class="keyword">public</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsic.html">ScriptIntrinsic</a> {
<a name="l01833"></a>01833  <span class="keyword">private</span>:
<a name="l01834"></a>01834     <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicYuvToRGB.html">ScriptIntrinsicYuvToRGB</a>(sp&lt;RS&gt; rs, sp&lt;const Element&gt; e);
<a name="l01835"></a>01835  <span class="keyword">public</span>:
<a name="l01846"></a>01846     <span class="keyword">static</span> sp&lt;ScriptIntrinsicYuvToRGB&gt; <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicYuvToRGB.html#adc5488f3137b97a1d76f5765fcb333fd">create</a>(sp&lt;RS&gt; rs, sp&lt;const Element&gt; e);
<a name="l01852"></a>01852     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicYuvToRGB.html#a7a57038de7d52c53956029dc9dc51dde">setInput</a>(sp&lt;Allocation&gt; in);
<a name="l01853"></a>01853
<a name="l01860"></a>01860     <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicYuvToRGB.html#a82cc7e843804e20d728c2158cfa481f7">forEach</a>(sp&lt;Allocation&gt; out);
<a name="l01861"></a>01861
<a name="l01862"></a>01862 };
<a name="l01863"></a>01863
<a name="l01874"></a><a class="code" href="classandroid_1_1RSC_1_1Sampler.html">01874</a>  <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Sampler.html">Sampler</a> : <span class="keyword">public</span> <a class="code" href="classandroid_1_1RSC_1_1BaseObj.html">BaseObj</a> {
<a name="l01875"></a>01875  <span class="keyword">private</span>:
<a name="l01876"></a>01876     <a class="code" href="classandroid_1_1RSC_1_1Sampler.html">Sampler</a>(sp&lt;RS&gt; rs, <span class="keywordtype">void</span>* <span class="keywordtype">id</span>);
<a name="l01877"></a>01877     RsSamplerValue mMin;
<a name="l01878"></a>01878     RsSamplerValue mMag;
<a name="l01879"></a>01879     RsSamplerValue mWrapS;
<a name="l01880"></a>01880     RsSamplerValue mWrapT;
<a name="l01881"></a>01881     RsSamplerValue mWrapR;
<a name="l01882"></a>01882     <span class="keywordtype">float</span> mAniso;
<a name="l01883"></a>01883
<a name="l01884"></a>01884  <span class="keyword">public</span>:
<a name="l01894"></a>01894     <span class="keyword">static</span> sp&lt;Sampler&gt; <a class="code" href="classandroid_1_1RSC_1_1Sampler.html#a579e236fabaca164d0639bcb9c95a169">create</a>(sp&lt;RS&gt; rs, RsSamplerValue min, RsSamplerValue mag, RsSamplerValue wrapS, RsSamplerValue wrapT, <span class="keywordtype">float</span> anisotropy);
<a name="l01895"></a>01895
<a name="l01899"></a>01899     RsSamplerValue <a class="code" href="classandroid_1_1RSC_1_1Sampler.html#a22c6f5b3bf6e430a0295ab99f65f3dca">getMinification</a>();
<a name="l01903"></a>01903     RsSamplerValue <a class="code" href="classandroid_1_1RSC_1_1Sampler.html#acaa10a3d84d99cd68d2274cbb427abb9">getMagnification</a>();
<a name="l01907"></a>01907     RsSamplerValue <a class="code" href="classandroid_1_1RSC_1_1Sampler.html#aaa21bc15543fcf02bbd688c38e14080f">getWrapS</a>();
<a name="l01911"></a>01911     RsSamplerValue <a class="code" href="classandroid_1_1RSC_1_1Sampler.html#a9515051eeea23c062d29ca8361114919">getWrapT</a>();
<a name="l01915"></a>01915     <span class="keywordtype">float</span> <a class="code" href="classandroid_1_1RSC_1_1Sampler.html#ac4f94713027d23277a520f27f1522624">getAnisotropy</a>();
<a name="l01916"></a>01916
<a name="l01925"></a>01925     <span class="keyword">static</span> sp&lt;const Sampler&gt; <a class="code" href="classandroid_1_1RSC_1_1Sampler.html#a0518c8081002dd7c5633c85a79e9c2f6">CLAMP_NEAREST</a>(sp&lt;RS&gt; rs);
<a name="l01934"></a>01934     <span class="keyword">static</span> sp&lt;const Sampler&gt; <a class="code" href="classandroid_1_1RSC_1_1Sampler.html#a06c0a2b5a1c589855bdfa568ab3af5d7">CLAMP_LINEAR</a>(sp&lt;RS&gt; rs);
<a name="l01943"></a>01943     <span class="keyword">static</span> sp&lt;const Sampler&gt; <a class="code" href="classandroid_1_1RSC_1_1Sampler.html#a3eab76d9b2f713959e69e54dc5041ba8">CLAMP_LINEAR_MIP_LINEAR</a>(sp&lt;RS&gt; rs);
<a name="l01952"></a>01952     <span class="keyword">static</span> sp&lt;const Sampler&gt; <a class="code" href="classandroid_1_1RSC_1_1Sampler.html#a92624553227aa533faa94d6c09ae54ef">WRAP_NEAREST</a>(sp&lt;RS&gt; rs);
<a name="l01961"></a>01961     <span class="keyword">static</span> sp&lt;const Sampler&gt; <a class="code" href="classandroid_1_1RSC_1_1Sampler.html#a0984f4d8fc88d29d90d5a78b9cc3bb02">WRAP_LINEAR</a>(sp&lt;RS&gt; rs);
<a name="l01970"></a>01970     <span class="keyword">static</span> sp&lt;const Sampler&gt; <a class="code" href="classandroid_1_1RSC_1_1Sampler.html#a11da4896311f9b3f71af904afb46b8f0">WRAP_LINEAR_MIP_LINEAR</a>(sp&lt;RS&gt; rs);
<a name="l01979"></a>01979     <span class="keyword">static</span> sp&lt;const Sampler&gt; <a class="code" href="classandroid_1_1RSC_1_1Sampler.html#aa1d8a9143f4e82182c11605d85c9deec">MIRRORED_REPEAT_NEAREST</a>(sp&lt;RS&gt; rs);
<a name="l01988"></a>01988     <span class="keyword">static</span> sp&lt;const Sampler&gt; <a class="code" href="classandroid_1_1RSC_1_1Sampler.html#a56e9fa97beed1f3f0cf9baf23c2125b7">MIRRORED_REPEAT_LINEAR</a>(sp&lt;RS&gt; rs);
<a name="l01997"></a>01997     <span class="keyword">static</span> sp&lt;const Sampler&gt; <a class="code" href="classandroid_1_1RSC_1_1Sampler.html#adb6b89babff823202d1c5a112e6124ac">MIRRORED_REPEAT_LINEAR_MIP_LINEAR</a>(sp&lt;RS&gt; rs);
<a name="l01998"></a>01998
<a name="l01999"></a>01999 };
<a name="l02000"></a>02000
<a name="l02001"></a><a class="code" href="classandroid_1_1RSC_1_1Byte2.html">02001</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Byte2.html">Byte2</a> {
<a name="l02002"></a>02002  <span class="keyword">public</span>:
<a name="l02003"></a>02003   int8_t x, y;
<a name="l02004"></a>02004
<a name="l02005"></a>02005   <a class="code" href="classandroid_1_1RSC_1_1Byte2.html">Byte2</a>(int8_t initX, int8_t initY)
<a name="l02006"></a>02006     : x(initX), y(initY) {}
<a name="l02007"></a>02007   <a class="code" href="classandroid_1_1RSC_1_1Byte2.html">Byte2</a>() : x(0), y(0) {}
<a name="l02008"></a>02008 };
<a name="l02009"></a>02009
<a name="l02010"></a><a class="code" href="classandroid_1_1RSC_1_1Byte3.html">02010</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Byte3.html">Byte3</a> {
<a name="l02011"></a>02011  <span class="keyword">public</span>:
<a name="l02012"></a>02012   int8_t x, y, z;
<a name="l02013"></a>02013
<a name="l02014"></a>02014   <a class="code" href="classandroid_1_1RSC_1_1Byte3.html">Byte3</a>(int8_t initX, int8_t initY, int8_t initZ)
<a name="l02015"></a>02015     : x(initX), y(initY), z(initZ) {}
<a name="l02016"></a>02016   <a class="code" href="classandroid_1_1RSC_1_1Byte3.html">Byte3</a>() : x(0), y(0), z(0) {}
<a name="l02017"></a>02017 };
<a name="l02018"></a>02018
<a name="l02019"></a><a class="code" href="classandroid_1_1RSC_1_1Byte4.html">02019</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Byte4.html">Byte4</a> {
<a name="l02020"></a>02020  <span class="keyword">public</span>:
<a name="l02021"></a>02021   int8_t x, y, z, w;
<a name="l02022"></a>02022
<a name="l02023"></a>02023   <a class="code" href="classandroid_1_1RSC_1_1Byte4.html">Byte4</a>(int8_t initX, int8_t initY, int8_t initZ, int8_t initW)
<a name="l02024"></a>02024     : x(initX), y(initY), z(initZ), w(initW) {}
<a name="l02025"></a>02025   <a class="code" href="classandroid_1_1RSC_1_1Byte4.html">Byte4</a>() : x(0), y(0), z(0), w(0) {}
<a name="l02026"></a>02026 };
<a name="l02027"></a>02027
<a name="l02028"></a><a class="code" href="classandroid_1_1RSC_1_1UByte2.html">02028</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1UByte2.html">UByte2</a> {
<a name="l02029"></a>02029  <span class="keyword">public</span>:
<a name="l02030"></a>02030   uint8_t x, y;
<a name="l02031"></a>02031
<a name="l02032"></a>02032   <a class="code" href="classandroid_1_1RSC_1_1UByte2.html">UByte2</a>(uint8_t initX, uint8_t initY)
<a name="l02033"></a>02033     : x(initX), y(initY) {}
<a name="l02034"></a>02034   <a class="code" href="classandroid_1_1RSC_1_1UByte2.html">UByte2</a>() : x(0), y(0) {}
<a name="l02035"></a>02035 };
<a name="l02036"></a>02036
<a name="l02037"></a><a class="code" href="classandroid_1_1RSC_1_1UByte3.html">02037</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1UByte3.html">UByte3</a> {
<a name="l02038"></a>02038  <span class="keyword">public</span>:
<a name="l02039"></a>02039   uint8_t x, y, z;
<a name="l02040"></a>02040
<a name="l02041"></a>02041   <a class="code" href="classandroid_1_1RSC_1_1UByte3.html">UByte3</a>(uint8_t initX, uint8_t initY, uint8_t initZ)
<a name="l02042"></a>02042     : x(initX), y(initY), z(initZ) {}
<a name="l02043"></a>02043   <a class="code" href="classandroid_1_1RSC_1_1UByte3.html">UByte3</a>() : x(0), y(0), z(0) {}
<a name="l02044"></a>02044 };
<a name="l02045"></a>02045
<a name="l02046"></a><a class="code" href="classandroid_1_1RSC_1_1UByte4.html">02046</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1UByte4.html">UByte4</a> {
<a name="l02047"></a>02047  <span class="keyword">public</span>:
<a name="l02048"></a>02048   uint8_t x, y, z, w;
<a name="l02049"></a>02049
<a name="l02050"></a>02050   <a class="code" href="classandroid_1_1RSC_1_1UByte4.html">UByte4</a>(uint8_t initX, uint8_t initY, uint8_t initZ, uint8_t initW)
<a name="l02051"></a>02051     : x(initX), y(initY), z(initZ), w(initW) {}
<a name="l02052"></a>02052   <a class="code" href="classandroid_1_1RSC_1_1UByte4.html">UByte4</a>() : x(0), y(0), z(0), w(0) {}
<a name="l02053"></a>02053 };
<a name="l02054"></a>02054
<a name="l02055"></a><a class="code" href="classandroid_1_1RSC_1_1Short2.html">02055</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Short2.html">Short2</a> {
<a name="l02056"></a>02056  <span class="keyword">public</span>:
<a name="l02057"></a>02057   <span class="keywordtype">short</span> x, y;
<a name="l02058"></a>02058
<a name="l02059"></a>02059   <a class="code" href="classandroid_1_1RSC_1_1Short2.html">Short2</a>(<span class="keywordtype">short</span> initX, <span class="keywordtype">short</span> initY)
<a name="l02060"></a>02060     : x(initX), y(initY) {}
<a name="l02061"></a>02061   <a class="code" href="classandroid_1_1RSC_1_1Short2.html">Short2</a>() : x(0), y(0) {}
<a name="l02062"></a>02062 };
<a name="l02063"></a>02063
<a name="l02064"></a><a class="code" href="classandroid_1_1RSC_1_1Short3.html">02064</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Short3.html">Short3</a> {
<a name="l02065"></a>02065  <span class="keyword">public</span>:
<a name="l02066"></a>02066   <span class="keywordtype">short</span> x, y, z;
<a name="l02067"></a>02067
<a name="l02068"></a>02068   <a class="code" href="classandroid_1_1RSC_1_1Short3.html">Short3</a>(<span class="keywordtype">short</span> initX, <span class="keywordtype">short</span> initY, <span class="keywordtype">short</span> initZ)
<a name="l02069"></a>02069     : x(initX), y(initY), z(initZ) {}
<a name="l02070"></a>02070   <a class="code" href="classandroid_1_1RSC_1_1Short3.html">Short3</a>() : x(0), y(0), z(0) {}
<a name="l02071"></a>02071 };
<a name="l02072"></a>02072
<a name="l02073"></a><a class="code" href="classandroid_1_1RSC_1_1Short4.html">02073</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Short4.html">Short4</a> {
<a name="l02074"></a>02074  <span class="keyword">public</span>:
<a name="l02075"></a>02075   <span class="keywordtype">short</span> x, y, z, w;
<a name="l02076"></a>02076
<a name="l02077"></a>02077   <a class="code" href="classandroid_1_1RSC_1_1Short4.html">Short4</a>(<span class="keywordtype">short</span> initX, <span class="keywordtype">short</span> initY, <span class="keywordtype">short</span> initZ, <span class="keywordtype">short</span> initW)
<a name="l02078"></a>02078     : x(initX), y(initY), z(initZ), w(initW) {}
<a name="l02079"></a>02079   <a class="code" href="classandroid_1_1RSC_1_1Short4.html">Short4</a>() : x(0), y(0), z(0), w(0) {}
<a name="l02080"></a>02080 };
<a name="l02081"></a>02081
<a name="l02082"></a><a class="code" href="classandroid_1_1RSC_1_1UShort2.html">02082</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1UShort2.html">UShort2</a> {
<a name="l02083"></a>02083  <span class="keyword">public</span>:
<a name="l02084"></a>02084   uint16_t x, y;
<a name="l02085"></a>02085
<a name="l02086"></a>02086   <a class="code" href="classandroid_1_1RSC_1_1UShort2.html">UShort2</a>(uint16_t initX, uint16_t initY)
<a name="l02087"></a>02087     : x(initX), y(initY) {}
<a name="l02088"></a>02088   <a class="code" href="classandroid_1_1RSC_1_1UShort2.html">UShort2</a>() : x(0), y(0) {}
<a name="l02089"></a>02089 };
<a name="l02090"></a>02090
<a name="l02091"></a><a class="code" href="classandroid_1_1RSC_1_1UShort3.html">02091</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1UShort3.html">UShort3</a> {
<a name="l02092"></a>02092  <span class="keyword">public</span>:
<a name="l02093"></a>02093   uint16_t x, y, z;
<a name="l02094"></a>02094
<a name="l02095"></a>02095   <a class="code" href="classandroid_1_1RSC_1_1UShort3.html">UShort3</a>(uint16_t initX, uint16_t initY, uint16_t initZ)
<a name="l02096"></a>02096     : x(initX), y(initY), z(initZ) {}
<a name="l02097"></a>02097   <a class="code" href="classandroid_1_1RSC_1_1UShort3.html">UShort3</a>() : x(0), y(0), z(0) {}
<a name="l02098"></a>02098 };
<a name="l02099"></a>02099
<a name="l02100"></a><a class="code" href="classandroid_1_1RSC_1_1UShort4.html">02100</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1UShort4.html">UShort4</a> {
<a name="l02101"></a>02101  <span class="keyword">public</span>:
<a name="l02102"></a>02102   uint16_t x, y, z, w;
<a name="l02103"></a>02103
<a name="l02104"></a>02104   <a class="code" href="classandroid_1_1RSC_1_1UShort4.html">UShort4</a>(uint16_t initX, uint16_t initY, uint16_t initZ, uint16_t initW)
<a name="l02105"></a>02105     : x(initX), y(initY), z(initZ), w(initW) {}
<a name="l02106"></a>02106   <a class="code" href="classandroid_1_1RSC_1_1UShort4.html">UShort4</a>() : x(0), y(0), z(0), w(0) {}
<a name="l02107"></a>02107 };
<a name="l02108"></a>02108
<a name="l02109"></a><a class="code" href="classandroid_1_1RSC_1_1Int2.html">02109</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Int2.html">Int2</a> {
<a name="l02110"></a>02110  <span class="keyword">public</span>:
<a name="l02111"></a>02111   <span class="keywordtype">int</span> x, y;
<a name="l02112"></a>02112
<a name="l02113"></a>02113   <a class="code" href="classandroid_1_1RSC_1_1Int2.html">Int2</a>(<span class="keywordtype">int</span> initX, <span class="keywordtype">int</span> initY)
<a name="l02114"></a>02114     : x(initX), y(initY) {}
<a name="l02115"></a>02115   <a class="code" href="classandroid_1_1RSC_1_1Int2.html">Int2</a>() : x(0), y(0) {}
<a name="l02116"></a>02116 };
<a name="l02117"></a>02117
<a name="l02118"></a><a class="code" href="classandroid_1_1RSC_1_1Int3.html">02118</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Int3.html">Int3</a> {
<a name="l02119"></a>02119  <span class="keyword">public</span>:
<a name="l02120"></a>02120   <span class="keywordtype">int</span> x, y, z;
<a name="l02121"></a>02121
<a name="l02122"></a>02122   <a class="code" href="classandroid_1_1RSC_1_1Int3.html">Int3</a>(<span class="keywordtype">int</span> initX, <span class="keywordtype">int</span> initY, <span class="keywordtype">int</span> initZ)
<a name="l02123"></a>02123     : x(initX), y(initY), z(initZ) {}
<a name="l02124"></a>02124   <a class="code" href="classandroid_1_1RSC_1_1Int3.html">Int3</a>() : x(0), y(0), z(0) {}
<a name="l02125"></a>02125 };
<a name="l02126"></a>02126
<a name="l02127"></a><a class="code" href="classandroid_1_1RSC_1_1Int4.html">02127</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Int4.html">Int4</a> {
<a name="l02128"></a>02128  <span class="keyword">public</span>:
<a name="l02129"></a>02129   <span class="keywordtype">int</span> x, y, z, w;
<a name="l02130"></a>02130
<a name="l02131"></a>02131   <a class="code" href="classandroid_1_1RSC_1_1Int4.html">Int4</a>(<span class="keywordtype">int</span> initX, <span class="keywordtype">int</span> initY, <span class="keywordtype">int</span> initZ, <span class="keywordtype">int</span> initW)
<a name="l02132"></a>02132     : x(initX), y(initY), z(initZ), w(initW) {}
<a name="l02133"></a>02133   <a class="code" href="classandroid_1_1RSC_1_1Int4.html">Int4</a>() : x(0), y(0), z(0), w(0) {}
<a name="l02134"></a>02134 };
<a name="l02135"></a>02135
<a name="l02136"></a><a class="code" href="classandroid_1_1RSC_1_1UInt2.html">02136</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1UInt2.html">UInt2</a> {
<a name="l02137"></a>02137  <span class="keyword">public</span>:
<a name="l02138"></a>02138   uint32_t x, y;
<a name="l02139"></a>02139
<a name="l02140"></a>02140   <a class="code" href="classandroid_1_1RSC_1_1UInt2.html">UInt2</a>(uint32_t initX, uint32_t initY)
<a name="l02141"></a>02141     : x(initX), y(initY) {}
<a name="l02142"></a>02142   <a class="code" href="classandroid_1_1RSC_1_1UInt2.html">UInt2</a>() : x(0), y(0) {}
<a name="l02143"></a>02143 };
<a name="l02144"></a>02144
<a name="l02145"></a><a class="code" href="classandroid_1_1RSC_1_1UInt3.html">02145</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1UInt3.html">UInt3</a> {
<a name="l02146"></a>02146  <span class="keyword">public</span>:
<a name="l02147"></a>02147   uint32_t x, y, z;
<a name="l02148"></a>02148
<a name="l02149"></a>02149   <a class="code" href="classandroid_1_1RSC_1_1UInt3.html">UInt3</a>(uint32_t initX, uint32_t initY, uint32_t initZ)
<a name="l02150"></a>02150     : x(initX), y(initY), z(initZ) {}
<a name="l02151"></a>02151   <a class="code" href="classandroid_1_1RSC_1_1UInt3.html">UInt3</a>() : x(0), y(0), z(0) {}
<a name="l02152"></a>02152 };
<a name="l02153"></a>02153
<a name="l02154"></a><a class="code" href="classandroid_1_1RSC_1_1UInt4.html">02154</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1UInt4.html">UInt4</a> {
<a name="l02155"></a>02155  <span class="keyword">public</span>:
<a name="l02156"></a>02156   uint32_t x, y, z, w;
<a name="l02157"></a>02157
<a name="l02158"></a>02158   <a class="code" href="classandroid_1_1RSC_1_1UInt4.html">UInt4</a>(uint32_t initX, uint32_t initY, uint32_t initZ, uint32_t initW)
<a name="l02159"></a>02159     : x(initX), y(initY), z(initZ), w(initW) {}
<a name="l02160"></a>02160   <a class="code" href="classandroid_1_1RSC_1_1UInt4.html">UInt4</a>() : x(0), y(0), z(0), w(0) {}
<a name="l02161"></a>02161 };
<a name="l02162"></a>02162
<a name="l02163"></a><a class="code" href="classandroid_1_1RSC_1_1Long2.html">02163</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Long2.html">Long2</a> {
<a name="l02164"></a>02164  <span class="keyword">public</span>:
<a name="l02165"></a>02165   int64_t x, y;
<a name="l02166"></a>02166
<a name="l02167"></a>02167   <a class="code" href="classandroid_1_1RSC_1_1Long2.html">Long2</a>(int64_t initX, int64_t initY)
<a name="l02168"></a>02168     : x(initX), y(initY) {}
<a name="l02169"></a>02169   <a class="code" href="classandroid_1_1RSC_1_1Long2.html">Long2</a>() : x(0), y(0) {}
<a name="l02170"></a>02170 };
<a name="l02171"></a>02171
<a name="l02172"></a><a class="code" href="classandroid_1_1RSC_1_1Long3.html">02172</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Long3.html">Long3</a> {
<a name="l02173"></a>02173  <span class="keyword">public</span>:
<a name="l02174"></a>02174   int64_t x, y, z;
<a name="l02175"></a>02175
<a name="l02176"></a>02176   <a class="code" href="classandroid_1_1RSC_1_1Long3.html">Long3</a>(int64_t initX, int64_t initY, int64_t initZ)
<a name="l02177"></a>02177     : x(initX), y(initY), z(initZ) {}
<a name="l02178"></a>02178   <a class="code" href="classandroid_1_1RSC_1_1Long3.html">Long3</a>() : x(0), y(0), z(0) {}
<a name="l02179"></a>02179 };
<a name="l02180"></a>02180
<a name="l02181"></a><a class="code" href="classandroid_1_1RSC_1_1Long4.html">02181</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Long4.html">Long4</a> {
<a name="l02182"></a>02182  <span class="keyword">public</span>:
<a name="l02183"></a>02183   int64_t x, y, z, w;
<a name="l02184"></a>02184
<a name="l02185"></a>02185   <a class="code" href="classandroid_1_1RSC_1_1Long4.html">Long4</a>(int64_t initX, int64_t initY, int64_t initZ, int64_t initW)
<a name="l02186"></a>02186     : x(initX), y(initY), z(initZ), w(initW) {}
<a name="l02187"></a>02187   <a class="code" href="classandroid_1_1RSC_1_1Long4.html">Long4</a>() : x(0), y(0), z(0), w(0) {}
<a name="l02188"></a>02188 };
<a name="l02189"></a>02189
<a name="l02190"></a><a class="code" href="classandroid_1_1RSC_1_1ULong2.html">02190</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1ULong2.html">ULong2</a> {
<a name="l02191"></a>02191  <span class="keyword">public</span>:
<a name="l02192"></a>02192   uint64_t x, y;
<a name="l02193"></a>02193
<a name="l02194"></a>02194   <a class="code" href="classandroid_1_1RSC_1_1ULong2.html">ULong2</a>(uint64_t initX, uint64_t initY)
<a name="l02195"></a>02195     : x(initX), y(initY) {}
<a name="l02196"></a>02196   <a class="code" href="classandroid_1_1RSC_1_1ULong2.html">ULong2</a>() : x(0), y(0) {}
<a name="l02197"></a>02197 };
<a name="l02198"></a>02198
<a name="l02199"></a><a class="code" href="classandroid_1_1RSC_1_1ULong3.html">02199</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1ULong3.html">ULong3</a> {
<a name="l02200"></a>02200  <span class="keyword">public</span>:
<a name="l02201"></a>02201   uint64_t x, y, z;
<a name="l02202"></a>02202
<a name="l02203"></a>02203   <a class="code" href="classandroid_1_1RSC_1_1ULong3.html">ULong3</a>(uint64_t initX, uint64_t initY, uint64_t initZ)
<a name="l02204"></a>02204     : x(initX), y(initY), z(initZ) {}
<a name="l02205"></a>02205   <a class="code" href="classandroid_1_1RSC_1_1ULong3.html">ULong3</a>() : x(0), y(0), z(0) {}
<a name="l02206"></a>02206 };
<a name="l02207"></a>02207
<a name="l02208"></a><a class="code" href="classandroid_1_1RSC_1_1ULong4.html">02208</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1ULong4.html">ULong4</a> {
<a name="l02209"></a>02209  <span class="keyword">public</span>:
<a name="l02210"></a>02210   uint64_t x, y, z, w;
<a name="l02211"></a>02211
<a name="l02212"></a>02212   <a class="code" href="classandroid_1_1RSC_1_1ULong4.html">ULong4</a>(uint64_t initX, uint64_t initY, uint64_t initZ, uint64_t initW)
<a name="l02213"></a>02213     : x(initX), y(initY), z(initZ), w(initW) {}
<a name="l02214"></a>02214   <a class="code" href="classandroid_1_1RSC_1_1ULong4.html">ULong4</a>() : x(0), y(0), z(0), w(0) {}
<a name="l02215"></a>02215 };
<a name="l02216"></a>02216
<a name="l02217"></a><a class="code" href="classandroid_1_1RSC_1_1Float2.html">02217</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Float2.html">Float2</a> {
<a name="l02218"></a>02218  <span class="keyword">public</span>:
<a name="l02219"></a>02219   <span class="keywordtype">float</span> x, y;
<a name="l02220"></a>02220
<a name="l02221"></a>02221   <a class="code" href="classandroid_1_1RSC_1_1Float2.html">Float2</a>(<span class="keywordtype">float</span> initX, <span class="keywordtype">float</span> initY)
<a name="l02222"></a>02222     : x(initX), y(initY) {}
<a name="l02223"></a>02223   <a class="code" href="classandroid_1_1RSC_1_1Float2.html">Float2</a>() : x(0), y(0) {}
<a name="l02224"></a>02224 };
<a name="l02225"></a>02225
<a name="l02226"></a><a class="code" href="classandroid_1_1RSC_1_1Float3.html">02226</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Float3.html">Float3</a> {
<a name="l02227"></a>02227  <span class="keyword">public</span>:
<a name="l02228"></a>02228   <span class="keywordtype">float</span> x, y, z;
<a name="l02229"></a>02229
<a name="l02230"></a>02230   <a class="code" href="classandroid_1_1RSC_1_1Float3.html">Float3</a>(<span class="keywordtype">float</span> initX, <span class="keywordtype">float</span> initY, <span class="keywordtype">float</span> initZ)
<a name="l02231"></a>02231     : x(initX), y(initY), z(initZ) {}
<a name="l02232"></a>02232   <a class="code" href="classandroid_1_1RSC_1_1Float3.html">Float3</a>() : x(0.f), y(0.f), z(0.f) {}
<a name="l02233"></a>02233 };
<a name="l02234"></a>02234
<a name="l02235"></a><a class="code" href="classandroid_1_1RSC_1_1Float4.html">02235</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Float4.html">Float4</a> {
<a name="l02236"></a>02236  <span class="keyword">public</span>:
<a name="l02237"></a>02237   <span class="keywordtype">float</span> x, y, z, w;
<a name="l02238"></a>02238
<a name="l02239"></a>02239   <a class="code" href="classandroid_1_1RSC_1_1Float4.html">Float4</a>(<span class="keywordtype">float</span> initX, <span class="keywordtype">float</span> initY, <span class="keywordtype">float</span> initZ, <span class="keywordtype">float</span> initW)
<a name="l02240"></a>02240     : x(initX), y(initY), z(initZ), w(initW) {}
<a name="l02241"></a>02241   <a class="code" href="classandroid_1_1RSC_1_1Float4.html">Float4</a>() : x(0.f), y(0.f), z(0.f), w(0.f) {}
<a name="l02242"></a>02242 };
<a name="l02243"></a>02243
<a name="l02244"></a><a class="code" href="classandroid_1_1RSC_1_1Double2.html">02244</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Double2.html">Double2</a> {
<a name="l02245"></a>02245  <span class="keyword">public</span>:
<a name="l02246"></a>02246   <span class="keywordtype">double</span> x, y;
<a name="l02247"></a>02247
<a name="l02248"></a>02248   <a class="code" href="classandroid_1_1RSC_1_1Double2.html">Double2</a>(<span class="keywordtype">double</span> initX, <span class="keywordtype">double</span> initY)
<a name="l02249"></a>02249     : x(initX), y(initY) {}
<a name="l02250"></a>02250   <a class="code" href="classandroid_1_1RSC_1_1Double2.html">Double2</a>() : x(0), y(0) {}
<a name="l02251"></a>02251 };
<a name="l02252"></a>02252
<a name="l02253"></a><a class="code" href="classandroid_1_1RSC_1_1Double3.html">02253</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Double3.html">Double3</a> {
<a name="l02254"></a>02254  <span class="keyword">public</span>:
<a name="l02255"></a>02255   <span class="keywordtype">double</span> x, y, z;
<a name="l02256"></a>02256
<a name="l02257"></a>02257   <a class="code" href="classandroid_1_1RSC_1_1Double3.html">Double3</a>(<span class="keywordtype">double</span> initX, <span class="keywordtype">double</span> initY, <span class="keywordtype">double</span> initZ)
<a name="l02258"></a>02258     : x(initX), y(initY), z(initZ) {}
<a name="l02259"></a>02259   <a class="code" href="classandroid_1_1RSC_1_1Double3.html">Double3</a>() : x(0), y(0), z(0) {}
<a name="l02260"></a>02260 };
<a name="l02261"></a>02261
<a name="l02262"></a><a class="code" href="classandroid_1_1RSC_1_1Double4.html">02262</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Double4.html">Double4</a> {
<a name="l02263"></a>02263  <span class="keyword">public</span>:
<a name="l02264"></a>02264   <span class="keywordtype">double</span> x, y, z, w;
<a name="l02265"></a>02265
<a name="l02266"></a>02266   <a class="code" href="classandroid_1_1RSC_1_1Double4.html">Double4</a>(<span class="keywordtype">double</span> initX, <span class="keywordtype">double</span> initY, <span class="keywordtype">double</span> initZ, <span class="keywordtype">double</span> initW)
<a name="l02267"></a>02267     : x(initX), y(initY), z(initZ), w(initW) {}
<a name="l02268"></a>02268   <a class="code" href="classandroid_1_1RSC_1_1Double4.html">Double4</a>() : x(0), y(0), z(0), w(0) {}
<a name="l02269"></a>02269 };
<a name="l02270"></a>02270
<a name="l02271"></a>02271 }
<a name="l02272"></a>02272
<a name="l02273"></a>02273 }
<a name="l02274"></a>02274
<a name="l02275"></a>02275 <span class="preprocessor">#endif</span>
</pre></div></div>
</div>

</body>
</html>