Commit Graph
100 Commits
Author SHA1 Message Date
Recep Aslantas d75467f93f avx: implement transpose with AVX 2024-04-13 00:12:14 +03:00
Recep Aslantas 45c1beff51 simd: fix glmm_set1, glmm_splat 2024-04-12 21:53:20 +03:00
Recep Aslantas 14c567d9d9 sse: drop unused macros: glmm_shuff1x, glmm_shuff2 2024-04-11 21:57:46 +03:00
Recep Aslantas 480e1de048 sse: make use of int domain as default behavior if possible ( compiler may ignore it )
also use AVX's `_mm_permute_ps`for shuffling single vector
2024-04-11 21:57:16 +03:00
Recep Aslantas de66f0a67f glmm, avx: optimize splat macros 2024-04-10 23:49:18 +03:00
Recep Aslantas 68bdec4510 simd: use glmm_set1() to optimize broadcasting single float 2024-04-10 22:52:53 +03:00
Recep Aslantas 62c0448e25 simd, msvc: ensure required definitions are exist on msvc 2024-04-07 22:48:11 +03:00
Recep Aslantas 4f00ce0e52 sse: reduce some instructions in mat4 inv 2024-04-07 22:33:37 +03:00
Recep Aslantas a7845ffc44 msvc, simd: fix simd headers for _M_ARM64EC 2024-04-07 00:54:29 +03:00
Recep Aslantas bd941ed7fb arm, neon: fix neon support on GCC ARM 2024-04-06 14:23:36 +03:00
Recep Aslantas 87350f809b msvc bug: dont align types due to "ARM32 = C2719: formal parameter with requested alignment of 16 won't be aligned." on ARM32/MSVC
until a good solution.
2024-04-06 14:11:46 +03:00
Recep Aslantas f50a7a7d00 arm, neon: improve glm_mat4_inv_neon 2024-04-06 14:10:13 +03:00
Recep Aslantas b3308af146 arm: fix glmm_vhadd on ARM32 2024-04-06 14:09:52 +03:00
Recep Aslantas a94f839d6d Merge branch 'master' into optimize-inv 2024-04-04 00:31:08 +03:00
Recep Aslantas 0ff0e8948f Update mat4.h 2024-04-03 00:05:42 +03:00
Recep Aslantas 5b772d0eb4 neon: mat4_inv, reduce 1mul for two extra 2xor 2024-04-03 00:03:55 +03:00
Recep Aslantas c528ca1095 neon: mat4_inv remastered 2024-04-02 13:21:49 +03:00
Recep Aslantas f0e09776d7 arm, neon: optimize glmm_vhadd and add glmm_vdot 2024-04-02 02:36:16 +03:00
Recep Aslantas da4224ba32 now working on v0.9.5 2024-04-02 00:52:54 +03:00
Recep Aslantas 1796cc5ce2 Merge pull request #412 from recp/sse_only
separate SSE and SSE2
2024-04-01 17:52:06 +03:00
Recep Aslantas 568634a79e tests: dont test isinf == true on fast math 2024-04-01 16:48:58 +03:00
Recep Aslantas c9c7941a72 tests: dont test isnan on fast math 2024-04-01 14:10:38 +03:00
Recep Aslantas 4e929a81c2 Update x86.h 2024-04-01 13:26:08 +03:00
Recep Aslantas 1d09c41e18 make xor enable in SSEonly + fast math 2024-04-01 13:23:52 +03:00
Recep Aslantas d8e933b5b1 Update test_project.h 2024-04-01 13:23:22 +03:00
Recep Aslantas 8b15fd51ba common way to identify CGLM_FAST_MATH 2024-04-01 13:23:17 +03:00
Recep Aslantas 9ce0a3b625 tests: disable isnan check for min/max which may not work correctly especially in fast-math environment 2024-04-01 13:22:51 +03:00
Recep Aslantas 00d2e8a4cf suppress warnings 2024-04-01 01:46:25 +03:00
Recep Aslantas 35a12ed033 make SSE2-only features not available in SSE 2024-04-01 00:52:59 +03:00
Recep Aslantas 9ad7dd3fbc Merge pull request #409 from EasyIP2023/feature/expand-content-width
docs: expand wy-nav-content width to edge of screen
2024-03-31 23:44:40 +03:00
Recep Aslantas 28142b5912 Merge pull request #411 from EasyIP2023/bugfix/mat4x3-multiplication
mat4x3: fix multiplication functions
2024-03-31 23:44:00 +03:00
Recep Aslantas f07d75c680 Merge pull request #410 from EasyIP2023/bugfix/mat4x2-multiplication
mat4x2: fix multiplication functions
2024-03-31 23:43:11 +03:00
Recep Aslantas 17d8b83a38 Merge pull request #408 from EasyIP2023/bugfix/mat3x4-multiplication
mat3x4: fix multiplication functions
2024-03-31 23:41:40 +03:00
Recep Aslantas 32a477ef07 separate SSE and SSE2 2024-03-31 23:35:15 +03:00
Recep Aslantas e3ed9834a1 Update mat2x3.h 2024-03-31 23:06:50 +03:00
Recep Aslantas 8396bbf0b3 coding style 2024-03-31 23:06:30 +03:00
Recep Aslantas 929963c6eb Merge pull request #407 from EasyIP2023/bugfix/mat3x2-multiplication
mat3x2: fix multiplication functions
2024-03-31 13:40:58 +03:00
Recep Aslantas 25b33fab6b Merge pull request #405 from EasyIP2023/bugfix/mat2x4-mutli
mat2x4: fix multiplication functions
2024-03-31 13:40:45 +03:00
Recep Aslantas c9adbaabd7 Merge pull request #403 from EasyIP2023/bugfix/mat2x3-multiplication
mat2x3: fix multiplication functions
2024-03-31 13:36:39 +03:00
Recep Aslantas b22e8230d0 Merge pull request #406 from recp/I_macro
dont use I macro defined in standard
2024-03-31 13:30:42 +03:00
Recep Aslantas bf4c5b4e26 dont use I macro defined in standard 2024-03-31 13:24:50 +03:00
Recep Aslantas f388df7f3e fix typos 2024-03-31 04:40:42 +03:00
Recep Aslantas 4c872238d9 dont use I macro defined in standard 2024-03-31 04:22:42 +03:00
Recep Aslantas 8366e51b47 optimize mat4 scalar inv 2024-03-29 22:13:23 +03:00
Recep Aslantas 30b4ea80a9 optimize mat3 scalar inv 2024-03-29 20:59:54 +03:00
Recep Aslantas edfb5e3984 docs: alignment 2024-03-29 08:42:07 +03:00
Recep Aslantas 4d43241a69 docs: add note to enable config where may not work is some environments 2024-03-29 08:21:14 +03:00
Recep Aslantas 1337e9cdfb docs: ray sphere docs improvements 2024-03-29 08:10:56 +03:00
Recep Aslantas 9df36ce005 docs: ray sphere docs improvements 2024-03-29 08:05:10 +03:00
Recep Aslantas 55521ecd61 Merge pull request #402 from nitrix/fix/struct-api-ray-at
Struct API glms_ray_at incorrect dir param.
2024-03-29 07:55:28 +03:00
Recep Aslantas 829b7dddce now working on v0.9.4 2024-03-29 07:53:48 +03:00
Recep Aslantas 1de373a9bd normalize: norm == 0.0f to norm < FLT_EPSILON, improving handling of very small vectors to prevent instability and overflow 2024-03-25 02:22:46 +03:00
Recep Aslantas 6a7d03bafb suppress warnings 2024-03-25 02:17:03 +03:00
Recep Aslantas aad5223da0 change signature of refraction to let caller know if refraction occurs or not 2024-03-24 06:31:29 +03:00
Recep Aslantas 707bff021c Merge pull request #399 from recp/ray
Some missing ray functions
2024-03-23 11:26:17 +03:00
Recep Aslantas e4c38ccc4c docs: update ray sphere intersection brief 2024-03-22 23:49:05 +03:00
Recep Aslantas ceaa54aef8 tests: test for ray, reflect, refract and faceforward 2024-03-22 23:44:43 +03:00
Recep Aslantas da57558078 docs for new ray functions 2024-03-22 22:30:22 +03:00
Recep Aslantas 6ad0aca7e0 fix refract 2024-03-22 21:59:10 +03:00
Recep Aslantas 96e415daa4 build: add missing file 2024-03-22 10:42:29 +03:00
Recep Aslantas 3701305c9e suppress warnings 2024-03-22 10:36:28 +03:00
Recep Aslantas 2b78f9ab47 refract 2024-03-22 00:18:55 +03:00
Recep Aslantas 41d1a8b9eb faceforward 2024-03-21 02:21:28 +03:00
Recep Aslantas 8ea2fd1cd1 reflect missing stuff 2024-03-21 02:21:07 +03:00
Recep Aslantas 8c81443f24 reflect 2024-03-21 00:18:02 +03:00
Recep Aslantas 608e7d9c2c Update CREDITS 2024-03-20 07:33:43 +03:00
Recep Aslantas 73a4fc76d7 ray: point along a ray at a parameter t 2024-03-20 07:24:07 +03:00
Recep Aslantas aa45d081fc ray: ray sphere intersection 2024-03-20 07:22:36 +03:00
Recep Aslantas f1d4aea69b win: add missing files to vsproj 2024-03-20 07:16:17 +03:00
Recep Aslantas 0ef8ebe84e Merge pull request #397 from recp/affine-docs
clarify some rotation rules
2024-03-20 01:05:18 +03:00
Recep Aslantas 8b6eca29cf docs: clarify some rotation rules 2024-03-19 23:55:42 +03:00
Recep Aslantas 0fbad944c5 Merge pull request #398 from waywardmonkeys/make-const-floats
Allow passing `const float*` to `make` functions.
2024-03-18 16:48:02 +03:00
Recep Aslantas 995fb2e347 clarify some rotation rules 2024-03-16 00:34:11 +03:00
Recep Aslantas 838c5078b7 Merge pull request #395 from recp/ndebug
Ndebug
2024-03-02 11:15:18 +03:00
Recep Aslantas 772238f53f update cmake to respect DEBUG 2024-03-01 12:01:58 +03:00
Recep Aslantas b9e62b6fe5 use NDEBUG to check DEBUG mode 2024-03-01 12:00:01 +03:00
Recep Aslantas c9e2b81e99 test: fix ivec2 and ivec3 comparison and suppress warnings 2024-02-24 06:55:45 +03:00
Recep Aslantas ee18e58815 test: fix ivec2 and ivec3 comparison and suppress warnings 2024-02-24 06:50:07 +03:00
Recep Aslantas 85ee366861 move deprecated glmc_aabb2d_size to right place 2024-02-24 06:33:30 +03:00
Recep Aslantas 0e4201b816 suppress warnings: C4244: 'function': conversion from 'int' to 'float' 2024-02-24 06:10:48 +03:00
Recep Aslantas b7e4c96738 Merge pull request #392 from duarm/master
aabb2d_zero, aabb2d_diagonal and aabb2d_size
2024-02-24 05:58:49 +03:00
Recep Aslantas 78fb330850 Merge pull request #391 from waywardmonkeys/ci-add-arm64-uwp
ci: Add ARM64 UWP for WindowsStore.
2024-02-12 12:23:31 +03:00
Recep Aslantas 4896b2ea8d Merge pull request #390 from waywardmonkeys/doc-improvements
Doc improvements
2024-02-12 12:21:59 +03:00
Recep Aslantas eb9a200b6c Merge pull request #389 from waywardmonkeys/aabb2d-struct-api
aabb2d: Fix struct api.
2024-02-11 19:09:58 +03:00
Recep Aslantas db6f9641ab Merge pull request #387 from waywardmonkeys/remove-narrowing-conversion
glm_ease_back_inout: Use float constant for float var.
2024-02-10 23:49:37 +03:00
Recep Aslantas 125002cfb3 Merge pull request #388 from waywardmonkeys/remove-appveyor
ci: Remove appveyor.
2024-02-10 23:43:25 +03:00
Recep Aslantas b89315f2c5 Merge pull request #386 from waywardmonkeys/improve-ci
Add additional CI via GitHub Actions.
2024-02-10 17:29:42 +03:00
Recep Aslantas 45134b1265 Merge pull request #384 from waywardmonkeys/fix-more-typos
Fix typos.
2024-02-08 17:18:29 +03:00
Recep Aslantas b63b2b90b3 Merge pull request #383 from tarhses/structapi-ivec
Implement struct API for ivec2, ivec3, and ivec4
2024-02-08 17:13:03 +03:00
Recep Aslantas a8685ed6ab Merge pull request #381 from vitassuper/vector_improvements
Add new functions for ivec2 and ivec3
2024-01-27 19:33:45 +03:00
Recep Aslantas 80d5064476 docs: update read the docs package versions 2024-01-15 21:44:48 +03:00
Recep Aslantas 2bd97f6599 Merge pull request #379 from recp/simd_min_max
simd: min / max helpers
2024-01-11 00:21:10 +03:00
Recep Aslantas 6d8dd42ac2 simd: use new glmm_min/max in vec4 where possible 2024-01-11 00:14:28 +03:00
Recep Aslantas dab86796a4 simd: min / max helpers 2024-01-09 21:35:39 +03:00
Recep Aslantas 4b93cb3e05 Merge pull request #378 from recp/win32_intrin
win32, simd: ensure we are on msvc when checking MSVC specific headers
2024-01-08 00:10:43 +03:00
Recep Aslantas a682b9e6cf win32, tests: fix drand48() error on mingw 2024-01-04 12:49:45 +03:00
Recep Aslantas bca93a379d win32, simd: ensure we are on msvc when checking MSVC specific headers 2024-01-04 11:54:42 +03:00
Recep Aslantas 34f0d59f5a now working on v0.9.3 2023-12-31 15:19:36 +03:00
Recep Aslantas c878161518 Update project.h 2023-12-31 13:49:06 +03:00
Recep Aslantas 3b1d4fc546 struct: add missing glms_project_z() 2023-12-31 13:46:51 +03:00