rs_value_types.spec revision 36e2be56cd398bf4a318114bbc9fa3f4573c158f
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>
276386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet <tr><td>Floating point:  </td>  <td>              </td>   <td>                </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
3720b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet between parentheses, 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
89be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: int8_t
90be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsimple: char
91be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: 8 bit signed integer
92be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
9320b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet 8 bit signed integer type.
94be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
95be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
96be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: int16_t
97be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsimple: short
98be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: 16 bit signed integer
99be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
10020b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet A 16 bit signed integer type.
101be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
102be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
103be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: int32_t
104be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsimple: int
105be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: 32 bit signed integer
106be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
10720b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet A 32 bit signed integer type.
108be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
109be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
110be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: int64_t
111be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletversion: 9 20
112be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsimple: long long
113be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: 64 bit signed integer
114be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
11520b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet A 64 bit signed integer type.
116be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
117be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
118be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: int64_t
119be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletversion: 21
120be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsimple: long
121be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
122be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
123be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: uint8_t
124be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsimple: unsigned char
125be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: 8 bit unsigned integer
126be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
12720b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet 8 bit unsigned integer type.
128be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
129be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
130be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: uint16_t
131be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsimple: unsigned short
132be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: 16 bit unsigned integer
133be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
13420b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet A 16 bit unsigned integer type.
135be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
136be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
137be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: uint32_t
138be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsimple: unsigned int
139be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: 32 bit unsigned integer
140be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
14120b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet A 32 bit unsigned integer type.
142be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
143be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
144be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: uint64_t
145be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletversion: 9 20
146be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsimple: unsigned long long
147be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: 64 bit unsigned integer
148be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
14920b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet A 64 bit unsigned integer type.
150be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
151be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
152be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: uint64_t
153be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletversion: 21
154be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsimple: unsigned long
155be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
156be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
157be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: uchar
158be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsimple: uint8_t
159be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: 8 bit unsigned integer
160be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
16120b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet 8 bit unsigned integer type.
162be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
163be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
164be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: ushort
165be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsimple: uint16_t
166be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: 16 bit unsigned integer
167be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
16820b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet A 16 bit unsigned integer type.
169be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
170be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
171be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: uint
172be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsimple: uint32_t
173be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: 32 bit unsigned integer
174be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
17520b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet A 32 bit unsigned integer type.
176be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
177be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
178be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: ulong
179be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsimple: uint64_t
180be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: 64 bit unsigned integer
181be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
18220b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet A 64 bit unsigned integer type.
183be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
184be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
185be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: size_t
186be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsize: 64
187be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsimple: uint64_t
188be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Unsigned size type
189be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
19020b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet Unsigned size type.  The number of bits depend on the compilation flags.
191be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
192be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
193be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: size_t
194be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsize: 32
195be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsimple: uint32_t
196be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
197be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
198be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: ssize_t
199be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsize: 64
200be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsimple: int64_t
201be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Signed size type
202be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
20320b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet Signed size type.  The number of bits depend on the compilation flags.
204be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
205be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
206be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: ssize_t
207be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsize: 32
208be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsimple: int32_t
209be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
210be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
211be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: float2
21236e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: float
21336e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(2)
214be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Two 32 bit floats
215be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
2166386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of two floats.  These two floats are packed into a single 64 bit field
2176386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 64 bit alignment.
2186386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet
2196386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of two floats.  These two floats are packed into a single 64 bit field
2206386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 64 bit alignment.
221be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
222be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
223be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: float3
22436e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: float
22536e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(3)
226be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Three 32 bit floats
227be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
2286386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of three floats.  These three floats are packed into a single 128 bit field
2296386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 128 bit alignment.
230be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
231be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
232be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: float4
23336e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: float
23436e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(4)
235be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Four 32 bit floats
236be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
2376386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of four floats type.  These four floats are packed into a single 128 bit field
2386386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 128 bit alignment.
239be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
240be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
241be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
242be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: double2
24336e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: double
24436e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(2)
245be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Two 64 bit floats
246be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
2476386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of two doubles.  These two double fields packed into a single 128 bit field
2486386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 128 bit alignment.
249be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
250be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
251be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: double3
25236e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: double
25336e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(3)
254be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Three 64 bit floats
255be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
2566386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of three doubles.  These three double fields packed into a single 256 bit field
2576386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 256 bit alignment.
258be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
259be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
260be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: double4
26136e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: double
26236e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(4)
263be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Four 64 bit floats
264be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
2656386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of four doubles.  These four double fields packed into a single 256 bit field
2666386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 256 bit alignment.
267be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
268be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
269be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
270be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: uchar2
27136e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: uchar
27236e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(2)
273be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Two 8 bit unsigned integers
274be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
2756386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of two uchars.  These two uchar fields packed into a single 16 bit field
2766386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 16 bit alignment.
277be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
278be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
279be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: uchar3
28036e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: uchar
28136e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(3)
282be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Three 8 bit unsigned integers
283be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
2846386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of three uchars.  These three uchar fields packed into a single 32 bit field
2856386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 32 bit alignment.
286be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
287be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
288be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: uchar4
28936e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: uchar
29036e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(4)
291be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Four 8 bit unsigned integers
292be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
2936386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of four uchars.  These four uchar fields packed into a single 32 bit field
2946386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 32 bit alignment.
295be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
296be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
297be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
298be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: ushort2
29936e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: ushort
30036e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(2)
301be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Two 16 bit unsigned integers
302be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
3036386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of two ushorts.  These two ushort fields packed into a single 32 bit field
3046386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 32 bit alignment.
305be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
306be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
307be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: ushort3
30836e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: ushort
30936e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(3)
310be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Three 16 bit unsigned integers
311be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
3126386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of three ushorts.  These three ushort fields packed into a single 64 bit field
3136386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 64 bit alignment.
314be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
315be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
316be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: ushort4
31736e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: ushort
31836e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(4)
319be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Four 16 bit unsigned integers
320be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
3216386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of four ushorts.  These four ushort fields packed into a single 64 bit field
3226386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 64 bit alignment.
323be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
324be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
325be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
326be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: uint2
32736e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: uint
32836e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(2)
329be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Two 32 bit unsigned integers
330be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
3316386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of two uints.  These two uints are packed into a single 64 bit field
3326386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 64 bit alignment.
333be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
334be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
335be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: uint3
33636e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: uint
33736e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(3)
338be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Three 32 bit unsigned integers
339be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
3406386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of three uints.  These three uints are packed into a single 128 bit field
3416386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 128 bit alignment.
342be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
343be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
344be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: uint4
34536e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: uint
34636e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(4)
347be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Four 32 bit unsigned integers
348be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
3496386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of four uints.  These four uints are packed into a single 128 bit field
3506386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 128 bit alignment.
351be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
352be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
353be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
354be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: ulong2
35536e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: ulong
35636e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(2)
357be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Two 64 bit unsigned integers
358be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
3596386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of two ulongs.  These two ulongs are packed into a single 128 bit field
3606386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 128 bit alignment.
361be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
362be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
363be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: ulong3
36436e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: ulong
36536e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(3)
366be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Three 64 bit unsigned integers
367be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
3686386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of three ulongs.  These three ulong fields packed into a single 256 bit field
3696386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 256 bit alignment.
370be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
371be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
372be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: ulong4
37336e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: ulong
37436e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(4)
375be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Four 64 bit unsigned integers
376be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
3776386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of four ulongs.  These four ulong fields packed into a single 256 bit field
3786386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 256 bit alignment.
379be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
380be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
381be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
382be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: char2
38336e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: char
38436e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(2)
385be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Two 8 bit signed integers
386be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
3876386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of two chars.  These two chars are packed into a single 16 bit field
3886386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 16 bit alignment.
389be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
390be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
391be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: char3
39236e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: char
39336e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(3)
394be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Three 8 bit signed integers
395be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
3966386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of three chars.  These three chars are packed into a single 32 bit field
3976386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 32 bit alignment.
398be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
399be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
400be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: char4
40136e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: char
40236e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(4)
403be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Four 8 bit signed integers
404be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
4056386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of four chars.  These four chars are packed into a single 32 bit field
4066386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 32 bit alignment.
407be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
408be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
40920b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet
410be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: short2
41136e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: short
41236e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(2)
413be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Two 16 bit signed integers
414be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
4156386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of two shorts.  These two shorts are packed into a single 32 bit field
4166386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 32 bit alignment.
417be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
418be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
419be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: short3
42036e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: short
42136e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(3)
422be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Three 16 bit signed integers
423be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
4246386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of three shorts.  These three short fields packed into a single 64 bit field
4256386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 64 bit alignment.
426be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
427be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
428be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: short4
42936e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: short
43036e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(4)
431be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Four 16 bit signed integers
432be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
4336386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of four shorts.  These four short fields packed into a single 64 bit field
4346386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 64 bit alignment.
435be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
436be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
437be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
438be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: int2
43936e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: int
44036e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(2)
441be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Two 32 bit signed integers
442be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
4436386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of two ints.  These two ints are packed into a single 64 bit field
4446386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 64 bit alignment.
445be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
446be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
447be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: int3
44836e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: int
44936e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(3)
450be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Three 32 bit signed integers
451be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
4526386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of three ints.  These three ints are packed into a single 128 bit field
4536386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 128 bit alignment.
454be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
455be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
456be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: int4
45736e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: int
45836e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(4)
459be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Four 32 bit signed integers
460be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
4616386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of four ints.  These two fours are packed into a single 128 bit field
4626386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 128 bit alignment.
463be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
464be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
465be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
466be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: long2
46736e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: long
46836e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(2)
469be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Two 64 bit signed integers
470be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
4716386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of two longs.  These two longs are packed into a single 128 bit field
4726386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 128 bit alignment.
473be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
474be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
475be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: long3
47636e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: long
47736e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(3)
478be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Three 64 bit signed integers
479be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
4806386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of three longs.  These three longs are packed into a single 256 bit field
4816386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 256 bit alignment.
482be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
483be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
484be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettype: long4
48536e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletsimple: long
48636e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletattrib: ext_vector_type(4)
487be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Four 64 bit signed integers
488be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
4896386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet A vector of four longs.  These four longs are packed into a single 256 bit field
4906386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet with a 256 bit alignment.
491be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
49220b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet
49320b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet
49420b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillettype: rs_matrix2x2
49520b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouilletstruct:
49620b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouilletfield: float m[4]
49720b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouilletsummary: 2x2 matrix of 32 bit floats
49820b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouilletdescription:
49920b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet A square 2x2 matrix of floats.  The entries are stored in the array at the
50020b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet location [row*2 + col].
50120b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet
50220b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet See <a href='rs_matrix.html'>Matrix Functions</a>.
50320b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouilletend:
50420b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet
50520b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillettype: rs_matrix3x3
50620b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouilletstruct:
50720b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouilletfield: float m[9]
50820b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouilletsummary: 3x3 matrix of 32 bit floats
50920b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouilletdescription:
51020b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet A square 3x3 matrix of floats.  The entries are stored in the array at the
51120b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet location [row*3 + col].
51220b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet
51320b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet See <a href='rs_matrix.html'>Matrix Functions</a>.
51420b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouilletend:
51520b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet
51620b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillettype: rs_matrix4x4
51720b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouilletstruct:
51820b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouilletfield: float m[16]
51920b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouilletsummary: 4x4 matrix of 32 bit floats
52020b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouilletdescription:
52120b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet A square 4x4 matrix of floats.  The entries are stored in the array at the
52220b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet location [row*4 + col].
52320b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet
52420b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet See <a href='rs_matrix.html'>Matrix Functions</a>.
52520b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouilletend:
52620b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet
52720b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet
52820b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillettype: rs_quaternion
52920b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouilletsimple: float4
53020b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouilletsummary: Quaternion
53120b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouilletdescription:
53220b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet A square 4x4 matrix of floats that represents a quaternion.
53320b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet
53420b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet See <a href='rs_quaternion.html'>Quaternion Functions</a>.
53520b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouilletend:
536