Cleanup: Noisy warnings caused by different defines for sse2neon
The issue is visible on Apple Silicon when building Cycles. Cycles includes sse2neon.h via two code paths: own CPU headers and Blender's headers. The Blender headers will request higher precision defines and Cycles does not need it (not for the kernel anyway, as it has measurable performance penalty). The solution is to wrap defines in the BLI_simd.h with check, so that the flags are not re-defined. The Blender's integration in Cycles does not really care if those operations are precise or not, as the actual computations are done elsewhere. Pull Request: https://projects.blender.org/blender/blender/pulls/110953
This commit is contained in:
committed by
Sergey Sharybin
parent
f7c0ef1f73
commit
6afbb66a53
@@ -12,9 +12,15 @@
|
||||
|
||||
#if defined(__ARM_NEON) && defined(WITH_SSE2NEON)
|
||||
/* SSE/SSE2 emulation on ARM Neon. Match SSE precision. */
|
||||
# define SSE2NEON_PRECISE_MINMAX 1
|
||||
# define SSE2NEON_PRECISE_DIV 1
|
||||
# define SSE2NEON_PRECISE_SQRT 1
|
||||
# if !defined(SSE2NEON_PRECISE_MINMAX)
|
||||
# define SSE2NEON_PRECISE_MINMAX 1
|
||||
# endif
|
||||
# if !defined(SSE2NEON_PRECISE_DIV)
|
||||
# define SSE2NEON_PRECISE_DIV 1
|
||||
# endif
|
||||
# if !defined(SSE2NEON_PRECISE_SQRT)
|
||||
# define SSE2NEON_PRECISE_SQRT 1
|
||||
# endif
|
||||
# include <sse2neon.h>
|
||||
# define BLI_HAVE_SSE2 1
|
||||
#elif defined(__SSE2__)
|
||||
|
||||
Reference in New Issue
Block a user