Commit Graph

4651 Commits

Author SHA1 Message Date
Laurent Caumont
458882e46c Simd improvement
- Add simd aligned_vec3 (and sse aligned_dvec3 - 2 x xmm)
- Fast packed_vec3 <=> aligned_vec3 and packed_vec4 <=> aligned_vec4 conversion
- Fast aligned_vec3 <=> aligned_vec4 conversion
- Optimized aligned_mat x aligned_mat and aligned_mat x aligned_vec
- Inverse aligned_mat3 simd version (actually slower than ssid on my computer even it has 30% less instruction ?)
2023-12-25 11:35:42 +01:00
christophe
2993560ec9 Remove dead files 2023-12-23 10:11:26 +01:00
xiaozhuai
89850e6f4b Update readme 2023-12-22 14:51:20 +01:00
xiaozhuai
46b796dd79 Optimize cmake targets 2023-12-22 14:51:20 +01:00
christophe
e4dd44d584 Trying to make sure external contributor trigger C.I. 2023-12-22 12:29:26 +01:00
christophe
e98ad7c9f8 Avoid duplicated C.I. runs 2023-12-22 11:57:51 +01:00
christophe
e357f58c96 gni 2023-12-22 11:50:46 +01:00
Christophe
cf69137d6d quaternion: Revert #1069 2023-12-22 11:50:46 +01:00
Lucas CHOLLET
1cc8e80e3b Make mat operators constexpr 2023-12-22 08:31:22 +01:00
Christophe
fc236e0bf8
Adding constexpr qualifier for helper functions #1050 (#1184)
* Adding constexpr for exterior product

* Adding constexpr for conjugate

* Adding constexpr for dot, cross and inverse quaternion functions

* Adding constexpr for quat lerp

* Adding constexpr to quaternion comparison functions

lessThan, lessThanEqual, greaterThan, greaterThanEqual

* Adding constexpr for mix functions

mix(scalar, scalar), mix(vec, vec, vec), mix(vec,vec,scalar)

* Adding constexpr for sign(vec) and sign(genFIType)

* Initialize result lessThan, lessThanEqual, greaterThan, greaterThanEqual

Default ctor used in constexpr contex generates warning on gcc

* Adding constexpr to cross(vec, qua) and cross(qua, vec)

* Adding constexpr to glm::translate

* Adding constexpr for exterior product

* Adding constexpr for conjugate

* Adding constexpr for dot, cross and inverse quaternion functions

* Adding constexpr for quat lerp

* Adding constexpr to quaternion comparison functions

lessThan, lessThanEqual, greaterThan, greaterThanEqual

* Adding constexpr for mix functions

mix(scalar, scalar), mix(vec, vec, vec), mix(vec,vec,scalar)

* Adding constexpr for sign(vec) and sign(genFIType)

* Initialize result lessThan, lessThanEqual, greaterThan, greaterThanEqual

Default ctor used in constexpr contex generates warning on gcc

* Adding constexpr to cross(vec, qua) and cross(qua, vec)

* Adding constexpr to glm::translate

---------

