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