[Bf-blender-cvs] [0e2d5963666] cycles_oneapi: Build: work around intel compiler issue on CentOS 7 by disabling ffast-math
Xavier Hallade
noreply at git.blender.org
Wed Jun 1 21:27:05 CEST 2022
Commit: 0e2d5963666434697739e2cb5e81c88cb17eb33e
Author: Xavier Hallade
Date: Wed Jun 1 21:22:06 2022 +0200
Branches: cycles_oneapi
https://developer.blender.org/rB0e2d5963666434697739e2cb5e81c88cb17eb33e
Build: work around intel compiler issue on CentOS 7 by disabling ffast-math
also use --format zebin only on Windows until Linux runtime support becomes
publicly available
===================================================================
M intern/cycles/kernel/CMakeLists.txt
===================================================================
diff --git a/intern/cycles/kernel/CMakeLists.txt b/intern/cycles/kernel/CMakeLists.txt
index 1065155f578..bdfa9f2c747 100644
--- a/intern/cycles/kernel/CMakeLists.txt
+++ b/intern/cycles/kernel/CMakeLists.txt
@@ -725,7 +725,6 @@ if(WITH_CYCLES_DEVICE_ONEAPI)
-fdelayed-template-parsing
-shared
-DWITH_ONEAPI
- -ffast-math
-DNDEBUG
-O2
-o ${cycles_kernel_oneapi_lib}
@@ -742,11 +741,16 @@ if(WITH_CYCLES_DEVICE_ONEAPI)
# Set defaults for spir64 and spir64_gen options
if (NOT DEFINED CYCLES_ONEAPI_SYCL_OPTIONS_spir64)
- set(CYCLES_ONEAPI_SYCL_OPTIONS_spir64 "--format zebin -options '-ze-opt-large-register-file -ze-opt-regular-grf-kernel integrator_intersect'")
+ set(CYCLES_ONEAPI_SYCL_OPTIONS_spir64 "-options '-ze-opt-large-register-file -ze-opt-regular-grf-kernel integrator_intersect'")
endif()
if (NOT DEFINED CYCLES_ONEAPI_SYCL_OPTIONS_spir64_gen)
- SET (CYCLES_ONEAPI_SYCL_OPTIONS_spir64_gen "-device ${CYCLES_ONEAPI_SPIR64_GEN_DEVICES} ${CYCLES_ONEAPI_SYCL_OPTIONS_spir64}" CACHE STRING "Extra build options for spir64_gen target")
+ SET (CYCLES_ONEAPI_SYCL_OPTIONS_spir64_gen "${CYCLES_ONEAPI_SYCL_OPTIONS_spir64}" CACHE STRING "Extra build options for spir64_gen target")
+ endif()
+ # enabling zebin (graphics binary format with improved compatibility) on Windows only while support on Linux isn't available yet
+ if(WIN32)
+ string(PREPEND CYCLES_ONEAPI_SYCL_OPTIONS_spir64_gen "--format zebin ")
endif()
+ string(PREPEND CYCLES_ONEAPI_SYCL_OPTIONS_spir64_gen "-device ${CYCLES_ONEAPI_SPIR64_GEN_DEVICES} ")
if (WITH_CYCLES_ONEAPI_BINARIES)
# Iterate over all targest and their options
@@ -796,6 +800,11 @@ if(WITH_CYCLES_DEVICE_ONEAPI)
endif()
endif()
+ # avoid using -ffast-math for the graphics compiler on CentOS 7 until the compile-time issue it triggers gets fixed.
+ if(WIN32 OR NOT WITH_CYCLES_ONEAPI_BINARIES)
+ list(APPEND sycl_compiler_flags -ffast-math)
+ endif()
+
if(WIN32)
list(APPEND sycl_compiler_flags
-fms-extensions
More information about the Bf-blender-cvs
mailing list