1be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#
2be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet# Copyright (C) 2015 The Android Open Source Project
3be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#
4be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet# Licensed under the Apache License, Version 2.0 (the "License");
5be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet# you may not use this file except in compliance with the License.
6be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet# You may obtain a copy of the License at
7be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#
8be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#      http://www.apache.org/licenses/LICENSE-2.0
9be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#
10be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet# Unless required by applicable law or agreed to in writing, software
11be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet# distributed under the License is distributed on an "AS IS" BASIS,
12be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet# See the License for the specific language governing permissions and
14be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet# limitations under the License.
15be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#
16be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
17be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletheader:
1820b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouilletsummary: Numerical Types
19be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
2020b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet <h5>Scalars:</h5>
21be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
2220b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet RenderScript supports the following scalar numerical types:
236386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet <table>
246386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet <tr><td>                 </td>  <td>8 bits        </td>   <td>16 bits         </td>   <td>32 bits       </td>   <td>64 bits</td></tr>
256386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet <tr><td>Integer:         </td>  <td>char, @int8_t  </td>   <td>short, @int16_t  </td>   <td>@int32_t       </td>   <td>long, long long, @int64_t</td></tr>
266386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet <tr><td>Unsigned integer:</td>  <td>uchar, @uint8_t</td>   <td>ushort, @uint16_t</td>   <td>uint, @uint32_t</td>   <td>ulong, @uint64_t</td></tr>
276119da9273f88e838b2e8648bde0d40fabe51f5fJean-Luc Brouillet <tr><td>Floating point:  </td>  <td>              </td>   <td>half            </td>   <td>float         </td>   <td>double</td></tr>
286386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet </table>
2920b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet
3020b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet <h5>Vectors:</h5>
3120b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet
3220b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet RenderScript supports fixed size vectors of length 2, 3, and 4.
3320b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet Vectors are declared using the common type name followed by a 2, 3, or 4.
3420b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet E.g. @float4, @int3, @double2, @ulong4.
3520b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet
3620b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet To create vector literals, use the vector type followed by the values enclosed
37114553f06ed96540b8da2e0e2edcd9c5145f7476Stephen Hines between curly braces, e.g. <code>(float3){1.0f, 2.0f, 3.0f}</code>.
3820b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet
3920b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet Entries of a vector can be accessed using different naming styles.
4020b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet
4120b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet Single entries can be accessed by following the variable name with a dot and:<ul>
4220b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet <li>The letters x, y, z, and w,</li>
4320b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet <li>The letters r, g, b, and a,</li>
4420b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet <li>The letter s or S, followed by a zero based index.</li></ul>
4520b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet
4620b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet For example, with <code>int4 myVar;</code> the following are equivalent:<code><br/>
4720b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet   myVar.x == myVar.r == myVar.s0 == myVar.S0<br/>
4820b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet   myVar.y == myVar.g == myVar.s1 == myVar.S1<br/>
4920b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet   myVar.z == myVar.b == myVar.s2 == myVar.S2<br/>
5020b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet   myVar.w == myVar.a == myVar.s3 == myVar.S3</code>
5120b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet
526386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet Multiple entries of a vector can be accessed at once by using an identifier that is
536386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet the concatenation of multiple letters or indices.  The resulting vector has a size
546386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet equal to the number of entries named.
5520b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet
5620b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet With the example above, the middle two entries can be accessed using
5720b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet <code>myVar.yz</code>, <code>myVar.gb</code>, <code>myVar.s12</code>, and <code>myVar.S12</code>.
5820b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet
596386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet The entries don't have to be contiguous or in increasing order.  Entries can even be
606386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet repeated, as long as we're not trying to assign to it.  You also can't mix the naming
616386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet styles.
6220b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet
636386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet Here are examples of what can or can't be done:<code><br/>
6420b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet float4 v4;<br/>
6520b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet float3 v3;<br/>
6620b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet float2 v2;<br/>
6720b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet v2 = v4.xx; // Valid<br/>
6820b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet v3 = v4.zxw; // Valid<br/>
6920b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet v3 = v4.bba; // Valid<br/>
706386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet v3 = v4.s032; // Valid<br/>
7120b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet v3.s120 = v4.S233; // Valid<br/>
7220b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet v4.yz = v3.rg; // Valid<br/>
7320b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet v4.yzx = v3.rg; // Invalid: mismatched sizes<br/>
7420b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet v4.yzz = v3; // Invalid: z appears twice in an assignment<br/>
7520b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet v3 = v3.xas0; // Invalid: can't mix xyzw with rgba nor s0...<br/>
766386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet v3 = v4.s034; // Invalid: the digit can only be 0, 1, 2, or 3<br/>
7720b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet </code>
7820b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet
7920b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet <h5>Matrices and Quaternions:</h5>
8020b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet
8120b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet RenderScript supports fixed size square matrices of floats of size 2x2, 3x3, and 4x4.
8220b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet The types are named @rs_matrix2x2, @rs_matrix3x3, and @rs_matrix4x4.  See
8320b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet <a href='rs_matrix.html'>Matrix Functions</a> for the list of operations.
8420b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet
856386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet Quaternions are also supported via @rs_quaternion.  See <a href='rs_quaternion.html'>Quaterion Functions</a> for the list
866386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet of operations.
87be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
88be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
896119da9273f88e838b2e8648bde0d40fabe51f5fJean-Luc Brouillettype: half
906119da9273f88e838b2e8648bde0d40fabe51f5fJean-Luc Brouilletversion: 23
916119da9273f88e838b2e8648bde0d40fabe51f5fJean-Luc Brouilletsimple: __fp16
926119da9273f88e838b2e8648bde0d40fabe51f5fJean-Luc Brouilletsummary: 16 bit floating point value
936119da9273f88e838b2e8648bde0d40fabe51f5fJean-Luc Brouilletdescription:
946119da9273f88e838b2e8648bde0d40fabe51f5fJean-Luc Brouillet A 16 bit floating point value.
956119da9273f88e838b2e8648bde0d40fabe51f5fJean-Luc Brouilletend:
966119da9273f88e838b2e8648bde0d40fabe51f5fJean-Luc Brouillet
976119da9273f88e838b2e8648bde0d40fabe51f5fJean-Luc Brouillettype: half2
986119da9273f88e838b2e8648bde0d40fabe51f5fJean-Luc Brouilletversion: 23
9936090673baf50cf3c70bdc89f9a4a872c05cf0f6Jean-Luc Brouilletsimple: half
10036090673baf50cf3c70bdc89f9a4a872c05cf0f6Jean-Luc Brouilletattrib: ext_vector_type(2)
1016119da9273f88e838b2e8648bde0d40fabe51f5fJean-Luc Brouilletsummary: Two 16 bit floats
1026119da9273f88e838b2e8648bde0d40fabe51f5fJean-Luc Brouilletdescription:
1036119da9273f88e838b2e8648bde0d40fabe51f5fJean-Luc Brouillet Vector version of the half float type. Provides two half fields packed
1046119da9273f88e838b2e8648bde0d40fabe51f5fJean-Luc Brouillet into a single 32 bit field with 32 bit alignment.
1056119da9273f88e838b2e8648bde0d40fabe51f5fJean-Luc Brouilletend:
1066119da9273f88e838b2e8648bde0d40fabe51f5fJean-Luc Brouillet
1076119da9273f88e838b2e8648bde0d40fabe51f5fJean-Luc Brouillettype: half3
1086119da9273f88e838b2e8648bde0d40fabe51f5fJean-Luc Brouilletversion: 23
10936090673baf50cf3c70bdc89f9a4a872c05cf0f6Jean-Luc Brouilletsimple: half
11036090673baf50cf3c70bdc89f9a4a872c05cf0f6Jean-Luc Brouilletattrib: ext_vector_type(3)
1116119da9273f88e838b2e8648bde0d40fabe51f5fJean-Luc Brouilletsummary: Three 16 bit floats
1126119da9273f88e838b2e8648bde0d40fabe51f5fJean-Luc Brouilletdescription:
1136119da9273f88e838b2e8648bde0d40fabe51f5fJean-Luc Brouillet Vector version of the half float type. Provides three half fields packed
1146119da9273f88e838b2e8648bde0d40fabe51f5fJean-Luc Brouillet into a single 64 bit field with 64 bit alignment.
1156119da9273f88e838b2e8648bde0d40fabe51f5fJean-Luc Brouilletend:
1166119da9273f88e838b2e8648bde0d40fabe51f5fJean-Luc Brouillet
1176119da9273f88e838b2e8648bde0d40fabe51f5fJean-Luc Brouillettype: half4
1186119da9273f88e838b2e8648bde0d40fabe51f5fJean-Luc Brouilletversion: 23
11936090673baf50cf3c70bdc89f9a4a872c05cf0f6Jean-Luc Brouilletsimple: half
12036090673baf50cf3c70bdc89f9a4a872c05cf0f6Jean-Luc Brouilletattrib: ext_vector_type(4)
1216119da9273f88e838b2e8648bde0d40fabe51f5fJean-Luc Brouilletsummary: Four 16 bit floats
1226119da9273f88e838b2e8648bde0d40fabe51f5fJean-Luc Brouilletdescription:
1236119da9273f88e838b2e8648bde0d40fabe51f5fJean-Luc Brouillet Vector version of the half float type. Provides four half fields packed
1246119da9273f88e838b2e8648bde0d40fabe51f5fJean-Luc Brouillet into a single 64 bit field with 64 bit alignment.
1256119da9273f88e838b2e8648bde0d40fabe51f5fJean-Luc Brouilletend:
1266119da9273f88e838b2e8648bde0d40fabe51f5fJean-Luc Brouillet
1276119da9273f88e838b2e8648bde0d40fabe51f5fJean-Luc Brouillet
128be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: int8_t
129be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsimple: char
130be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: 8 bit signed integer
131be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
13220b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet 8 bit signed integer type.
133be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
134be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
135be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: int16_t
136be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsimple: short
137be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: 16 bit signed integer
138be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
13920b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet A 16 bit signed integer type.
140be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
141be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
142be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: int32_t
143be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsimple: int
144be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: 32 bit signed integer
145be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
14620b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet A 32 bit signed integer type.
147be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
148be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
149be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: int64_t
150be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletversion: 9 20
151be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsimple: long long
152be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: 64 bit signed integer
153be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
15420b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet A 64 bit signed integer type.
155be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
156be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
157be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: int64_t
158be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletversion: 21
159be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsimple: long
160be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
161be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
162be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: uint8_t
163be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsimple: unsigned char
164be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: 8 bit unsigned integer
165be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
16620b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet 8 bit unsigned integer type.
167be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
168be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
169be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: uint16_t
170be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsimple: unsigned short
171be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: 16 bit unsigned integer
172be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
17320b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet A 16 bit unsigned integer type.
174be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
175be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
176be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: uint32_t
177be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsimple: unsigned int
178be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: 32 bit unsigned integer
179be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
18020b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet A 32 bit unsigned integer type.
181be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
182be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
183be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: uint64_t
184be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletversion: 9 20
185be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsimple: unsigned long long
186be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: 64 bit unsigned integer
187be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
18820b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet A 64 bit unsigned integer type.
189be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
190be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
191be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: uint64_t
192be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletversion: 21
193be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsimple: unsigned long
194be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
195be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
196be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: uchar
197be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsimple: uint8_t
198be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: 8 bit unsigned integer
199be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
20020b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet 8 bit unsigned integer type.
201be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
202be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
203be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: ushort
204be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsimple: uint16_t
205be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: 16 bit unsigned integer
206be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
20720b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet A 16 bit unsigned integer type.
208be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
209be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
210be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: uint
211be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsimple: uint32_t
212be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: 32 bit unsigned integer
213be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
21420b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet A 32 bit unsigned integer type.
215be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
216be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
217be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: ulong
218be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsimple: uint64_t
219be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: 64 bit unsigned integer
220be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
22120b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet A 64 bit unsigned integer type.
222be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
223be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
224be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: size_t
225be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsize: 64
226be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsimple: uint64_t
227be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Unsigned size type
228be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
22920b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet Unsigned size type.  The number of bits depend on the compilation flags.
230be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
231be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
232be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: size_t
233be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsize: 32
234be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsimple: uint32_t
235be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
236be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
237be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: ssize_t
238be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsize: 64
239be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsimple: int64_t
240be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Signed size type
241be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
24220b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet Signed size type.  The number of bits depend on the compilation flags.
243be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
244be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
245be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: ssize_t
246be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsize: 32
247be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsimple: int32_t
248be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
249be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
250be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: float2
25136e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: float
25236e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(2)
253be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Two 32 bit floats
254be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
2556386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of two floats.  These two floats are packed into a single 64 bit field
2566386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 64 bit alignment.
2576386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet
2586386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of two floats.  These two floats are packed into a single 64 bit field
2596386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 64 bit alignment.
260be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
261be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
262be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: float3
26336e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: float
26436e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(3)
265be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Three 32 bit floats
266be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
2676386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of three floats.  These three floats are packed into a single 128 bit field
2686386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 128 bit alignment.
269be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
270be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
271be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: float4
27236e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: float
27336e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(4)
274be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Four 32 bit floats
275be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
2766386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of four floats type.  These four floats are packed into a single 128 bit field
2776386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 128 bit alignment.
278be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
279be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
280be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
281be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: double2
28236e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: double
28336e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(2)
284be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Two 64 bit floats
285be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
2866386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of two doubles.  These two double fields packed into a single 128 bit field
2876386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 128 bit alignment.
288be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
289be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
290be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: double3
29136e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: double
29236e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(3)
293be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Three 64 bit floats
294be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
2956386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of three doubles.  These three double fields packed into a single 256 bit field
2966386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 256 bit alignment.
297be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
298be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
299be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: double4
30036e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: double
30136e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(4)
302be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Four 64 bit floats
303be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
3046386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of four doubles.  These four double fields packed into a single 256 bit field
3056386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 256 bit alignment.
306be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
307be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
308be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
309be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: uchar2
31036e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: uchar
31136e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(2)
312be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Two 8 bit unsigned integers
313be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
3146386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of two uchars.  These two uchar fields packed into a single 16 bit field
3156386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 16 bit alignment.
316be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
317be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
318be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: uchar3
31936e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: uchar
32036e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(3)
321be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Three 8 bit unsigned integers
322be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
3236386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of three uchars.  These three uchar fields packed into a single 32 bit field
3246386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 32 bit alignment.
325be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
326be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
327be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: uchar4
32836e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: uchar
32936e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(4)
330be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Four 8 bit unsigned integers
331be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
3326386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of four uchars.  These four uchar fields packed into a single 32 bit field
3336386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 32 bit alignment.
334be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
335be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
336be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
337be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: ushort2
33836e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: ushort
33936e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(2)
340be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Two 16 bit unsigned integers
341be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
3426386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of two ushorts.  These two ushort fields packed into a single 32 bit field
3436386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 32 bit alignment.
344be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
345be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
346be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: ushort3
34736e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: ushort
34836e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(3)
349be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Three 16 bit unsigned integers
350be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
3516386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of three ushorts.  These three ushort fields packed into a single 64 bit field
3526386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 64 bit alignment.
353be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
354be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
355be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: ushort4
35636e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: ushort
35736e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(4)
358be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Four 16 bit unsigned integers
359be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
3606386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of four ushorts.  These four ushort fields packed into a single 64 bit field
3616386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 64 bit alignment.
362be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
363be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
364be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
365be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: uint2
36636e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: uint
36736e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(2)
368be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Two 32 bit unsigned integers
369be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
3706386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of two uints.  These two uints are packed into a single 64 bit field
3716386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 64 bit alignment.
372be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
373be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
374be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: uint3
37536e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: uint
37636e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(3)
377be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Three 32 bit unsigned integers
378be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
3796386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of three uints.  These three uints are packed into a single 128 bit field
3806386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 128 bit alignment.
381be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
382be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
383be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: uint4
38436e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: uint
38536e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(4)
386be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Four 32 bit unsigned integers
387be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
3886386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of four uints.  These four uints are packed into a single 128 bit field
3896386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 128 bit alignment.
390be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
391be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
392be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
393be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: ulong2
39436e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: ulong
39536e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(2)
396be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Two 64 bit unsigned integers
397be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
3986386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of two ulongs.  These two ulongs are packed into a single 128 bit field
3996386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 128 bit alignment.
400be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
401be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
402be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: ulong3
40336e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: ulong
40436e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(3)
405be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Three 64 bit unsigned integers
406be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
4076386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of three ulongs.  These three ulong fields packed into a single 256 bit field
4086386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 256 bit alignment.
409be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
410be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
411be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: ulong4
41236e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: ulong
41336e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(4)
414be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Four 64 bit unsigned integers
415be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
4166386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of four ulongs.  These four ulong fields packed into a single 256 bit field
4176386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 256 bit alignment.
418be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
419be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
420be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
421be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: char2
42236e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: char
42336e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(2)
424be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Two 8 bit signed integers
425be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
4266386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of two chars.  These two chars are packed into a single 16 bit field
4276386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 16 bit alignment.
428be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
429be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
430be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: char3
43136e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: char
43236e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(3)
433be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Three 8 bit signed integers
434be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
4356386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of three chars.  These three chars are packed into a single 32 bit field
4366386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 32 bit alignment.
437be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
438be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
439be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: char4
44036e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: char
44136e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(4)
442be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Four 8 bit signed integers
443be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
4446386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of four chars.  These four chars are packed into a single 32 bit field
4456386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 32 bit alignment.
446be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
447be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
44820b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet
449be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: short2
45036e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: short
45136e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(2)
452be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Two 16 bit signed integers
453be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
4546386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of two shorts.  These two shorts are packed into a single 32 bit field
4556386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 32 bit alignment.
456be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
457be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
458be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: short3
45936e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: short
46036e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(3)
461be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Three 16 bit signed integers
462be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
4636386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of three shorts.  These three short fields packed into a single 64 bit field
4646386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 64 bit alignment.
465be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
466be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
467be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: short4
46836e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: short
46936e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(4)
470be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Four 16 bit signed integers
471be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
4726386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of four shorts.  These four short fields packed into a single 64 bit field
4736386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 64 bit alignment.
474be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
475be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
476be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
477be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: int2
47836e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: int
47936e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(2)
480be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Two 32 bit signed integers
481be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
4826386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of two ints.  These two ints are packed into a single 64 bit field
4836386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 64 bit alignment.
484be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
485be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
486be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: int3
48736e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: int
48836e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(3)
489be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Three 32 bit signed integers
490be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
4916386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of three ints.  These three ints are packed into a single 128 bit field
4926386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 128 bit alignment.
493be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
494be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
495be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: int4
49636e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: int
49736e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(4)
498be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Four 32 bit signed integers
499be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
5006386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of four ints.  These two fours are packed into a single 128 bit field
5016386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 128 bit alignment.
502be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
503be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
504be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
505be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: long2
50636e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: long
50736e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(2)
508be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Two 64 bit signed integers
509be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
5106386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of two longs.  These two longs are packed into a single 128 bit field
5116386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 128 bit alignment.
512be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
513be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
514be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: long3
51536e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: long
51636e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(3)
517be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Three 64 bit signed integers
518be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
5196386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of three longs.  These three longs are packed into a single 256 bit field
5206386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 256 bit alignment.
521be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
522be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
523be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: long4
52436e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: long
52536e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(4)
526be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Four 64 bit signed integers
527be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
5286386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of four longs.  These four longs are packed into a single 256 bit field
5296386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 256 bit alignment.
530be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
53120b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet
53220b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet
53320b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillettype: rs_matrix2x2
53420b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouilletstruct:
53520b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouilletfield: float m[4]
53620b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouilletsummary: 2x2 matrix of 32 bit floats
53720b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouilletdescription:
53820b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet A square 2x2 matrix of floats.  The entries are stored in the array at the
53920b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet location [row*2 + col].
54020b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet
54120b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet See <a href='rs_matrix.html'>Matrix Functions</a>.
54220b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouilletend:
54320b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet
54420b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillettype: rs_matrix3x3
54520b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouilletstruct:
54620b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouilletfield: float m[9]
54720b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouilletsummary: 3x3 matrix of 32 bit floats
54820b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouilletdescription:
54920b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet A square 3x3 matrix of floats.  The entries are stored in the array at the
55020b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet location [row*3 + col].
55120b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet
55220b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet See <a href='rs_matrix.html'>Matrix Functions</a>.
55320b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouilletend:
55420b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet
55520b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillettype: rs_matrix4x4
55620b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouilletstruct:
55720b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouilletfield: float m[16]
55820b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouilletsummary: 4x4 matrix of 32 bit floats
55920b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouilletdescription:
56020b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet A square 4x4 matrix of floats.  The entries are stored in the array at the
56120b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet location [row*4 + col].
56220b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet
56320b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet See <a href='rs_matrix.html'>Matrix Functions</a>.
56420b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouilletend:
56520b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet
56620b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet
56720b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillettype: rs_quaternion
56820b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouilletsimple: float4
56920b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouilletsummary: Quaternion
57020b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouilletdescription:
57120b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet A square 4x4 matrix of floats that represents a quaternion.
57220b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet
57320b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet See <a href='rs_quaternion.html'>Quaternion Functions</a>.
57420b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouilletend:
575