[Bf-blender-cvs] [0f50ae131f5] master: Cycles: enable oneAPI in Linux release builds

Xavier Hallade noreply at git.blender.org
Fri Jul 8 15:41:24 CEST 2022


Commit: 0f50ae131f54d51f778424d4c9655128cafbbefc
Author: Xavier Hallade
Date:   Fri Jul 8 15:33:44 2022 +0200
Branches: master
https://developer.blender.org/rB0f50ae131f54d51f778424d4c9655128cafbbefc

Cycles: enable oneAPI in Linux release builds

with a very high min-driver version requirement, placeholder until JIT
CentOS runtime compilation issue gets fixed in a defined version.
min-driver version check can be worked around by setting
CYCLES_ONEAPI_ALL_DEVICES environment variable.

===================================================================

M	build_files/cmake/config/blender_release.cmake
M	intern/cycles/blender/addon/properties.py
M	intern/cycles/kernel/device/oneapi/kernel.cpp

===================================================================

diff --git a/build_files/cmake/config/blender_release.cmake b/build_files/cmake/config/blender_release.cmake
index 42759fec7cc..b4609426069 100644
--- a/build_files/cmake/config/blender_release.cmake
+++ b/build_files/cmake/config/blender_release.cmake
@@ -71,7 +71,6 @@ if(NOT WIN32)
 endif()
 if(WIN32)
   set(WITH_WASAPI               ON  CACHE BOOL "" FORCE)
-  set(WITH_CYCLES_DEVICE_ONEAPI ON  CACHE BOOL "" FORCE)
 endif()
 if(UNIX AND NOT APPLE)
   set(WITH_DOC_MANPAGE         ON  CACHE BOOL "" FORCE)
@@ -92,6 +91,7 @@ if(NOT APPLE)
   set(WITH_CYCLES_CUDA_BINARIES   ON  CACHE BOOL "" FORCE)
   set(WITH_CYCLES_CUBIN_COMPILER  OFF CACHE BOOL "" FORCE)
   set(WITH_CYCLES_HIP_BINARIES    ON  CACHE BOOL "" FORCE)
+  set(WITH_CYCLES_DEVICE_ONEAPI   ON  CACHE BOOL "" FORCE)
 
   # Disable AoT kernels compilations until buildbot can deliver them in a reasonabel time.
   set(WITH_CYCLES_ONEAPI_BINARIES OFF CACHE BOOL "" FORCE)
diff --git a/intern/cycles/blender/addon/properties.py b/intern/cycles/blender/addon/properties.py
index c41e1f02b75..e88b65b5119 100644
--- a/intern/cycles/blender/addon/properties.py
+++ b/intern/cycles/blender/addon/properties.py
@@ -1560,7 +1560,7 @@ class CyclesPreferences(bpy.types.AddonPreferences):
                 if sys.platform.startswith("win"):
                     col.label(text="and Windows driver version 101.1660 or newer", icon='BLANK1')
                 elif sys.platform.startswith("linux"):
-                    col.label(text="and Linux driver version xx.xx.20066 or newer", icon='BLANK1')
+                    col.label(text="and Linux driver version xx.xx.28000 or newer", icon='BLANK1')
             elif device_type == 'METAL':
                 col.label(text="Requires Apple Silicon with macOS 12.2 or newer", icon='BLANK1')
                 col.label(text="or AMD with macOS 12.3 or newer", icon='BLANK1')
diff --git a/intern/cycles/kernel/device/oneapi/kernel.cpp b/intern/cycles/kernel/device/oneapi/kernel.cpp
index 9b9c046de4c..82910d72105 100644
--- a/intern/cycles/kernel/device/oneapi/kernel.cpp
+++ b/intern/cycles/kernel/device/oneapi/kernel.cpp
@@ -670,7 +670,10 @@ bool oneapi_enqueue_kernel(KernelContext *kernel_context,
 }
 
 static const int lowest_supported_driver_version_win = 1011660;
-static const int lowest_supported_driver_version_neo = 20066;
+/* TODO: once Linux JIT compilation crash from CentOS generated spv is fixed, adjust version below.
+ * Until then, set CYCLES_ONEAPI_ALL_DEVICES environment variable to avoid getting it filtered out.
+ */
+static const int lowest_supported_driver_version_neo = 28000;
 
 static int parse_driver_build_version(const sycl::device &device)
 {



More information about the Bf-blender-cvs mailing list