Build: Backport sse2neon MSVC compiler fixes to Embree
https://github.com/DLTcollab/sse2neon/pull/588 Pull Request: https://projects.blender.org/blender/blender/pulls/122242
This commit is contained in:
parent
d690b08c1f
commit
8fa578dcc2
@ -1,8 +1,43 @@
|
||||
diff --git a/common/cmake/dpcpp.cmake b/common/cmake/dpcpp.cmake
|
||||
index 4113610c5..12c24fb11 100644
|
||||
--- a/common/cmake/dpcpp.cmake
|
||||
+++ b/common/cmake/dpcpp.cmake
|
||||
@@ -45,7 +45,7 @@ IF (EMBREE_SYCL_SUPPORT)
|
||||
|
||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-sycl") # makes dpcpp compiler compatible with clang++
|
||||
|
||||
- SET(CMAKE_CXX_FLAGS_SYCL "-fsycl -fsycl-unnamed-lambda -Xclang -fsycl-allow-func-ptr")
|
||||
+ SET(CMAKE_CXX_FLAGS_SYCL "-fsycl -nolibsycl -fsycl-unnamed-lambda -Xclang -fsycl-allow-func-ptr")
|
||||
SET(CMAKE_CXX_FLAGS_SYCL "${CMAKE_CXX_FLAGS_SYCL} -Wno-mismatched-tags -Wno-pessimizing-move -Wno-reorder -Wno-unneeded-internal-declaration -Wno-delete-non-abstract-non-virtual-dtor -Wno-dangling-field -Wno-unknown-pragmas -Wno-logical-op-parentheses")
|
||||
|
||||
IF (SYCL_ONEAPI_ICX AND WIN32)
|
||||
diff --git a/common/simd/arm/sse2neon.h b/common/simd/arm/sse2neon.h
|
||||
index b18d41e78..35e50a6e3 100644
|
||||
--- a/common/simd/arm/sse2neon.h
|
||||
+++ b/common/simd/arm/sse2neon.h
|
||||
@@ -9038,7 +9038,7 @@ FORCE_INLINE int _sse2neon_sido_negative(int res, int lb, int imm8, int bound)
|
||||
FORCE_INLINE int _sse2neon_clz(unsigned int x)
|
||||
{
|
||||
#if _MSC_VER
|
||||
- DWORD cnt = 0;
|
||||
+ unsigned long cnt = 0;
|
||||
if (_BitScanForward(&cnt, x))
|
||||
return cnt;
|
||||
return 32;
|
||||
@@ -9050,7 +9050,7 @@ FORCE_INLINE int _sse2neon_clz(unsigned int x)
|
||||
FORCE_INLINE int _sse2neon_ctz(unsigned int x)
|
||||
{
|
||||
#if _MSC_VER
|
||||
- DWORD cnt = 0;
|
||||
+ unsigned long cnt = 0;
|
||||
if (_BitScanReverse(&cnt, x))
|
||||
return 31 - cnt;
|
||||
return 32;
|
||||
diff --git a/kernels/CMakeLists.txt b/kernels/CMakeLists.txt
|
||||
index fae31f4a4..8bb3601e7 100644
|
||||
index 7d1386853..6bfc8a9c6 100644
|
||||
--- a/kernels/CMakeLists.txt
|
||||
+++ b/kernels/CMakeLists.txt
|
||||
@@ -208,6 +208,12 @@ embree_files(EMBREE_LIBRARY_FILES_AVX512 ${AVX512})
|
||||
@@ -213,6 +213,12 @@ embree_files(EMBREE_LIBRARY_FILES_AVX512 ${AVX512})
|
||||
#message("AVX2: ${EMBREE_LIBRARY_FILES_AVX2}")
|
||||
#message("AVX512: ${EMBREE_LIBRARY_FILES_AVX512}")
|
||||
|
||||
@ -24,16 +59,3 @@ index fae31f4a4..8bb3601e7 100644
|
||||
DISABLE_STACK_PROTECTOR_FOR_INTERSECTORS(${EMBREE_LIBRARY_FILES_AVX2})
|
||||
ADD_LIBRARY(embree_avx2 STATIC ${EMBREE_LIBRARY_FILES_AVX2})
|
||||
TARGET_LINK_LIBRARIES(embree_avx2 PRIVATE tasking)
|
||||
diff --git a/common/cmake/dpcpp_orig.cmake b/common/cmake/dpcpp.cmake
|
||||
index a15c179..4760e63 100644
|
||||
--- a/common/cmake/dpcpp.cmake
|
||||
+++ b/common/cmake/dpcpp.cmake
|
||||
@@ -45,7 +45,7 @@ IF (EMBREE_SYCL_SUPPORT)
|
||||
|
||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-sycl") # makes dpcpp compiler compatible with clang++
|
||||
|
||||
- SET(CMAKE_CXX_FLAGS_SYCL "-fsycl -fsycl-unnamed-lambda -Xclang -fsycl-allow-func-ptr")
|
||||
+ SET(CMAKE_CXX_FLAGS_SYCL "-fsycl -nolibsycl -fsycl-unnamed-lambda -Xclang -fsycl-allow-func-ptr")
|
||||
SET(CMAKE_CXX_FLAGS_SYCL "${CMAKE_CXX_FLAGS_SYCL} -Wno-mismatched-tags -Wno-pessimizing-move -Wno-reorder -Wno-unneeded-internal-declaration -Wno-delete-non-abstract-non-virtual-dtor -Wno-dangling-field -Wno-unknown-pragmas -Wno-logical-op-parentheses")
|
||||
|
||||
IF (SYCL_ONEAPI_ICX AND WIN32)
|
||||
|
Loading…
Reference in New Issue
Block a user