Commit Graph

475 Commits

Author SHA1 Message Date
Christophe Riccio
41984e42ab Added GTC_type_aligned with aligned *vec* types 2016-06-01 00:43:35 +02:00
Christophe Riccio
688756b3e2 SIMD matrix functions optimizations 2016-05-30 18:01:06 +02:00
Christophe Riccio
52f8ecd973 Added AVX optimizations and equal tests 2016-05-30 14:23:58 +02:00
Christophe Riccio
9ed2a9601b Adde vec4 swizzle operators SIMD optimizations 2016-05-30 02:00:32 +02:00
Christophe Riccio
b9199a2c1a Refactoring of swizzle operators, preparing for vec4 swizzle SIMD optimizations 2016-05-30 01:39:16 +02:00
Christophe Riccio
28cb770d14 SIMD common functions optimizations 2016-05-29 19:14:39 +02:00
Christophe Riccio
42d86b8955 Fixed exponential low level API 2016-05-29 03:14:19 +02:00
Christophe Riccio
20cf68679c SIMD sqrt optimizations including lowp 2016-05-29 02:57:53 +02:00
Christophe Riccio
7fe2f5fe65 Renamed instruction set flags 2016-05-28 19:26:59 +02:00
Christophe Riccio
d33e3df02a Fixed SIMD code path selection 2016-05-28 18:24:39 +02:00
Christophe Riccio
ab159770b3 mad optimizations, fixed build 2016-05-28 17:12:48 +02:00
Christophe Riccio
fdec412ff7 Added FMA SIMD optimization 2016-05-28 12:31:43 +02:00
Christophe Riccio
a9fefc7300 Added vec4 SIMD contructor specialization 2016-05-28 01:33:29 +02:00
Christophe Riccio
f577611328 Added bitwise inverse SIMD optimization. Factorized bitwise optimization code 2016-05-27 23:03:38 +02:00
Christophe Riccio
4797ea9540 Added specialized SSE2 and AVX bool mix 2016-05-26 02:47:43 +02:00
Christophe Riccio
72c741d8ea Fixed sign with signed integer function on non-x86 architecture 2016-05-24 13:29:18 +02:00
Christophe Riccio
757fe39587 Removed simd precision qualifier. All precision qualifiers may generate SIMD instructions, precision may affect the generated instructions accordingly 2016-05-22 17:12:32 +02:00
Christophe Riccio
93612791cd Removed Apple specific check for LLVM versions 2016-05-04 18:46:59 +02:00
Christophe Riccio
affd5f3ba0 Fixed CUDA compiler error in type_vec4.inl #504 2016-05-04 16:35:57 +02:00
Christophe Riccio
1f71f6fb3a Improved SIMD and swizzle operators interactions with GCC and Clang, Added raw SIMD API. 2016-05-03 23:57:41 +02:00
Christophe Riccio
be8d6c9ccc Fixed test 2016-05-01 01:40:06 +02:00
Christophe Riccio
fa6f5cdcbb Fixed warning 2016-05-01 01:35:54 +02:00
Christophe Riccio
2f9fc55d88 More experiments to improve SIMD support 2016-05-01 01:12:22 +02:00
Christophe Riccio
234d7d4ba9 Simplify code removing GLM_FORCE_SIZE_FUNC, GLM_META_PROG_HELPERS, GLM_STATIC_CONST_MEMBERS and 'type' type trait. Added experiments for GTX_type_trait 2016-03-13 12:56:26 +01:00
Christophe Riccio
c853df1638 Added uround to GTC_integer, fast round on positive values 2016-03-10 21:17:46 +01:00
Paul Konstantin Gerke
239cf70ade Fixed: outerProduct was defined incorrectly for unmatched vecX types. E.g. outerProduct(vec2, vec4) did not succeed because the matrix return types were wrong. The computing function seemed fine. I used https://en.wikipedia.org/wiki/Outer_product as reference on what the number of columns/rows ''should'' be and fixed it so that it matches the description from wikipedia
Added: tests for outerProduct with unmatched vector dimensions (actually testing all combinations now)
2016-03-05 23:51:20 +01:00
Angelica Wrangler
72a8ba473d Merge pull request #475 from MrApplejuice/master
Fixed: outerProduct defintions and operator signatures for mat2x4 and vec4 #475
2016-03-05 23:18:21 +01:00
Joonas Sarajärvi
bc09ecf898 setup: detect GCC 6.0 2016-02-15 20:27:10 +01:00
Joonas Sarajärvi
f0acbbd4ac setup: detect GCC 6.0 2016-02-04 19:42:25 +02:00
Paul Konstantin Gerke
fb309e0eff Fixed: outerProduct was defined incorrectly for unmatched vecX types. E.g. outerProduct(vec2, vec4) did not succeed because the matrix return types were wrong. The computing function seemed fine. I used https://en.wikipedia.org/wiki/Outer_product as reference on what the number of columns/rows ''should'' be and fixed it so that it matches the description from wikipedia
Added: tests for outerProduct with unmatched vector dimensions (actually testing all combinations now)
2016-01-24 21:14:25 +01:00
humbletim
5d46e5186d remove extraneous test block 2016-01-03 18:30:29 +01:00
Adrian Krupa
c9400562ec Fixed build 2016-01-03 18:25:45 +01:00
humbletim
52c9f124e3 Fixed ldexp and frexp compilation errors 2016-01-03 18:20:13 +01:00
Christophe R
8d4d9d1877 Merge pull request #466 from humbletim/master
Fixed ldexp compilation error #466
2016-01-01 14:34:04 +01:00
Christophe Riccio
d269a92c2d Merge branch 'master' of https://github.com/g-truc/glm 2015-12-24 09:56:00 +01:00
humbletim
ac7ae32856 remove extraneous test block 2015-12-19 19:30:00 -05:00
humbletim
8c55a64fdd Fixed ldexp compilation error 2015-12-19 19:22:33 -05:00
Adrian Krupa
8fd8c56074 Fixed frexp compilation error 2015-11-29 20:53:04 +01:00
Christophe Riccio
b51f4e8981 Added test 2015-11-14 13:25:06 +01:00
Christophe Riccio
a257beb5de Added missing bvec* && and || operators 2015-10-15 04:28:08 +02:00
Christophe R.
143c4c336a Merge pull request #429 from JesseTG/jtg/static-const
Add GLM_STATIC_CONST_MEMBERS #429
2015-10-07 22:28:49 +02:00
Christophe Riccio
8814ae50c9 Fixed GTX_extended_min_max filename typo #386 2015-10-07 21:49:33 +02:00
Jesse Talavera-Greenberg
9604a7549f Add IDENTITY and ZERO constants for all matrices
- Tests, too
2015-10-05 19:26:30 -04:00
Jesse Talavera-Greenberg
5df08dfc78 Wrap tvec4's static constants in GLM_STATIC_CONST_MEMBERS
- Fix the indentation, too
2015-10-05 18:25:01 -04:00
Jesse Talavera-Greenberg
8be318970c Wrap tvec3's static constants in GLM_STATIC_CONST_MEMBERS
- Fixed the indentation, too
2015-10-05 18:24:31 -04:00
Jesse Talavera-Greenberg
4552ec737e Wrap tvec2's static constants in GLM_STATIC_CONST_MEMBERS 2015-10-05 18:23:18 -04:00
Jesse Talavera-Greenberg
5a60b3986b Wrap tvec1's static constants in GLM_STATIC_CONST_MEMBERS 2015-10-05 18:22:43 -04:00
Jesse Talavera-Greenberg
02b011651b Add static constants to vec4
- Tests, too
2015-10-02 18:34:53 -04:00
Jesse Talavera-Greenberg
25bd7014b0 Add static constants for vec3
- Tests, too
2015-10-02 18:34:17 -04:00
Jesse Talavera-Greenberg
b42a46d246 Add static constants for vec2
- Tests, too
2015-10-02 18:33:14 -04:00
Jesse Talavera-Greenberg
b8ff59a61b Add static constants for vec1
- Tests, too
2015-10-02 18:32:39 -04:00
Christophe Riccio
47c77475a9 - Improved overall execution time of unit tests #396 2015-09-06 22:22:20 +02:00
Christophe Riccio
af10e20f68 Fixed core_func_integer test 2015-09-06 22:03:28 +02:00
Christophe Riccio
be983bd7cb Added test 2015-08-31 17:33:22 +02:00
Christophe R
79f6d92c8a Added GLM_SIMD to enable automatic SIMD code generation for generic GLM types #235 #370 2015-08-09 10:50:29 +02:00
Christophe R
f9535f2398 Trying to reproduce #235 2015-08-09 00:24:38 +02:00
Christophe Riccio
bc0f5317fd Updated documentation 2015-08-01 22:54:27 +02:00
Christophe Riccio
d6ae2fd694 Fixed matrix conversions and added unit tests #371 2015-08-01 21:40:36 +02:00
Christophe R.
37d4ca9c4c Merge pull request #368 from JesseTG/jtg/oops-sorry
Fixed some of my own metaprogramming-helper mistakes #368
2015-07-25 23:28:38 +02:00
Christophe Riccio
afa193704c Fixed interactions with GLM_FORCE_NO_CTOR_INIT and default functions #366 2015-07-25 23:23:59 +02:00
Christophe Riccio
a56a40e1f2 Added support of defaulted functions to GLM types, to use them in unions #366 2015-07-25 21:31:51 +02:00
Jesse Talavera-Greenberg
2a947b7ff1 Add GLM_META_PROG_HELPERS tests to each type
- Add new tests to the matrix types
- Add vector tests to use the static values instead of constants
- Wrap the quaternion tests in #ifdefs
- Add new tests to the simdMat4 and simdVec4 tests
2015-07-25 14:33:01 -04:00
Christophe Riccio
f7751bfb06 Added support of defaulted functions to *vec* types #366 2015-07-25 01:24:03 +02:00
Christophe Riccio
562ab0b559 Test fix and warning fixes #364 2015-07-24 01:24:28 +02:00
Christophe Riccio
1e0cf75b2f More testing 2015-07-19 16:55:27 +02:00
Christophe Riccio
f96887863d Added a heap allocation test 2015-07-19 16:41:07 +02:00
Christophe Riccio
dcfddb75b8 Updated list of compiler versions 2015-07-19 02:36:53 +02:00
Christophe Riccio
4f7afb272f Fixed GCC build, GLM_META_PROG_HELPERS unsupported with GCC 4.6 2015-07-19 01:46:49 +02:00
Christophe Riccio
c90f7b0973 Fixed build 2015-07-19 01:04:07 +02:00
Christophe Riccio
6f1b7c24ce Fixed build 2015-07-19 00:34:59 +02:00
Christophe Riccio
47deb9709c Merge pull request #350 from JesseTG/jtg/template-convenience
Add static components and prec members to all vector and quat types #350
2015-07-18 23:49:29 +02:00
Christophe Riccio
357eaf7071 Fixed warnings 2015-07-18 10:00:00 +02:00
Jesse Talavera-Greenberg
a9c26d065b Add static components and prec members to all vector and quaternion types 2015-07-03 14:57:46 -04:00
Christophe Riccio
08eedc6209 Added experiment for new fastCos. More sRGB tests. 2015-06-27 18:36:17 +02:00
Christophe Riccio
042270d049 Added 'fmod' overload to GTX_common with tests, Removed integer specification for 'mod' in GTC_integer #308 2015-02-15 12:38:23 +01:00
Christophe Riccio
d9290d7887 Fixed GTC_packing *pack*norm*x* build and added tests #292 2015-01-09 23:14:10 +01:00
Christophe Riccio
2336264f4e Added ARM instruction set detection 2014-12-20 17:16:52 +01:00
Christophe Riccio
fc8b4404f0 Fixed faceforward build #289 2014-12-19 23:54:25 +01:00
Christophe Riccio
c556770a32 Fixed C++98 only build 2014-12-10 02:52:30 +01:00
Christophe Riccio
5331b67ad0 Clean up GLM_MESSAGES compilation log to report only detected capabilities 2014-12-10 02:27:13 +01:00
Christophe Riccio
83ad80d6b4 Fixed clang build 2014-11-29 20:52:53 +01:00
Christophe Riccio
a42f84ed47 Removed GLM_TEST_ENABLE_PERF 2014-11-29 20:46:58 +01:00
Christophe Riccio
0b9b157e24 Fixed test return type 2014-11-29 20:44:21 +01:00
Christophe Riccio
d79b17bcd1 Fixed test compiler error in Clang 2014-11-29 20:34:34 +01:00
Christophe Riccio
98fd37bef1 Fixed build 2014-11-29 20:28:25 +01:00
Christophe Riccio
a6b31d8fa1 Fixed test build 2014-11-29 20:21:13 +01:00
Christophe Riccio
cfac6e1b06 Fixed _tzcnt_u32 build, only with Windows 2014-11-29 19:10:55 +01:00
Christophe Riccio
7e81213fdd Fixed mod function specialization #281 Fixed bitscan detection 2014-11-29 18:47:58 +01:00
Christophe Riccio
bdd723ed3b Updated deprecated compilers 2014-11-27 23:42:35 +01:00
Christophe Riccio
3f48ffefb0 Updated license 2014-11-26 00:27:12 +01:00
Christophe Riccio
c20df07879 Updated license 2014-11-25 22:25:24 +01:00
Christophe Riccio
e8fbcf76dd Optimizations of log2 for ivec4 2014-11-24 01:56:36 +01:00
Christophe Riccio
0bffce4f4b Optimized findMSB and findLSB 2014-11-22 20:14:48 +01:00
Christophe Riccio
38161f01f8 Further optimized glm::sign for signed and unsigned int #271 2014-11-21 23:43:48 +01:00
Christophe Riccio
f98f2b107a Merge branch 'GTC_integer' 2014-11-21 22:50:00 +01:00
Christophe Riccio
6f8bbecbf5 Updated sign 2014-11-21 22:49:39 +01:00
Christophe Riccio
b0b84a3dc1 Optimized sign for vector types #271 2014-11-21 00:50:47 +01:00
Christophe Riccio
3adf263341 Added GLM_FORCE_EXPLICIT_CTOR to require explicit type conversions #269 2014-11-17 22:59:10 +01:00
Christophe Riccio
1a4bc0d8a5 Added more geometric function tests 2014-11-16 20:52:54 +01:00
Christophe Riccio
2d48d922bd Updated VC support compilers list 2014-11-16 01:12:18 +01:00
Christophe Riccio
72cbc4c065 Fixed uaddCarray and updated tests #253 2014-11-15 22:31:08 +01:00
Christophe Riccio
b90c4c430e Added GLM_HAS_TRIVIAL_QUERIES define 2014-11-15 21:59:46 +01:00
Christophe Riccio
0ff773a46a Added force CXX98 test 2014-11-15 21:59:28 +01:00
Christophe Riccio
45645988e9 Fixed uaddCarray #253. Fixed GCC build errors. 2014-11-15 21:32:56 +01:00
Christophe Riccio
5960196ce8 Clean up white spaces, fix build with VC15 2014-11-15 20:36:53 +01:00
Christophe Riccio
db4be24897 Fixed test build on ICC 2014-11-15 13:19:35 +01:00
Christophe Riccio
141c1856a7 Removed <iostream> in GLM tests, use <cstdio> instead 2014-11-15 00:49:12 +01:00
Christophe Riccio
16a0c960f7 Move more performance tests inside GLM_PERF_ENABLE 2014-11-15 00:20:56 +01:00
Christophe Riccio
0b8ca1a5b6 Added a CMake option to execute GLM performance tests. Made quat and dualquat trivially constructible #263 2014-11-15 00:05:52 +01:00
Christophe Riccio
c36f3630eb Fixed glm::mask function and tests 2014-11-14 02:01:46 +01:00
Christophe Riccio
a604ebdaa5 Fixed build 2014-11-13 00:08:13 +01:00
Christophe Riccio
2df3bf71cc Merge branch 'trivial' into bitfield 2014-11-12 23:11:32 +01:00
Christophe Riccio
062ee19ac7 Fixed bitfieldInsert and bitfieldExtract 2014-11-12 22:48:15 +01:00
Christophe Riccio
debe75a6e1 Added trivially copyable test 2014-11-12 21:45:12 +01:00
Christophe Riccio
ee84420f6c All *mat* types are copyable #263 2014-11-10 01:16:48 +01:00
Christophe Riccio
a2a6037ba5 More std trivial experiments #263 2014-11-04 01:06:16 +01:00
Christophe Riccio
931e72b456 Initial std trivial experiments #263 2014-11-04 00:52:16 +01:00
Christophe Riccio
377d5a4046 Optimized bitCount function 2014-11-02 23:48:02 +01:00
Christophe Riccio
c62b6c7324 Added bitcount/pop implementation perf tests 2014-11-02 21:18:46 +01:00
Christophe Riccio
afb1f6d152 Optimized bitfieldReverse 2014-11-02 20:48:59 +01:00
Christophe Riccio
c839f52697 Fix warnings 2014-10-29 10:35:19 +01:00
Christophe Riccio
9fe8bc1f66 Fixed build 2014-10-29 08:30:18 +01:00
Christophe Riccio
dced21e745 Added multiple 'sign' implementations for integers, unit tests and performancetests. 2014-10-29 00:18:41 +01:00
Christophe Riccio
d07a846539 Added sign function implementations and performance tests 2014-10-28 20:31:39 +01:00
Christophe Riccio
a88d8935be Updated ceilPowerOfTwo for signed int support 2014-10-27 23:02:47 +01:00
Christophe Riccio
3420d691f5 Added findLSB tests, faster ceilPowerOfTwo 2014-10-27 20:47:00 +01:00
Christophe Riccio
8dd3ec02ea Removed bitRevert, duplicated of bitfieldReverse 2014-10-26 16:56:31 +01:00
Christophe Riccio
1b6b8183a0 Updated test 2014-10-25 21:57:06 +02:00
Christophe Riccio
0c522117c8 Opimization of mask, bitfieldInsert, bitfieldExtract and bitCount 2014-10-25 21:16:49 +02:00
Christophe Riccio
eb915ed808 Fixed frac and added more roundEven tests 2014-10-25 14:30:43 +02:00
Christophe Riccio
bf9e4458b6 Added not function 2014-10-24 21:22:24 +02:00
Christophe Riccio
72a2f49834 More integer vectorization 2014-10-24 02:46:59 +02:00
Christophe Riccio
679c765a07 vectorize bitfieldExtract 2014-10-21 03:08:32 +02:00
Christophe Riccio
2179695e02 Added usubBorrow tests 2014-10-21 01:40:42 +02:00
Christophe Riccio
bf08a0e234 Replace function instanciations with macros by templates 2014-10-20 02:03:48 +02:00
Christophe Riccio
0042517167 Replace function instanciations with macros by templates 2014-10-20 00:34:59 +02:00
Christophe Riccio
0813facc58 Updated compiler detection code 2014-10-18 22:43:15 +02:00
Christophe Riccio
14d86e5718 Removed unsupported compiler defines 2014-10-18 13:20:05 +02:00
Christophe Riccio
327c7917fb Fixed cases of unspecialized simd 2014-10-18 02:34:20 +02:00
Christophe Riccio
8a1bf4410b Completed GTC_vec1 2014-10-15 02:53:46 +02:00
Christophe Riccio
19e239d466 Fixed core_setup_message test with Visual C++ 2014-10-12 20:57:41 +02:00
Christophe Riccio
85037a164f Fixed GLM_FORCE_SIZE_FUNC and added test #245 2014-10-12 20:50:50 +02:00
Christophe Riccio
c2d542562e Fixed GLM_FORCE_SIZE_FUNC support overlook #245. Added uninitiallized constructor to quaternion. Fixed lack of conscistency or quaternion constructors with other types. Various uninitilized constructor optimizations 2014-10-12 01:24:28 +02:00
Christophe Riccio
e419448539 Fixed compile problems with glm::max( vec, int ) #232 2014-09-06 02:24:50 +02:00
Christophe Riccio
ac3c2e37f1 Rely on STL functions for GLM functions using the same prototype #233 2014-09-06 01:45:13 +02:00
Christophe Riccio
2b747cbbad Removed last references to GLM_FORCE_RADIANS 2014-08-04 00:10:12 +02:00
Christophe Riccio
fa6bec2f3d Added swizzle contructor tests 2014-08-03 23:40:45 +02:00
Christophe Riccio
8b7d3daa34 Added vec1 operator tests 2014-07-28 23:46:46 +02:00
Christophe Riccio
4fa38c7a03 Fixed warning 2014-06-21 16:29:06 +02:00
Christophe Riccio
7f3c56f278 Removed GCC warning 2014-06-21 16:00:17 +02:00