Explorar o código

Correctly detect NVRTC and lack of stl support.

Robert Chisholm %!s(int64=4) %!d(string=hai) anos
pai
achega
f0f95bd3de
Modificáronse 2 ficheiros con 5 adicións e 1 borrados
  1. 2 0
      glm/detail/setup.hpp
  2. 3 1
      glm/simd/platform.h

+ 2 - 0
glm/detail/setup.hpp

@@ -142,6 +142,8 @@
 // Android has multiple STLs but C++11 STL detection doesn't always work #284 #564
 // Android has multiple STLs but C++11 STL detection doesn't always work #284 #564
 #if GLM_PLATFORM == GLM_PLATFORM_ANDROID && !defined(GLM_LANG_STL11_FORCED)
 #if GLM_PLATFORM == GLM_PLATFORM_ANDROID && !defined(GLM_LANG_STL11_FORCED)
 #	define GLM_HAS_CXX11_STL 0
 #	define GLM_HAS_CXX11_STL 0
+#elif GLM_COMPILER & GLM_COMPILER_CUDA_RTC
+#	define GLM_HAS_CXX11_STL 0
 #elif GLM_COMPILER & GLM_COMPILER_CLANG
 #elif GLM_COMPILER & GLM_COMPILER_CLANG
 #	if (defined(_LIBCPP_VERSION) || (GLM_LANG & GLM_LANG_CXX11_FLAG) || defined(GLM_LANG_STL11_FORCED))
 #	if (defined(_LIBCPP_VERSION) || (GLM_LANG & GLM_LANG_CXX11_FLAG) || defined(GLM_LANG_STL11_FORCED))
 #		define GLM_HAS_CXX11_STL 1
 #		define GLM_HAS_CXX11_STL 1

+ 3 - 1
glm/simd/platform.h

@@ -122,7 +122,9 @@
 #	if !defined(CUDA_VERSION) && !defined(GLM_FORCE_CUDA)
 #	if !defined(CUDA_VERSION) && !defined(GLM_FORCE_CUDA)
 #		include <cuda.h>  // make sure version is defined since nvcc does not define it itself!
 #		include <cuda.h>  // make sure version is defined since nvcc does not define it itself!
 #	endif
 #	endif
-#	if CUDA_VERSION >= 8000
+# if defined(__CUDACC_RTC__)
+#		define GLM_COMPILER GLM_COMPILER_CUDA_RTC
+#	elif CUDA_VERSION >= 8000
 #		define GLM_COMPILER GLM_COMPILER_CUDA80
 #		define GLM_COMPILER GLM_COMPILER_CUDA80
 #	elif CUDA_VERSION >= 7500
 #	elif CUDA_VERSION >= 7500
 #		define GLM_COMPILER GLM_COMPILER_CUDA75
 #		define GLM_COMPILER GLM_COMPILER_CUDA75