master
ブランチ master
VulkanExample / dep / include / glm / fwd.hpp
45.4 KB、1221行 生 Blame 履歴
1#pragma once
2
3#include "detail/qualifier.hpp"
4
5namespace glm
6{
7 typedef std::int8_t int8;
8 typedef std::int16_t int16;
9 typedef std::int32_t int32;
10 typedef std::int64_t int64;
11
12 typedef std::uint8_t uint8;
13 typedef std::uint16_t uint16;
14 typedef std::uint32_t uint32;
15 typedef std::uint64_t uint64;
16
17 // Scalar int
18
19 typedef int8 lowp_i8;
20 typedef int8 mediump_i8;
21 typedef int8 highp_i8;
22 typedef int8 i8;
23
24 typedef int8 lowp_int8;
25 typedef int8 mediump_int8;
26 typedef int8 highp_int8;
27
28 typedef int8 lowp_int8_t;
29 typedef int8 mediump_int8_t;
30 typedef int8 highp_int8_t;
31 typedef int8 int8_t;
32
33 typedef int16 lowp_i16;
34 typedef int16 mediump_i16;
35 typedef int16 highp_i16;
36 typedef int16 i16;
37
38 typedef int16 lowp_int16;
39 typedef int16 mediump_int16;
40 typedef int16 highp_int16;
41
42 typedef int16 lowp_int16_t;
43 typedef int16 mediump_int16_t;
44 typedef int16 highp_int16_t;
45 typedef int16 int16_t;
46
47 typedef int32 lowp_i32;
48 typedef int32 mediump_i32;
49 typedef int32 highp_i32;
50 typedef int32 i32;
51
52 typedef int32 lowp_int32;
53 typedef int32 mediump_int32;
54 typedef int32 highp_int32;
55
56 typedef int32 lowp_int32_t;
57 typedef int32 mediump_int32_t;
58 typedef int32 highp_int32_t;
59 typedef int32 int32_t;
60
61 typedef int64 lowp_i64;
62 typedef int64 mediump_i64;
63 typedef int64 highp_i64;
64 typedef int64 i64;
65
66 typedef int64 lowp_int64;
67 typedef int64 mediump_int64;
68 typedef int64 highp_int64;
69
70 typedef int64 lowp_int64_t;
71 typedef int64 mediump_int64_t;
72 typedef int64 highp_int64_t;
73 typedef int64 int64_t;
74
75 // Scalar uint
76
77 typedef unsigned int uint;
78
79 typedef uint8 lowp_u8;
80 typedef uint8 mediump_u8;
81 typedef uint8 highp_u8;
82 typedef uint8 u8;
83
84 typedef uint8 lowp_uint8;
85 typedef uint8 mediump_uint8;
86 typedef uint8 highp_uint8;
87
88 typedef uint8 lowp_uint8_t;
89 typedef uint8 mediump_uint8_t;
90 typedef uint8 highp_uint8_t;
91 typedef uint8 uint8_t;
92
93 typedef uint16 lowp_u16;
94 typedef uint16 mediump_u16;
95 typedef uint16 highp_u16;
96 typedef uint16 u16;
97
98 typedef uint16 lowp_uint16;
99 typedef uint16 mediump_uint16;
100 typedef uint16 highp_uint16;
101
102 typedef uint16 lowp_uint16_t;
103 typedef uint16 mediump_uint16_t;
104 typedef uint16 highp_uint16_t;
105 typedef uint16 uint16_t;
106
107 typedef uint32 lowp_u32;
108 typedef uint32 mediump_u32;
109 typedef uint32 highp_u32;
110 typedef uint32 u32;
111
112 typedef uint32 lowp_uint32;
113 typedef uint32 mediump_uint32;
114 typedef uint32 highp_uint32;
115
116 typedef uint32 lowp_uint32_t;
117 typedef uint32 mediump_uint32_t;
118 typedef uint32 highp_uint32_t;
119 typedef uint32 uint32_t;
120
121 typedef uint64 lowp_u64;
122 typedef uint64 mediump_u64;
123 typedef uint64 highp_u64;
124 typedef uint64 u64;
125
126 typedef uint64 lowp_uint64;
127 typedef uint64 mediump_uint64;
128 typedef uint64 highp_uint64;
129
130 typedef uint64 lowp_uint64_t;
131 typedef uint64 mediump_uint64_t;
132 typedef uint64 highp_uint64_t;
133 typedef uint64 uint64_t;
134
135 // Scalar float
136
137 typedef float lowp_f32;
138 typedef float mediump_f32;
139 typedef float highp_f32;
140 typedef float f32;
141
142 typedef float lowp_float32;
143 typedef float mediump_float32;
144 typedef float highp_float32;
145 typedef float float32;
146
147 typedef float lowp_float32_t;
148 typedef float mediump_float32_t;
149 typedef float highp_float32_t;
150 typedef float float32_t;
151
152
153 typedef double lowp_f64;
154 typedef double mediump_f64;
155 typedef double highp_f64;
156 typedef double f64;
157
158 typedef double lowp_float64;
159 typedef double mediump_float64;
160 typedef double highp_float64;
161 typedef double float64;
162
163 typedef double lowp_float64_t;
164 typedef double mediump_float64_t;
165 typedef double highp_float64_t;
166 typedef double float64_t;
167
168 // Vector bool
169
170 typedef vec<1, bool, lowp> lowp_bvec1;
171 typedef vec<2, bool, lowp> lowp_bvec2;
172 typedef vec<3, bool, lowp> lowp_bvec3;
173 typedef vec<4, bool, lowp> lowp_bvec4;
174
175 typedef vec<1, bool, mediump> mediump_bvec1;
176 typedef vec<2, bool, mediump> mediump_bvec2;
177 typedef vec<3, bool, mediump> mediump_bvec3;
178 typedef vec<4, bool, mediump> mediump_bvec4;
179
180 typedef vec<1, bool, highp> highp_bvec1;
181 typedef vec<2, bool, highp> highp_bvec2;
182 typedef vec<3, bool, highp> highp_bvec3;
183 typedef vec<4, bool, highp> highp_bvec4;
184
185 typedef vec<1, bool, defaultp> bvec1;
186 typedef vec<2, bool, defaultp> bvec2;
187 typedef vec<3, bool, defaultp> bvec3;
188 typedef vec<4, bool, defaultp> bvec4;
189
190 // Vector int
191
192 typedef vec<1, int, lowp> lowp_ivec1;
193 typedef vec<2, int, lowp> lowp_ivec2;
194 typedef vec<3, int, lowp> lowp_ivec3;
195 typedef vec<4, int, lowp> lowp_ivec4;
196
197 typedef vec<1, int, mediump> mediump_ivec1;
198 typedef vec<2, int, mediump> mediump_ivec2;
199 typedef vec<3, int, mediump> mediump_ivec3;
200 typedef vec<4, int, mediump> mediump_ivec4;
201
202 typedef vec<1, int, highp> highp_ivec1;
203 typedef vec<2, int, highp> highp_ivec2;
204 typedef vec<3, int, highp> highp_ivec3;
205 typedef vec<4, int, highp> highp_ivec4;
206
207 typedef vec<1, int, defaultp> ivec1;
208 typedef vec<2, int, defaultp> ivec2;
209 typedef vec<3, int, defaultp> ivec3;
210 typedef vec<4, int, defaultp> ivec4;
211
212 typedef vec<1, i8, lowp> lowp_i8vec1;
213 typedef vec<2, i8, lowp> lowp_i8vec2;
214 typedef vec<3, i8, lowp> lowp_i8vec3;
215 typedef vec<4, i8, lowp> lowp_i8vec4;
216
217 typedef vec<1, i8, mediump> mediump_i8vec1;
218 typedef vec<2, i8, mediump> mediump_i8vec2;
219 typedef vec<3, i8, mediump> mediump_i8vec3;
220 typedef vec<4, i8, mediump> mediump_i8vec4;
221
222 typedef vec<1, i8, highp> highp_i8vec1;
223 typedef vec<2, i8, highp> highp_i8vec2;
224 typedef vec<3, i8, highp> highp_i8vec3;
225 typedef vec<4, i8, highp> highp_i8vec4;
226
227 typedef vec<1, i8, defaultp> i8vec1;
228 typedef vec<2, i8, defaultp> i8vec2;
229 typedef vec<3, i8, defaultp> i8vec3;
230 typedef vec<4, i8, defaultp> i8vec4;
231
232 typedef vec<1, i16, lowp> lowp_i16vec1;
233 typedef vec<2, i16, lowp> lowp_i16vec2;
234 typedef vec<3, i16, lowp> lowp_i16vec3;
235 typedef vec<4, i16, lowp> lowp_i16vec4;
236
237 typedef vec<1, i16, mediump> mediump_i16vec1;
238 typedef vec<2, i16, mediump> mediump_i16vec2;
239 typedef vec<3, i16, mediump> mediump_i16vec3;
240 typedef vec<4, i16, mediump> mediump_i16vec4;
241
242 typedef vec<1, i16, highp> highp_i16vec1;
243 typedef vec<2, i16, highp> highp_i16vec2;
244 typedef vec<3, i16, highp> highp_i16vec3;
245 typedef vec<4, i16, highp> highp_i16vec4;
246
247 typedef vec<1, i16, defaultp> i16vec1;
248 typedef vec<2, i16, defaultp> i16vec2;
249 typedef vec<3, i16, defaultp> i16vec3;
250 typedef vec<4, i16, defaultp> i16vec4;
251
252 typedef vec<1, i32, lowp> lowp_i32vec1;
253 typedef vec<2, i32, lowp> lowp_i32vec2;
254 typedef vec<3, i32, lowp> lowp_i32vec3;
255 typedef vec<4, i32, lowp> lowp_i32vec4;
256
257 typedef vec<1, i32, mediump> mediump_i32vec1;
258 typedef vec<2, i32, mediump> mediump_i32vec2;
259 typedef vec<3, i32, mediump> mediump_i32vec3;
260 typedef vec<4, i32, mediump> mediump_i32vec4;
261
262 typedef vec<1, i32, highp> highp_i32vec1;
263 typedef vec<2, i32, highp> highp_i32vec2;
264 typedef vec<3, i32, highp> highp_i32vec3;
265 typedef vec<4, i32, highp> highp_i32vec4;
266
267 typedef vec<1, i32, defaultp> i32vec1;
268 typedef vec<2, i32, defaultp> i32vec2;
269 typedef vec<3, i32, defaultp> i32vec3;
270 typedef vec<4, i32, defaultp> i32vec4;
271
272 typedef vec<1, i64, lowp> lowp_i64vec1;
273 typedef vec<2, i64, lowp> lowp_i64vec2;
274 typedef vec<3, i64, lowp> lowp_i64vec3;
275 typedef vec<4, i64, lowp> lowp_i64vec4;
276
277 typedef vec<1, i64, mediump> mediump_i64vec1;
278 typedef vec<2, i64, mediump> mediump_i64vec2;
279 typedef vec<3, i64, mediump> mediump_i64vec3;
280 typedef vec<4, i64, mediump> mediump_i64vec4;
281
282 typedef vec<1, i64, highp> highp_i64vec1;
283 typedef vec<2, i64, highp> highp_i64vec2;
284 typedef vec<3, i64, highp> highp_i64vec3;
285 typedef vec<4, i64, highp> highp_i64vec4;
286
287 typedef vec<1, i64, defaultp> i64vec1;
288 typedef vec<2, i64, defaultp> i64vec2;
289 typedef vec<3, i64, defaultp> i64vec3;
290 typedef vec<4, i64, defaultp> i64vec4;
291
292 // Vector uint
293
294 typedef vec<1, uint, lowp> lowp_uvec1;
295 typedef vec<2, uint, lowp> lowp_uvec2;
296 typedef vec<3, uint, lowp> lowp_uvec3;
297 typedef vec<4, uint, lowp> lowp_uvec4;
298
299 typedef vec<1, uint, mediump> mediump_uvec1;
300 typedef vec<2, uint, mediump> mediump_uvec2;
301 typedef vec<3, uint, mediump> mediump_uvec3;
302 typedef vec<4, uint, mediump> mediump_uvec4;
303
304 typedef vec<1, uint, highp> highp_uvec1;
305 typedef vec<2, uint, highp> highp_uvec2;
306 typedef vec<3, uint, highp> highp_uvec3;
307 typedef vec<4, uint, highp> highp_uvec4;
308
309 typedef vec<1, uint, defaultp> uvec1;
310 typedef vec<2, uint, defaultp> uvec2;
311 typedef vec<3, uint, defaultp> uvec3;
312 typedef vec<4, uint, defaultp> uvec4;
313
314 typedef vec<1, u8, lowp> lowp_u8vec1;
315 typedef vec<2, u8, lowp> lowp_u8vec2;
316 typedef vec<3, u8, lowp> lowp_u8vec3;
317 typedef vec<4, u8, lowp> lowp_u8vec4;
318
319 typedef vec<1, u8, mediump> mediump_u8vec1;
320 typedef vec<2, u8, mediump> mediump_u8vec2;
321 typedef vec<3, u8, mediump> mediump_u8vec3;
322 typedef vec<4, u8, mediump> mediump_u8vec4;
323
324 typedef vec<1, u8, highp> highp_u8vec1;
325 typedef vec<2, u8, highp> highp_u8vec2;
326 typedef vec<3, u8, highp> highp_u8vec3;
327 typedef vec<4, u8, highp> highp_u8vec4;
328
329 typedef vec<1, u8, defaultp> u8vec1;
330 typedef vec<2, u8, defaultp> u8vec2;
331 typedef vec<3, u8, defaultp> u8vec3;
332 typedef vec<4, u8, defaultp> u8vec4;
333
334 typedef vec<1, u16, lowp> lowp_u16vec1;
335 typedef vec<2, u16, lowp> lowp_u16vec2;
336 typedef vec<3, u16, lowp> lowp_u16vec3;
337 typedef vec<4, u16, lowp> lowp_u16vec4;
338
339 typedef vec<1, u16, mediump> mediump_u16vec1;
340 typedef vec<2, u16, mediump> mediump_u16vec2;
341 typedef vec<3, u16, mediump> mediump_u16vec3;
342 typedef vec<4, u16, mediump> mediump_u16vec4;
343
344 typedef vec<1, u16, highp> highp_u16vec1;
345 typedef vec<2, u16, highp> highp_u16vec2;
346 typedef vec<3, u16, highp> highp_u16vec3;
347 typedef vec<4, u16, highp> highp_u16vec4;
348
349 typedef vec<1, u16, defaultp> u16vec1;
350 typedef vec<2, u16, defaultp> u16vec2;
351 typedef vec<3, u16, defaultp> u16vec3;
352 typedef vec<4, u16, defaultp> u16vec4;
353
354 typedef vec<1, u32, lowp> lowp_u32vec1;
355 typedef vec<2, u32, lowp> lowp_u32vec2;
356 typedef vec<3, u32, lowp> lowp_u32vec3;
357 typedef vec<4, u32, lowp> lowp_u32vec4;
358
359 typedef vec<1, u32, mediump> mediump_u32vec1;
360 typedef vec<2, u32, mediump> mediump_u32vec2;
361 typedef vec<3, u32, mediump> mediump_u32vec3;
362 typedef vec<4, u32, mediump> mediump_u32vec4;
363
364 typedef vec<1, u32, highp> highp_u32vec1;
365 typedef vec<2, u32, highp> highp_u32vec2;
366 typedef vec<3, u32, highp> highp_u32vec3;
367 typedef vec<4, u32, highp> highp_u32vec4;
368
369 typedef vec<1, u32, defaultp> u32vec1;
370 typedef vec<2, u32, defaultp> u32vec2;
371 typedef vec<3, u32, defaultp> u32vec3;
372 typedef vec<4, u32, defaultp> u32vec4;
373
374 typedef vec<1, u64, lowp> lowp_u64vec1;
375 typedef vec<2, u64, lowp> lowp_u64vec2;
376 typedef vec<3, u64, lowp> lowp_u64vec3;
377 typedef vec<4, u64, lowp> lowp_u64vec4;
378
379 typedef vec<1, u64, mediump> mediump_u64vec1;
380 typedef vec<2, u64, mediump> mediump_u64vec2;
381 typedef vec<3, u64, mediump> mediump_u64vec3;
382 typedef vec<4, u64, mediump> mediump_u64vec4;
383
384 typedef vec<1, u64, highp> highp_u64vec1;
385 typedef vec<2, u64, highp> highp_u64vec2;
386 typedef vec<3, u64, highp> highp_u64vec3;
387 typedef vec<4, u64, highp> highp_u64vec4;
388
389 typedef vec<1, u64, defaultp> u64vec1;
390 typedef vec<2, u64, defaultp> u64vec2;
391 typedef vec<3, u64, defaultp> u64vec3;
392 typedef vec<4, u64, defaultp> u64vec4;
393
394 // Vector float
395
396 typedef vec<1, float, lowp> lowp_vec1;
397 typedef vec<2, float, lowp> lowp_vec2;
398 typedef vec<3, float, lowp> lowp_vec3;
399 typedef vec<4, float, lowp> lowp_vec4;
400
401 typedef vec<1, float, mediump> mediump_vec1;
402 typedef vec<2, float, mediump> mediump_vec2;
403 typedef vec<3, float, mediump> mediump_vec3;
404 typedef vec<4, float, mediump> mediump_vec4;
405
406 typedef vec<1, float, highp> highp_vec1;
407 typedef vec<2, float, highp> highp_vec2;
408 typedef vec<3, float, highp> highp_vec3;
409 typedef vec<4, float, highp> highp_vec4;
410
411 typedef vec<1, float, defaultp> vec1;
412 typedef vec<2, float, defaultp> vec2;
413 typedef vec<3, float, defaultp> vec3;
414 typedef vec<4, float, defaultp> vec4;
415
416 typedef vec<1, float, lowp> lowp_fvec1;
417 typedef vec<2, float, lowp> lowp_fvec2;
418 typedef vec<3, float, lowp> lowp_fvec3;
419 typedef vec<4, float, lowp> lowp_fvec4;
420
421 typedef vec<1, float, mediump> mediump_fvec1;
422 typedef vec<2, float, mediump> mediump_fvec2;
423 typedef vec<3, float, mediump> mediump_fvec3;
424 typedef vec<4, float, mediump> mediump_fvec4;
425
426 typedef vec<1, float, highp> highp_fvec1;
427 typedef vec<2, float, highp> highp_fvec2;
428 typedef vec<3, float, highp> highp_fvec3;
429 typedef vec<4, float, highp> highp_fvec4;
430
431 typedef vec<1, f32, defaultp> fvec1;
432 typedef vec<2, f32, defaultp> fvec2;
433 typedef vec<3, f32, defaultp> fvec3;
434 typedef vec<4, f32, defaultp> fvec4;
435
436 typedef vec<1, f32, lowp> lowp_f32vec1;
437 typedef vec<2, f32, lowp> lowp_f32vec2;
438 typedef vec<3, f32, lowp> lowp_f32vec3;
439 typedef vec<4, f32, lowp> lowp_f32vec4;
440
441 typedef vec<1, f32, mediump> mediump_f32vec1;
442 typedef vec<2, f32, mediump> mediump_f32vec2;
443 typedef vec<3, f32, mediump> mediump_f32vec3;
444 typedef vec<4, f32, mediump> mediump_f32vec4;
445
446 typedef vec<1, f32, highp> highp_f32vec1;
447 typedef vec<2, f32, highp> highp_f32vec2;
448 typedef vec<3, f32, highp> highp_f32vec3;
449 typedef vec<4, f32, highp> highp_f32vec4;
450
451 typedef vec<1, f32, defaultp> f32vec1;
452 typedef vec<2, f32, defaultp> f32vec2;
453 typedef vec<3, f32, defaultp> f32vec3;
454 typedef vec<4, f32, defaultp> f32vec4;
455
456 typedef vec<1, f64, lowp> lowp_dvec1;
457 typedef vec<2, f64, lowp> lowp_dvec2;
458 typedef vec<3, f64, lowp> lowp_dvec3;
459 typedef vec<4, f64, lowp> lowp_dvec4;
460
461 typedef vec<1, f64, mediump> mediump_dvec1;
462 typedef vec<2, f64, mediump> mediump_dvec2;
463 typedef vec<3, f64, mediump> mediump_dvec3;
464 typedef vec<4, f64, mediump> mediump_dvec4;
465
466 typedef vec<1, f64, highp> highp_dvec1;
467 typedef vec<2, f64, highp> highp_dvec2;
468 typedef vec<3, f64, highp> highp_dvec3;
469 typedef vec<4, f64, highp> highp_dvec4;
470
471 typedef vec<1, f64, defaultp> dvec1;
472 typedef vec<2, f64, defaultp> dvec2;
473 typedef vec<3, f64, defaultp> dvec3;
474 typedef vec<4, f64, defaultp> dvec4;
475
476 typedef vec<1, f64, lowp> lowp_f64vec1;
477 typedef vec<2, f64, lowp> lowp_f64vec2;
478 typedef vec<3, f64, lowp> lowp_f64vec3;
479 typedef vec<4, f64, lowp> lowp_f64vec4;
480
481 typedef vec<1, f64, mediump> mediump_f64vec1;
482 typedef vec<2, f64, mediump> mediump_f64vec2;
483 typedef vec<3, f64, mediump> mediump_f64vec3;
484 typedef vec<4, f64, mediump> mediump_f64vec4;
485
486 typedef vec<1, f64, highp> highp_f64vec1;
487 typedef vec<2, f64, highp> highp_f64vec2;
488 typedef vec<3, f64, highp> highp_f64vec3;
489 typedef vec<4, f64, highp> highp_f64vec4;
490
491 typedef vec<1, f64, defaultp> f64vec1;
492 typedef vec<2, f64, defaultp> f64vec2;
493 typedef vec<3, f64, defaultp> f64vec3;
494 typedef vec<4, f64, defaultp> f64vec4;
495
496 // Matrix NxN
497
498 typedef mat<2, 2, f32, lowp> lowp_mat2;
499 typedef mat<3, 3, f32, lowp> lowp_mat3;
500 typedef mat<4, 4, f32, lowp> lowp_mat4;
501
502 typedef mat<2, 2, f32, mediump> mediump_mat2;
503 typedef mat<3, 3, f32, mediump> mediump_mat3;
504 typedef mat<4, 4, f32, mediump> mediump_mat4;
505
506 typedef mat<2, 2, f32, highp> highp_mat2;
507 typedef mat<3, 3, f32, highp> highp_mat3;
508 typedef mat<4, 4, f32, highp> highp_mat4;
509
510 typedef mat<2, 2, f32, defaultp> mat2;
511 typedef mat<3, 3, f32, defaultp> mat3;
512 typedef mat<4, 4, f32, defaultp> mat4;
513
514 typedef mat<2, 2, f32, lowp> lowp_fmat2;
515 typedef mat<3, 3, f32, lowp> lowp_fmat3;
516 typedef mat<4, 4, f32, lowp> lowp_fmat4;
517
518 typedef mat<2, 2, f32, mediump> mediump_fmat2;
519 typedef mat<3, 3, f32, mediump> mediump_fmat3;
520 typedef mat<4, 4, f32, mediump> mediump_fmat4;
521
522 typedef mat<2, 2, f32, highp> highp_fmat2;
523 typedef mat<3, 3, f32, highp> highp_fmat3;
524 typedef mat<4, 4, f32, highp> highp_fmat4;
525
526 typedef mat<2, 2, f32, defaultp> fmat2;
527 typedef mat<3, 3, f32, defaultp> fmat3;
528 typedef mat<4, 4, f32, defaultp> fmat4;
529
530 typedef mat<2, 2, f32, lowp> lowp_f32mat2;
531 typedef mat<3, 3, f32, lowp> lowp_f32mat3;
532 typedef mat<4, 4, f32, lowp> lowp_f32mat4;
533
534 typedef mat<2, 2, f32, mediump> mediump_f32mat2;
535 typedef mat<3, 3, f32, mediump> mediump_f32mat3;
536 typedef mat<4, 4, f32, mediump> mediump_f32mat4;
537
538 typedef mat<2, 2, f32, highp> highp_f32mat2;
539 typedef mat<3, 3, f32, highp> highp_f32mat3;
540 typedef mat<4, 4, f32, highp> highp_f32mat4;
541
542 typedef mat<2, 2, f32, defaultp> f32mat2;
543 typedef mat<3, 3, f32, defaultp> f32mat3;
544 typedef mat<4, 4, f32, defaultp> f32mat4;
545
546 typedef mat<2, 2, f64, lowp> lowp_dmat2;
547 typedef mat<3, 3, f64, lowp> lowp_dmat3;
548 typedef mat<4, 4, f64, lowp> lowp_dmat4;
549
550 typedef mat<2, 2, f64, mediump> mediump_dmat2;
551 typedef mat<3, 3, f64, mediump> mediump_dmat3;
552 typedef mat<4, 4, f64, mediump> mediump_dmat4;
553
554 typedef mat<2, 2, f64, highp> highp_dmat2;
555 typedef mat<3, 3, f64, highp> highp_dmat3;
556 typedef mat<4, 4, f64, highp> highp_dmat4;
557
558 typedef mat<2, 2, f64, defaultp> dmat2;
559 typedef mat<3, 3, f64, defaultp> dmat3;
560 typedef mat<4, 4, f64, defaultp> dmat4;
561
562 typedef mat<2, 2, f64, lowp> lowp_f64mat2;
563 typedef mat<3, 3, f64, lowp> lowp_f64mat3;
564 typedef mat<4, 4, f64, lowp> lowp_f64mat4;
565
566 typedef mat<2, 2, f64, mediump> mediump_f64mat2;
567 typedef mat<3, 3, f64, mediump> mediump_f64mat3;
568 typedef mat<4, 4, f64, mediump> mediump_f64mat4;
569
570 typedef mat<2, 2, f64, highp> highp_f64mat2;
571 typedef mat<3, 3, f64, highp> highp_f64mat3;
572 typedef mat<4, 4, f64, highp> highp_f64mat4;
573
574 typedef mat<2, 2, f64, defaultp> f64mat2;
575 typedef mat<3, 3, f64, defaultp> f64mat3;
576 typedef mat<4, 4, f64, defaultp> f64mat4;
577
578 // Matrix MxN
579
580 typedef mat<2, 2, f32, lowp> lowp_mat2x2;
581 typedef mat<2, 3, f32, lowp> lowp_mat2x3;
582 typedef mat<2, 4, f32, lowp> lowp_mat2x4;
583 typedef mat<3, 2, f32, lowp> lowp_mat3x2;
584 typedef mat<3, 3, f32, lowp> lowp_mat3x3;
585 typedef mat<3, 4, f32, lowp> lowp_mat3x4;
586 typedef mat<4, 2, f32, lowp> lowp_mat4x2;
587 typedef mat<4, 3, f32, lowp> lowp_mat4x3;
588 typedef mat<4, 4, f32, lowp> lowp_mat4x4;
589
590 typedef mat<2, 2, f32, mediump> mediump_mat2x2;
591 typedef mat<2, 3, f32, mediump> mediump_mat2x3;
592 typedef mat<2, 4, f32, mediump> mediump_mat2x4;
593 typedef mat<3, 2, f32, mediump> mediump_mat3x2;
594 typedef mat<3, 3, f32, mediump> mediump_mat3x3;
595 typedef mat<3, 4, f32, mediump> mediump_mat3x4;
596 typedef mat<4, 2, f32, mediump> mediump_mat4x2;
597 typedef mat<4, 3, f32, mediump> mediump_mat4x3;
598 typedef mat<4, 4, f32, mediump> mediump_mat4x4;
599
600 typedef mat<2, 2, f32, highp> highp_mat2x2;
601 typedef mat<2, 3, f32, highp> highp_mat2x3;
602 typedef mat<2, 4, f32, highp> highp_mat2x4;
603 typedef mat<3, 2, f32, highp> highp_mat3x2;
604 typedef mat<3, 3, f32, highp> highp_mat3x3;
605 typedef mat<3, 4, f32, highp> highp_mat3x4;
606 typedef mat<4, 2, f32, highp> highp_mat4x2;
607 typedef mat<4, 3, f32, highp> highp_mat4x3;
608 typedef mat<4, 4, f32, highp> highp_mat4x4;
609
610 typedef mat<2, 2, f32, defaultp> mat2x2;
611 typedef mat<2, 3, f32, defaultp> mat2x3;
612 typedef mat<2, 4, f32, defaultp> mat2x4;
613 typedef mat<3, 2, f32, defaultp> mat3x2;
614 typedef mat<3, 3, f32, defaultp> mat3x3;
615 typedef mat<3, 4, f32, defaultp> mat3x4;
616 typedef mat<4, 2, f32, defaultp> mat4x2;
617 typedef mat<4, 3, f32, defaultp> mat4x3;
618 typedef mat<4, 4, f32, defaultp> mat4x4;
619
620 typedef mat<2, 2, f32, lowp> lowp_fmat2x2;
621 typedef mat<2, 3, f32, lowp> lowp_fmat2x3;
622 typedef mat<2, 4, f32, lowp> lowp_fmat2x4;
623 typedef mat<3, 2, f32, lowp> lowp_fmat3x2;
624 typedef mat<3, 3, f32, lowp> lowp_fmat3x3;
625 typedef mat<3, 4, f32, lowp> lowp_fmat3x4;
626 typedef mat<4, 2, f32, lowp> lowp_fmat4x2;
627 typedef mat<4, 3, f32, lowp> lowp_fmat4x3;
628 typedef mat<4, 4, f32, lowp> lowp_fmat4x4;
629
630 typedef mat<2, 2, f32, mediump> mediump_fmat2x2;
631 typedef mat<2, 3, f32, mediump> mediump_fmat2x3;
632 typedef mat<2, 4, f32, mediump> mediump_fmat2x4;
633 typedef mat<3, 2, f32, mediump> mediump_fmat3x2;
634 typedef mat<3, 3, f32, mediump> mediump_fmat3x3;
635 typedef mat<3, 4, f32, mediump> mediump_fmat3x4;
636 typedef mat<4, 2, f32, mediump> mediump_fmat4x2;
637 typedef mat<4, 3, f32, mediump> mediump_fmat4x3;
638 typedef mat<4, 4, f32, mediump> mediump_fmat4x4;
639
640 typedef mat<2, 2, f32, highp> highp_fmat2x2;
641 typedef mat<2, 3, f32, highp> highp_fmat2x3;
642 typedef mat<2, 4, f32, highp> highp_fmat2x4;
643 typedef mat<3, 2, f32, highp> highp_fmat3x2;
644 typedef mat<3, 3, f32, highp> highp_fmat3x3;
645 typedef mat<3, 4, f32, highp> highp_fmat3x4;
646 typedef mat<4, 2, f32, highp> highp_fmat4x2;
647 typedef mat<4, 3, f32, highp> highp_fmat4x3;
648 typedef mat<4, 4, f32, highp> highp_fmat4x4;
649
650 typedef mat<2, 2, f32, defaultp> fmat2x2;
651 typedef mat<2, 3, f32, defaultp> fmat2x3;
652 typedef mat<2, 4, f32, defaultp> fmat2x4;
653 typedef mat<3, 2, f32, defaultp> fmat3x2;
654 typedef mat<3, 3, f32, defaultp> fmat3x3;
655 typedef mat<3, 4, f32, defaultp> fmat3x4;
656 typedef mat<4, 2, f32, defaultp> fmat4x2;
657 typedef mat<4, 3, f32, defaultp> fmat4x3;
658 typedef mat<4, 4, f32, defaultp> fmat4x4;
659
660 typedef mat<2, 2, f32, lowp> lowp_f32mat2x2;
661 typedef mat<2, 3, f32, lowp> lowp_f32mat2x3;
662 typedef mat<2, 4, f32, lowp> lowp_f32mat2x4;
663 typedef mat<3, 2, f32, lowp> lowp_f32mat3x2;
664 typedef mat<3, 3, f32, lowp> lowp_f32mat3x3;
665 typedef mat<3, 4, f32, lowp> lowp_f32mat3x4;
666 typedef mat<4, 2, f32, lowp> lowp_f32mat4x2;
667 typedef mat<4, 3, f32, lowp> lowp_f32mat4x3;
668 typedef mat<4, 4, f32, lowp> lowp_f32mat4x4;
669
670 typedef mat<2, 2, f32, mediump> mediump_f32mat2x2;
671 typedef mat<2, 3, f32, mediump> mediump_f32mat2x3;
672 typedef mat<2, 4, f32, mediump> mediump_f32mat2x4;
673 typedef mat<3, 2, f32, mediump> mediump_f32mat3x2;
674 typedef mat<3, 3, f32, mediump> mediump_f32mat3x3;
675 typedef mat<3, 4, f32, mediump> mediump_f32mat3x4;
676 typedef mat<4, 2, f32, mediump> mediump_f32mat4x2;
677 typedef mat<4, 3, f32, mediump> mediump_f32mat4x3;
678 typedef mat<4, 4, f32, mediump> mediump_f32mat4x4;
679
680 typedef mat<2, 2, f32, highp> highp_f32mat2x2;
681 typedef mat<2, 3, f32, highp> highp_f32mat2x3;
682 typedef mat<2, 4, f32, highp> highp_f32mat2x4;
683 typedef mat<3, 2, f32, highp> highp_f32mat3x2;
684 typedef mat<3, 3, f32, highp> highp_f32mat3x3;
685 typedef mat<3, 4, f32, highp> highp_f32mat3x4;
686 typedef mat<4, 2, f32, highp> highp_f32mat4x2;
687 typedef mat<4, 3, f32, highp> highp_f32mat4x3;
688 typedef mat<4, 4, f32, highp> highp_f32mat4x4;
689
690 typedef mat<2, 2, f32, defaultp> f32mat2x2;
691 typedef mat<2, 3, f32, defaultp> f32mat2x3;
692 typedef mat<2, 4, f32, defaultp> f32mat2x4;
693 typedef mat<3, 2, f32, defaultp> f32mat3x2;
694 typedef mat<3, 3, f32, defaultp> f32mat3x3;
695 typedef mat<3, 4, f32, defaultp> f32mat3x4;
696 typedef mat<4, 2, f32, defaultp> f32mat4x2;
697 typedef mat<4, 3, f32, defaultp> f32mat4x3;
698 typedef mat<4, 4, f32, defaultp> f32mat4x4;
699
700 typedef mat<2, 2, double, lowp> lowp_dmat2x2;
701 typedef mat<2, 3, double, lowp> lowp_dmat2x3;
702 typedef mat<2, 4, double, lowp> lowp_dmat2x4;
703 typedef mat<3, 2, double, lowp> lowp_dmat3x2;
704 typedef mat<3, 3, double, lowp> lowp_dmat3x3;
705 typedef mat<3, 4, double, lowp> lowp_dmat3x4;
706 typedef mat<4, 2, double, lowp> lowp_dmat4x2;
707 typedef mat<4, 3, double, lowp> lowp_dmat4x3;
708 typedef mat<4, 4, double, lowp> lowp_dmat4x4;
709
710 typedef mat<2, 2, double, mediump> mediump_dmat2x2;
711 typedef mat<2, 3, double, mediump> mediump_dmat2x3;
712 typedef mat<2, 4, double, mediump> mediump_dmat2x4;
713 typedef mat<3, 2, double, mediump> mediump_dmat3x2;
714 typedef mat<3, 3, double, mediump> mediump_dmat3x3;
715 typedef mat<3, 4, double, mediump> mediump_dmat3x4;
716 typedef mat<4, 2, double, mediump> mediump_dmat4x2;
717 typedef mat<4, 3, double, mediump> mediump_dmat4x3;
718 typedef mat<4, 4, double, mediump> mediump_dmat4x4;
719
720 typedef mat<2, 2, double, highp> highp_dmat2x2;
721 typedef mat<2, 3, double, highp> highp_dmat2x3;
722 typedef mat<2, 4, double, highp> highp_dmat2x4;
723 typedef mat<3, 2, double, highp> highp_dmat3x2;
724 typedef mat<3, 3, double, highp> highp_dmat3x3;
725 typedef mat<3, 4, double, highp> highp_dmat3x4;
726 typedef mat<4, 2, double, highp> highp_dmat4x2;
727 typedef mat<4, 3, double, highp> highp_dmat4x3;
728 typedef mat<4, 4, double, highp> highp_dmat4x4;
729
730 typedef mat<2, 2, double, defaultp> dmat2x2;
731 typedef mat<2, 3, double, defaultp> dmat2x3;
732 typedef mat<2, 4, double, defaultp> dmat2x4;
733 typedef mat<3, 2, double, defaultp> dmat3x2;
734 typedef mat<3, 3, double, defaultp> dmat3x3;
735 typedef mat<3, 4, double, defaultp> dmat3x4;
736 typedef mat<4, 2, double, defaultp> dmat4x2;
737 typedef mat<4, 3, double, defaultp> dmat4x3;
738 typedef mat<4, 4, double, defaultp> dmat4x4;
739
740 typedef mat<2, 2, f64, lowp> lowp_f64mat2x2;
741 typedef mat<2, 3, f64, lowp> lowp_f64mat2x3;
742 typedef mat<2, 4, f64, lowp> lowp_f64mat2x4;
743 typedef mat<3, 2, f64, lowp> lowp_f64mat3x2;
744 typedef mat<3, 3, f64, lowp> lowp_f64mat3x3;
745 typedef mat<3, 4, f64, lowp> lowp_f64mat3x4;
746 typedef mat<4, 2, f64, lowp> lowp_f64mat4x2;
747 typedef mat<4, 3, f64, lowp> lowp_f64mat4x3;
748 typedef mat<4, 4, f64, lowp> lowp_f64mat4x4;
749
750 typedef mat<2, 2, f64, mediump> mediump_f64mat2x2;
751 typedef mat<2, 3, f64, mediump> mediump_f64mat2x3;
752 typedef mat<2, 4, f64, mediump> mediump_f64mat2x4;
753 typedef mat<3, 2, f64, mediump> mediump_f64mat3x2;
754 typedef mat<3, 3, f64, mediump> mediump_f64mat3x3;
755 typedef mat<3, 4, f64, mediump> mediump_f64mat3x4;
756 typedef mat<4, 2, f64, mediump> mediump_f64mat4x2;
757 typedef mat<4, 3, f64, mediump> mediump_f64mat4x3;
758 typedef mat<4, 4, f64, mediump> mediump_f64mat4x4;
759
760 typedef mat<2, 2, f64, highp> highp_f64mat2x2;
761 typedef mat<2, 3, f64, highp> highp_f64mat2x3;
762 typedef mat<2, 4, f64, highp> highp_f64mat2x4;
763 typedef mat<3, 2, f64, highp> highp_f64mat3x2;
764 typedef mat<3, 3, f64, highp> highp_f64mat3x3;
765 typedef mat<3, 4, f64, highp> highp_f64mat3x4;
766 typedef mat<4, 2, f64, highp> highp_f64mat4x2;
767 typedef mat<4, 3, f64, highp> highp_f64mat4x3;
768 typedef mat<4, 4, f64, highp> highp_f64mat4x4;
769
770 typedef mat<2, 2, f64, defaultp> f64mat2x2;
771 typedef mat<2, 3, f64, defaultp> f64mat2x3;
772 typedef mat<2, 4, f64, defaultp> f64mat2x4;
773 typedef mat<3, 2, f64, defaultp> f64mat3x2;
774 typedef mat<3, 3, f64, defaultp> f64mat3x3;
775 typedef mat<3, 4, f64, defaultp> f64mat3x4;
776 typedef mat<4, 2, f64, defaultp> f64mat4x2;
777 typedef mat<4, 3, f64, defaultp> f64mat4x3;
778 typedef mat<4, 4, f64, defaultp> f64mat4x4;
779
780 // Signed integer matrix MxN
781
782 typedef mat<2, 2, int, lowp> lowp_imat2x2;
783 typedef mat<2, 3, int, lowp> lowp_imat2x3;
784 typedef mat<2, 4, int, lowp> lowp_imat2x4;
785 typedef mat<3, 2, int, lowp> lowp_imat3x2;
786 typedef mat<3, 3, int, lowp> lowp_imat3x3;
787 typedef mat<3, 4, int, lowp> lowp_imat3x4;
788 typedef mat<4, 2, int, lowp> lowp_imat4x2;
789 typedef mat<4, 3, int, lowp> lowp_imat4x3;
790 typedef mat<4, 4, int, lowp> lowp_imat4x4;
791
792 typedef mat<2, 2, int, mediump> mediump_imat2x2;
793 typedef mat<2, 3, int, mediump> mediump_imat2x3;
794 typedef mat<2, 4, int, mediump> mediump_imat2x4;
795 typedef mat<3, 2, int, mediump> mediump_imat3x2;
796 typedef mat<3, 3, int, mediump> mediump_imat3x3;
797 typedef mat<3, 4, int, mediump> mediump_imat3x4;
798 typedef mat<4, 2, int, mediump> mediump_imat4x2;
799 typedef mat<4, 3, int, mediump> mediump_imat4x3;
800 typedef mat<4, 4, int, mediump> mediump_imat4x4;
801
802 typedef mat<2, 2, int, highp> highp_imat2x2;
803 typedef mat<2, 3, int, highp> highp_imat2x3;
804 typedef mat<2, 4, int, highp> highp_imat2x4;
805 typedef mat<3, 2, int, highp> highp_imat3x2;
806 typedef mat<3, 3, int, highp> highp_imat3x3;
807 typedef mat<3, 4, int, highp> highp_imat3x4;
808 typedef mat<4, 2, int, highp> highp_imat4x2;
809 typedef mat<4, 3, int, highp> highp_imat4x3;
810 typedef mat<4, 4, int, highp> highp_imat4x4;
811
812 typedef mat<2, 2, int, defaultp> imat2x2;
813 typedef mat<2, 3, int, defaultp> imat2x3;
814 typedef mat<2, 4, int, defaultp> imat2x4;
815 typedef mat<3, 2, int, defaultp> imat3x2;
816 typedef mat<3, 3, int, defaultp> imat3x3;
817 typedef mat<3, 4, int, defaultp> imat3x4;
818 typedef mat<4, 2, int, defaultp> imat4x2;
819 typedef mat<4, 3, int, defaultp> imat4x3;
820 typedef mat<4, 4, int, defaultp> imat4x4;
821
822
823 typedef mat<2, 2, int8, lowp> lowp_i8mat2x2;
824 typedef mat<2, 3, int8, lowp> lowp_i8mat2x3;
825 typedef mat<2, 4, int8, lowp> lowp_i8mat2x4;
826 typedef mat<3, 2, int8, lowp> lowp_i8mat3x2;
827 typedef mat<3, 3, int8, lowp> lowp_i8mat3x3;
828 typedef mat<3, 4, int8, lowp> lowp_i8mat3x4;
829 typedef mat<4, 2, int8, lowp> lowp_i8mat4x2;
830 typedef mat<4, 3, int8, lowp> lowp_i8mat4x3;
831 typedef mat<4, 4, int8, lowp> lowp_i8mat4x4;
832
833 typedef mat<2, 2, int8, mediump> mediump_i8mat2x2;
834 typedef mat<2, 3, int8, mediump> mediump_i8mat2x3;
835 typedef mat<2, 4, int8, mediump> mediump_i8mat2x4;
836 typedef mat<3, 2, int8, mediump> mediump_i8mat3x2;
837 typedef mat<3, 3, int8, mediump> mediump_i8mat3x3;
838 typedef mat<3, 4, int8, mediump> mediump_i8mat3x4;
839 typedef mat<4, 2, int8, mediump> mediump_i8mat4x2;
840 typedef mat<4, 3, int8, mediump> mediump_i8mat4x3;
841 typedef mat<4, 4, int8, mediump> mediump_i8mat4x4;
842
843 typedef mat<2, 2, int8, highp> highp_i8mat2x2;
844 typedef mat<2, 3, int8, highp> highp_i8mat2x3;
845 typedef mat<2, 4, int8, highp> highp_i8mat2x4;
846 typedef mat<3, 2, int8, highp> highp_i8mat3x2;
847 typedef mat<3, 3, int8, highp> highp_i8mat3x3;
848 typedef mat<3, 4, int8, highp> highp_i8mat3x4;
849 typedef mat<4, 2, int8, highp> highp_i8mat4x2;
850 typedef mat<4, 3, int8, highp> highp_i8mat4x3;
851 typedef mat<4, 4, int8, highp> highp_i8mat4x4;
852
853 typedef mat<2, 2, int8, defaultp> i8mat2x2;
854 typedef mat<2, 3, int8, defaultp> i8mat2x3;
855 typedef mat<2, 4, int8, defaultp> i8mat2x4;
856 typedef mat<3, 2, int8, defaultp> i8mat3x2;
857 typedef mat<3, 3, int8, defaultp> i8mat3x3;
858 typedef mat<3, 4, int8, defaultp> i8mat3x4;
859 typedef mat<4, 2, int8, defaultp> i8mat4x2;
860 typedef mat<4, 3, int8, defaultp> i8mat4x3;
861 typedef mat<4, 4, int8, defaultp> i8mat4x4;
862
863
864 typedef mat<2, 2, int16, lowp> lowp_i16mat2x2;
865 typedef mat<2, 3, int16, lowp> lowp_i16mat2x3;
866 typedef mat<2, 4, int16, lowp> lowp_i16mat2x4;
867 typedef mat<3, 2, int16, lowp> lowp_i16mat3x2;
868 typedef mat<3, 3, int16, lowp> lowp_i16mat3x3;
869 typedef mat<3, 4, int16, lowp> lowp_i16mat3x4;
870 typedef mat<4, 2, int16, lowp> lowp_i16mat4x2;
871 typedef mat<4, 3, int16, lowp> lowp_i16mat4x3;
872 typedef mat<4, 4, int16, lowp> lowp_i16mat4x4;
873
874 typedef mat<2, 2, int16, mediump> mediump_i16mat2x2;
875 typedef mat<2, 3, int16, mediump> mediump_i16mat2x3;
876 typedef mat<2, 4, int16, mediump> mediump_i16mat2x4;
877 typedef mat<3, 2, int16, mediump> mediump_i16mat3x2;
878 typedef mat<3, 3, int16, mediump> mediump_i16mat3x3;
879 typedef mat<3, 4, int16, mediump> mediump_i16mat3x4;
880 typedef mat<4, 2, int16, mediump> mediump_i16mat4x2;
881 typedef mat<4, 3, int16, mediump> mediump_i16mat4x3;
882 typedef mat<4, 4, int16, mediump> mediump_i16mat4x4;
883
884 typedef mat<2, 2, int16, highp> highp_i16mat2x2;
885 typedef mat<2, 3, int16, highp> highp_i16mat2x3;
886 typedef mat<2, 4, int16, highp> highp_i16mat2x4;
887 typedef mat<3, 2, int16, highp> highp_i16mat3x2;
888 typedef mat<3, 3, int16, highp> highp_i16mat3x3;
889 typedef mat<3, 4, int16, highp> highp_i16mat3x4;
890 typedef mat<4, 2, int16, highp> highp_i16mat4x2;
891 typedef mat<4, 3, int16, highp> highp_i16mat4x3;
892 typedef mat<4, 4, int16, highp> highp_i16mat4x4;
893
894 typedef mat<2, 2, int16, defaultp> i16mat2x2;
895 typedef mat<2, 3, int16, defaultp> i16mat2x3;
896 typedef mat<2, 4, int16, defaultp> i16mat2x4;
897 typedef mat<3, 2, int16, defaultp> i16mat3x2;
898 typedef mat<3, 3, int16, defaultp> i16mat3x3;
899 typedef mat<3, 4, int16, defaultp> i16mat3x4;
900 typedef mat<4, 2, int16, defaultp> i16mat4x2;
901 typedef mat<4, 3, int16, defaultp> i16mat4x3;
902 typedef mat<4, 4, int16, defaultp> i16mat4x4;
903
904
905 typedef mat<2, 2, int32, lowp> lowp_i32mat2x2;
906 typedef mat<2, 3, int32, lowp> lowp_i32mat2x3;
907 typedef mat<2, 4, int32, lowp> lowp_i32mat2x4;
908 typedef mat<3, 2, int32, lowp> lowp_i32mat3x2;
909 typedef mat<3, 3, int32, lowp> lowp_i32mat3x3;
910 typedef mat<3, 4, int32, lowp> lowp_i32mat3x4;
911 typedef mat<4, 2, int32, lowp> lowp_i32mat4x2;
912 typedef mat<4, 3, int32, lowp> lowp_i32mat4x3;
913 typedef mat<4, 4, int32, lowp> lowp_i32mat4x4;
914
915 typedef mat<2, 2, int32, mediump> mediump_i32mat2x2;
916 typedef mat<2, 3, int32, mediump> mediump_i32mat2x3;
917 typedef mat<2, 4, int32, mediump> mediump_i32mat2x4;
918 typedef mat<3, 2, int32, mediump> mediump_i32mat3x2;
919 typedef mat<3, 3, int32, mediump> mediump_i32mat3x3;
920 typedef mat<3, 4, int32, mediump> mediump_i32mat3x4;
921 typedef mat<4, 2, int32, mediump> mediump_i32mat4x2;
922 typedef mat<4, 3, int32, mediump> mediump_i32mat4x3;
923 typedef mat<4, 4, int32, mediump> mediump_i32mat4x4;
924
925 typedef mat<2, 2, int32, highp> highp_i32mat2x2;
926 typedef mat<2, 3, int32, highp> highp_i32mat2x3;
927 typedef mat<2, 4, int32, highp> highp_i32mat2x4;
928 typedef mat<3, 2, int32, highp> highp_i32mat3x2;
929 typedef mat<3, 3, int32, highp> highp_i32mat3x3;
930 typedef mat<3, 4, int32, highp> highp_i32mat3x4;
931 typedef mat<4, 2, int32, highp> highp_i32mat4x2;
932 typedef mat<4, 3, int32, highp> highp_i32mat4x3;
933 typedef mat<4, 4, int32, highp> highp_i32mat4x4;
934
935 typedef mat<2, 2, int32, defaultp> i32mat2x2;
936 typedef mat<2, 3, int32, defaultp> i32mat2x3;
937 typedef mat<2, 4, int32, defaultp> i32mat2x4;
938 typedef mat<3, 2, int32, defaultp> i32mat3x2;
939 typedef mat<3, 3, int32, defaultp> i32mat3x3;
940 typedef mat<3, 4, int32, defaultp> i32mat3x4;
941 typedef mat<4, 2, int32, defaultp> i32mat4x2;
942 typedef mat<4, 3, int32, defaultp> i32mat4x3;
943 typedef mat<4, 4, int32, defaultp> i32mat4x4;
944
945
946 typedef mat<2, 2, int64, lowp> lowp_i64mat2x2;
947 typedef mat<2, 3, int64, lowp> lowp_i64mat2x3;
948 typedef mat<2, 4, int64, lowp> lowp_i64mat2x4;
949 typedef mat<3, 2, int64, lowp> lowp_i64mat3x2;
950 typedef mat<3, 3, int64, lowp> lowp_i64mat3x3;
951 typedef mat<3, 4, int64, lowp> lowp_i64mat3x4;
952 typedef mat<4, 2, int64, lowp> lowp_i64mat4x2;
953 typedef mat<4, 3, int64, lowp> lowp_i64mat4x3;
954 typedef mat<4, 4, int64, lowp> lowp_i64mat4x4;
955
956 typedef mat<2, 2, int64, mediump> mediump_i64mat2x2;
957 typedef mat<2, 3, int64, mediump> mediump_i64mat2x3;
958 typedef mat<2, 4, int64, mediump> mediump_i64mat2x4;
959 typedef mat<3, 2, int64, mediump> mediump_i64mat3x2;
960 typedef mat<3, 3, int64, mediump> mediump_i64mat3x3;
961 typedef mat<3, 4, int64, mediump> mediump_i64mat3x4;
962 typedef mat<4, 2, int64, mediump> mediump_i64mat4x2;
963 typedef mat<4, 3, int64, mediump> mediump_i64mat4x3;
964 typedef mat<4, 4, int64, mediump> mediump_i64mat4x4;
965
966 typedef mat<2, 2, int64, highp> highp_i64mat2x2;
967 typedef mat<2, 3, int64, highp> highp_i64mat2x3;
968 typedef mat<2, 4, int64, highp> highp_i64mat2x4;
969 typedef mat<3, 2, int64, highp> highp_i64mat3x2;
970 typedef mat<3, 3, int64, highp> highp_i64mat3x3;
971 typedef mat<3, 4, int64, highp> highp_i64mat3x4;
972 typedef mat<4, 2, int64, highp> highp_i64mat4x2;
973 typedef mat<4, 3, int64, highp> highp_i64mat4x3;
974 typedef mat<4, 4, int64, highp> highp_i64mat4x4;
975
976 typedef mat<2, 2, int64, defaultp> i64mat2x2;
977 typedef mat<2, 3, int64, defaultp> i64mat2x3;
978 typedef mat<2, 4, int64, defaultp> i64mat2x4;
979 typedef mat<3, 2, int64, defaultp> i64mat3x2;
980 typedef mat<3, 3, int64, defaultp> i64mat3x3;
981 typedef mat<3, 4, int64, defaultp> i64mat3x4;
982 typedef mat<4, 2, int64, defaultp> i64mat4x2;
983 typedef mat<4, 3, int64, defaultp> i64mat4x3;
984 typedef mat<4, 4, int64, defaultp> i64mat4x4;
985
986
987 // Unsigned integer matrix MxN
988
989 typedef mat<2, 2, uint, lowp> lowp_umat2x2;
990 typedef mat<2, 3, uint, lowp> lowp_umat2x3;
991 typedef mat<2, 4, uint, lowp> lowp_umat2x4;
992 typedef mat<3, 2, uint, lowp> lowp_umat3x2;
993 typedef mat<3, 3, uint, lowp> lowp_umat3x3;
994 typedef mat<3, 4, uint, lowp> lowp_umat3x4;
995 typedef mat<4, 2, uint, lowp> lowp_umat4x2;
996 typedef mat<4, 3, uint, lowp> lowp_umat4x3;
997 typedef mat<4, 4, uint, lowp> lowp_umat4x4;
998
999 typedef mat<2, 2, uint, mediump> mediump_umat2x2;
1000 typedef mat<2, 3, uint, mediump> mediump_umat2x3;
1001 typedef mat<2, 4, uint, mediump> mediump_umat2x4;
1002 typedef mat<3, 2, uint, mediump> mediump_umat3x2;
1003 typedef mat<3, 3, uint, mediump> mediump_umat3x3;
1004 typedef mat<3, 4, uint, mediump> mediump_umat3x4;
1005 typedef mat<4, 2, uint, mediump> mediump_umat4x2;
1006 typedef mat<4, 3, uint, mediump> mediump_umat4x3;
1007 typedef mat<4, 4, uint, mediump> mediump_umat4x4;
1008
1009 typedef mat<2, 2, uint, highp> highp_umat2x2;
1010 typedef mat<2, 3, uint, highp> highp_umat2x3;
1011 typedef mat<2, 4, uint, highp> highp_umat2x4;
1012 typedef mat<3, 2, uint, highp> highp_umat3x2;
1013 typedef mat<3, 3, uint, highp> highp_umat3x3;
1014 typedef mat<3, 4, uint, highp> highp_umat3x4;
1015 typedef mat<4, 2, uint, highp> highp_umat4x2;
1016 typedef mat<4, 3, uint, highp> highp_umat4x3;
1017 typedef mat<4, 4, uint, highp> highp_umat4x4;
1018
1019 typedef mat<2, 2, uint, defaultp> umat2x2;
1020 typedef mat<2, 3, uint, defaultp> umat2x3;
1021 typedef mat<2, 4, uint, defaultp> umat2x4;
1022 typedef mat<3, 2, uint, defaultp> umat3x2;
1023 typedef mat<3, 3, uint, defaultp> umat3x3;
1024 typedef mat<3, 4, uint, defaultp> umat3x4;
1025 typedef mat<4, 2, uint, defaultp> umat4x2;
1026 typedef mat<4, 3, uint, defaultp> umat4x3;
1027 typedef mat<4, 4, uint, defaultp> umat4x4;
1028
1029
1030 typedef mat<2, 2, uint8, lowp> lowp_u8mat2x2;
1031 typedef mat<2, 3, uint8, lowp> lowp_u8mat2x3;
1032 typedef mat<2, 4, uint8, lowp> lowp_u8mat2x4;
1033 typedef mat<3, 2, uint8, lowp> lowp_u8mat3x2;
1034 typedef mat<3, 3, uint8, lowp> lowp_u8mat3x3;
1035 typedef mat<3, 4, uint8, lowp> lowp_u8mat3x4;
1036 typedef mat<4, 2, uint8, lowp> lowp_u8mat4x2;
1037 typedef mat<4, 3, uint8, lowp> lowp_u8mat4x3;
1038 typedef mat<4, 4, uint8, lowp> lowp_u8mat4x4;
1039
1040 typedef mat<2, 2, uint8, mediump> mediump_u8mat2x2;
1041 typedef mat<2, 3, uint8, mediump> mediump_u8mat2x3;
1042 typedef mat<2, 4, uint8, mediump> mediump_u8mat2x4;
1043 typedef mat<3, 2, uint8, mediump> mediump_u8mat3x2;
1044 typedef mat<3, 3, uint8, mediump> mediump_u8mat3x3;
1045 typedef mat<3, 4, uint8, mediump> mediump_u8mat3x4;
1046 typedef mat<4, 2, uint8, mediump> mediump_u8mat4x2;
1047 typedef mat<4, 3, uint8, mediump> mediump_u8mat4x3;
1048 typedef mat<4, 4, uint8, mediump> mediump_u8mat4x4;
1049
1050 typedef mat<2, 2, uint8, highp> highp_u8mat2x2;
1051 typedef mat<2, 3, uint8, highp> highp_u8mat2x3;
1052 typedef mat<2, 4, uint8, highp> highp_u8mat2x4;
1053 typedef mat<3, 2, uint8, highp> highp_u8mat3x2;
1054 typedef mat<3, 3, uint8, highp> highp_u8mat3x3;
1055 typedef mat<3, 4, uint8, highp> highp_u8mat3x4;
1056 typedef mat<4, 2, uint8, highp> highp_u8mat4x2;
1057 typedef mat<4, 3, uint8, highp> highp_u8mat4x3;
1058 typedef mat<4, 4, uint8, highp> highp_u8mat4x4;
1059
1060 typedef mat<2, 2, uint8, defaultp> u8mat2x2;
1061 typedef mat<2, 3, uint8, defaultp> u8mat2x3;
1062 typedef mat<2, 4, uint8, defaultp> u8mat2x4;
1063 typedef mat<3, 2, uint8, defaultp> u8mat3x2;
1064 typedef mat<3, 3, uint8, defaultp> u8mat3x3;
1065 typedef mat<3, 4, uint8, defaultp> u8mat3x4;
1066 typedef mat<4, 2, uint8, defaultp> u8mat4x2;
1067 typedef mat<4, 3, uint8, defaultp> u8mat4x3;
1068 typedef mat<4, 4, uint8, defaultp> u8mat4x4;
1069
1070
1071 typedef mat<2, 2, uint16, lowp> lowp_u16mat2x2;
1072 typedef mat<2, 3, uint16, lowp> lowp_u16mat2x3;
1073 typedef mat<2, 4, uint16, lowp> lowp_u16mat2x4;
1074 typedef mat<3, 2, uint16, lowp> lowp_u16mat3x2;
1075 typedef mat<3, 3, uint16, lowp> lowp_u16mat3x3;
1076 typedef mat<3, 4, uint16, lowp> lowp_u16mat3x4;
1077 typedef mat<4, 2, uint16, lowp> lowp_u16mat4x2;
1078 typedef mat<4, 3, uint16, lowp> lowp_u16mat4x3;
1079 typedef mat<4, 4, uint16, lowp> lowp_u16mat4x4;
1080
1081 typedef mat<2, 2, uint16, mediump> mediump_u16mat2x2;
1082 typedef mat<2, 3, uint16, mediump> mediump_u16mat2x3;
1083 typedef mat<2, 4, uint16, mediump> mediump_u16mat2x4;
1084 typedef mat<3, 2, uint16, mediump> mediump_u16mat3x2;
1085 typedef mat<3, 3, uint16, mediump> mediump_u16mat3x3;
1086 typedef mat<3, 4, uint16, mediump> mediump_u16mat3x4;
1087 typedef mat<4, 2, uint16, mediump> mediump_u16mat4x2;
1088 typedef mat<4, 3, uint16, mediump> mediump_u16mat4x3;
1089 typedef mat<4, 4, uint16, mediump> mediump_u16mat4x4;
1090
1091 typedef mat<2, 2, uint16, highp> highp_u16mat2x2;
1092 typedef mat<2, 3, uint16, highp> highp_u16mat2x3;
1093 typedef mat<2, 4, uint16, highp> highp_u16mat2x4;
1094 typedef mat<3, 2, uint16, highp> highp_u16mat3x2;
1095 typedef mat<3, 3, uint16, highp> highp_u16mat3x3;
1096 typedef mat<3, 4, uint16, highp> highp_u16mat3x4;
1097 typedef mat<4, 2, uint16, highp> highp_u16mat4x2;
1098 typedef mat<4, 3, uint16, highp> highp_u16mat4x3;
1099 typedef mat<4, 4, uint16, highp> highp_u16mat4x4;
1100
1101 typedef mat<2, 2, uint16, defaultp> u16mat2x2;
1102 typedef mat<2, 3, uint16, defaultp> u16mat2x3;
1103 typedef mat<2, 4, uint16, defaultp> u16mat2x4;
1104 typedef mat<3, 2, uint16, defaultp> u16mat3x2;
1105 typedef mat<3, 3, uint16, defaultp> u16mat3x3;
1106 typedef mat<3, 4, uint16, defaultp> u16mat3x4;
1107 typedef mat<4, 2, uint16, defaultp> u16mat4x2;
1108 typedef mat<4, 3, uint16, defaultp> u16mat4x3;
1109 typedef mat<4, 4, uint16, defaultp> u16mat4x4;
1110
1111
1112 typedef mat<2, 2, uint32, lowp> lowp_u32mat2x2;
1113 typedef mat<2, 3, uint32, lowp> lowp_u32mat2x3;
1114 typedef mat<2, 4, uint32, lowp> lowp_u32mat2x4;
1115 typedef mat<3, 2, uint32, lowp> lowp_u32mat3x2;
1116 typedef mat<3, 3, uint32, lowp> lowp_u32mat3x3;
1117 typedef mat<3, 4, uint32, lowp> lowp_u32mat3x4;
1118 typedef mat<4, 2, uint32, lowp> lowp_u32mat4x2;
1119 typedef mat<4, 3, uint32, lowp> lowp_u32mat4x3;
1120 typedef mat<4, 4, uint32, lowp> lowp_u32mat4x4;
1121
1122 typedef mat<2, 2, uint32, mediump> mediump_u32mat2x2;
1123 typedef mat<2, 3, uint32, mediump> mediump_u32mat2x3;
1124 typedef mat<2, 4, uint32, mediump> mediump_u32mat2x4;
1125 typedef mat<3, 2, uint32, mediump> mediump_u32mat3x2;
1126 typedef mat<3, 3, uint32, mediump> mediump_u32mat3x3;
1127 typedef mat<3, 4, uint32, mediump> mediump_u32mat3x4;
1128 typedef mat<4, 2, uint32, mediump> mediump_u32mat4x2;
1129 typedef mat<4, 3, uint32, mediump> mediump_u32mat4x3;
1130 typedef mat<4, 4, uint32, mediump> mediump_u32mat4x4;
1131
1132 typedef mat<2, 2, uint32, highp> highp_u32mat2x2;
1133 typedef mat<2, 3, uint32, highp> highp_u32mat2x3;
1134 typedef mat<2, 4, uint32, highp> highp_u32mat2x4;
1135 typedef mat<3, 2, uint32, highp> highp_u32mat3x2;
1136 typedef mat<3, 3, uint32, highp> highp_u32mat3x3;
1137 typedef mat<3, 4, uint32, highp> highp_u32mat3x4;
1138 typedef mat<4, 2, uint32, highp> highp_u32mat4x2;
1139 typedef mat<4, 3, uint32, highp> highp_u32mat4x3;
1140 typedef mat<4, 4, uint32, highp> highp_u32mat4x4;
1141
1142 typedef mat<2, 2, uint32, defaultp> u32mat2x2;
1143 typedef mat<2, 3, uint32, defaultp> u32mat2x3;
1144 typedef mat<2, 4, uint32, defaultp> u32mat2x4;
1145 typedef mat<3, 2, uint32, defaultp> u32mat3x2;
1146 typedef mat<3, 3, uint32, defaultp> u32mat3x3;
1147 typedef mat<3, 4, uint32, defaultp> u32mat3x4;
1148 typedef mat<4, 2, uint32, defaultp> u32mat4x2;
1149 typedef mat<4, 3, uint32, defaultp> u32mat4x3;
1150 typedef mat<4, 4, uint32, defaultp> u32mat4x4;
1151
1152
1153 typedef mat<2, 2, uint64, lowp> lowp_u64mat2x2;
1154 typedef mat<2, 3, uint64, lowp> lowp_u64mat2x3;
1155 typedef mat<2, 4, uint64, lowp> lowp_u64mat2x4;
1156 typedef mat<3, 2, uint64, lowp> lowp_u64mat3x2;
1157 typedef mat<3, 3, uint64, lowp> lowp_u64mat3x3;
1158 typedef mat<3, 4, uint64, lowp> lowp_u64mat3x4;
1159 typedef mat<4, 2, uint64, lowp> lowp_u64mat4x2;
1160 typedef mat<4, 3, uint64, lowp> lowp_u64mat4x3;
1161 typedef mat<4, 4, uint64, lowp> lowp_u64mat4x4;
1162
1163 typedef mat<2, 2, uint64, mediump> mediump_u64mat2x2;
1164 typedef mat<2, 3, uint64, mediump> mediump_u64mat2x3;
1165 typedef mat<2, 4, uint64, mediump> mediump_u64mat2x4;
1166 typedef mat<3, 2, uint64, mediump> mediump_u64mat3x2;
1167 typedef mat<3, 3, uint64, mediump> mediump_u64mat3x3;
1168 typedef mat<3, 4, uint64, mediump> mediump_u64mat3x4;
1169 typedef mat<4, 2, uint64, mediump> mediump_u64mat4x2;
1170 typedef mat<4, 3, uint64, mediump> mediump_u64mat4x3;
1171 typedef mat<4, 4, uint64, mediump> mediump_u64mat4x4;
1172
1173 typedef mat<2, 2, uint64, highp> highp_u64mat2x2;
1174 typedef mat<2, 3, uint64, highp> highp_u64mat2x3;
1175 typedef mat<2, 4, uint64, highp> highp_u64mat2x4;
1176 typedef mat<3, 2, uint64, highp> highp_u64mat3x2;
1177 typedef mat<3, 3, uint64, highp> highp_u64mat3x3;
1178 typedef mat<3, 4, uint64, highp> highp_u64mat3x4;
1179 typedef mat<4, 2, uint64, highp> highp_u64mat4x2;
1180 typedef mat<4, 3, uint64, highp> highp_u64mat4x3;
1181 typedef mat<4, 4, uint64, highp> highp_u64mat4x4;
1182
1183 typedef mat<2, 2, uint64, defaultp> u64mat2x2;
1184 typedef mat<2, 3, uint64, defaultp> u64mat2x3;
1185 typedef mat<2, 4, uint64, defaultp> u64mat2x4;
1186 typedef mat<3, 2, uint64, defaultp> u64mat3x2;
1187 typedef mat<3, 3, uint64, defaultp> u64mat3x3;
1188 typedef mat<3, 4, uint64, defaultp> u64mat3x4;
1189 typedef mat<4, 2, uint64, defaultp> u64mat4x2;
1190 typedef mat<4, 3, uint64, defaultp> u64mat4x3;
1191 typedef mat<4, 4, uint64, defaultp> u64mat4x4;
1192
1193 // Quaternion
1194
1195 typedef qua<float, lowp> lowp_quat;
1196 typedef qua<float, mediump> mediump_quat;
1197 typedef qua<float, highp> highp_quat;
1198 typedef qua<float, defaultp> quat;
1199
1200 typedef qua<float, lowp> lowp_fquat;
1201 typedef qua<float, mediump> mediump_fquat;
1202 typedef qua<float, highp> highp_fquat;
1203 typedef qua<float, defaultp> fquat;
1204
1205 typedef qua<f32, lowp> lowp_f32quat;
1206 typedef qua<f32, mediump> mediump_f32quat;
1207 typedef qua<f32, highp> highp_f32quat;
1208 typedef qua<f32, defaultp> f32quat;
1209
1210 typedef qua<double, lowp> lowp_dquat;
1211 typedef qua<double, mediump> mediump_dquat;
1212 typedef qua<double, highp> highp_dquat;
1213 typedef qua<double, defaultp> dquat;
1214
1215 typedef qua<f64, lowp> lowp_f64quat;
1216 typedef qua<f64, mediump> mediump_f64quat;
1217 typedef qua<f64, highp> highp_f64quat;
1218 typedef qua<f64, defaultp> f64quat;
1219}//namespace glm
1220
1221