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