Co-authored-by: RohacekD <RohacekD@gmail.com>
2023-12-22 08:31:02 +01:00
Christophe
4ecc8af5b9 trigger C.I. 2023-12-21 18:28:58 +01:00
Christophe
e6b9b76027 trigger C.I. 2023-12-21 18:28:28 +01:00
Christophe
d6e24170b4 Nan is not supported with C++98 2023-12-21 18:14:20 +01:00
Christophe
0ceaba1da9 Nan is not supported with C++98 2023-12-21 18:14:20 +01:00
Christophe
0d52d5ddab Fix master build 2023-12-21 18:14:20 +01:00
Christophe
557f5f2731 Fix test 2023-12-21 17:45:01 +01:00
Christophe
92e945cc8a GLM_EXT_vector_integer: add integer mix tests 2023-12-21 17:45:01 +01:00
christophe
48516f31a7 Fix vec1 types redefinition 2023-12-21 16:16:52 +01:00
christophe
ec6e3d6cb5 Fix invalid namespaces 2023-12-21 16:16:52 +01:00
christophe
4681c5b347 Fix lib build dependent of test build 2023-12-21 15:20:01 +01:00
christophe
820557cf31 Fix GTC_matrix_transform test for C++98 2023-12-21 14:21:29 +01:00
azhirnov
ed1059731f add infinitePerspectiveRH_ZO 2023-12-21 14:12:18 +01:00
azhirnov
9cb19aa43f Added infinitePerspectiveLH_ZO and tests
Renamed infinitePerspectiveLH -> infinitePerspectiveLH_NO
2023-12-21 14:12:18 +01:00
christophe
926e5d4b70 Add tau constant ##1153 2023-12-21 13:25:48 +01:00
christophe
85f2e6b998 Add tau constant ##1153 2023-12-21 13:25:48 +01:00
christophe
08f2fd1099 Fix C++20 2023-12-21 13:25:48 +01:00
christophe
edc5e624df Fix build 2023-12-21 13:25:48 +01:00
christophe
f9a5a404dd Fix C.I. file 2023-12-21 13:25:48 +01:00
christophe
bab156f795 add status badge 2023-12-21 13:25:48 +01:00
christophe
46818dccca fix: reinterpret_cast to explicit conversions #1123 2023-12-21 13:25:48 +01:00
christophe
f1bfe6cc95 Fix C++20 build 2023-12-21 13:25:48 +01:00
Christophe
c668158672 Add Clang on Linux 2023-12-21 13:25:48 +01:00
Christophe
e000a4703e Remove AVX2 on macOS 2023-12-21 13:25:48 +01:00
Christophe
53302ad486 Apply suggestions from code review 2023-12-21 13:25:48 +01:00
Christophe
5ae05c9296 Fix GLM_DISABLE_AUTO_DETECTION error with Werror on Windows 2023-12-21 13:25:48 +01:00
Christophe
971f22222e C.I. Fix timeout 2023-12-21 13:25:48 +01:00
Christophe
e27fcc7bbd C.I.: Add more C++ language versions 2023-12-21 13:25:48 +01:00
Christophe
3b21b05ac2 C.I.: Add AVX tests 2023-12-21 13:25:48 +01:00
Christophe
66991e59aa Fix bitCount test version 2023-12-21 10:17:16 +01:00
Christophe
c83236b044 cuda: Fix GTX_vec_swizzle 2023-12-21 00:49:14 +01:00
Christophe
2171a5b818 Fix intersectRayTriangle from GLM_GTX_intersect #1158 2023-12-21 00:47:13 +01:00
Christophe
1682a8c360 Fix doc typo 2023-12-20 23:53:35 +01:00
Christophe
5c008438db doc: Updated readme 2023-12-20 23:51:25 +01:00
Christophe
8a700ad040 More C.I. tests 2023-12-20 23:14:24 +01:00
Christophe
641bb363a7 gni 2023-12-20 22:33:20 +01:00
Christophe
c568980cf5 Revert broken vec4 SIMD 2023-12-20 22:33:20 +01:00
Christophe
edecbf1c59 Revert "Add support for non aligned SIMD for vec4"
This reverts commit 4e01e940de.
2023-12-20 22:33:20 +01:00
Christophe
2d38c41161 Fixes for tests build 2023-12-20 22:33:20 +01:00
Christophe
b90333c124 C.I. Add GitHub Actions 2023-12-20 22:33:20 +01:00
Rafal Bielski
586a402397 Remove the SYCL hacks
This reverts PR #914 which introduced a hacky way to replace
all std namespace maths function calls with sycl namespace ones.

Presumably the original intention was to use GLM functions in SYCL
device code (e.g. on GPUs) and force it to use the maths implementations
optimised for the target device. However, this has been very limited
in scope since the start because GLM relies heavily on function pointers
which are illegal to use inside SYCL device code.

The hacky solution shadowing std namespace with glm::std is problematic
in many ways. One was that it required re-introducing all std symbols used
across GLM codebase back to glm::std. The list of these symbols is difficult
to maintain over time without extensive CI testing and unsurprisingly it got
broken. Any code just including (some of) GLM headers now no longer compiles
with SYCL compilers even if GLM is only used on the host side (CPU code).

Remove this hack to allow SYCL programs using GLM on the host side to compile.

The original hack was tested against the ComputeCpp compiler which is now
phased out in favour of Intel's DPC++. Remove also the mention of ComputeCpp
from README. The statement about "any C++11 compiler" still covers the host
code compilation with DPC++.
2023-11-09 11:37:13 +01:00