← Back to team overview

kicad-developers team mailing list archive

[PATCH] Reenable SIMD support in GLM

 

This is a bit of a trade-off between compile-time optimizations through
constexpr, and run-time optimizations through SIMD intrinsics.

The difference is probably not relevant, except that in C++11 mode, gcc
(correctly) treats constexpr member functions as implicitly const, which
causes an overload conflict with GLM 0.9.9.3.
---
 CMakeLists.txt                     | 4 ----
 include/plugins/3dapi/xv3d_types.h | 3 ---
 2 files changed, 7 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index dfb4abdb67..fe8642e25f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -562,10 +562,6 @@ endif()
 # Find GLM library, required
 #
 find_package( GLM 0.9.5.1 REQUIRED )
-if( GLM_VERSION MATCHES "0.9.9.3" AND CMAKE_CXX_COMPILER_ID MATCHES "GNU")
-    MESSAGE( FATAL_ERROR "\nGLM version ${GLM_VERSION} is incompatible with KiCad using GCC.\n"
-                         "Please downgrade to GLM version 0.9.9.2 or older or use clang instead" )
-endif()
 
 add_definitions( -DGLM_FORCE_CTOR_INIT )
 
diff --git a/include/plugins/3dapi/xv3d_types.h b/include/plugins/3dapi/xv3d_types.h
index 6fdd567d66..b47c904245 100644
--- a/include/plugins/3dapi/xv3d_types.h
+++ b/include/plugins/3dapi/xv3d_types.h
@@ -32,9 +32,6 @@
 
 #define GLM_FORCE_RADIANS
 
-// Disable SIMD detection
-#define GLM_FORCE_PURE
-
 #include <glm/glm.hpp>
 #include <glm/ext.hpp>
 

Follow ups

References