Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXavier Hallade <xavier.hallade@intel.com>2022-08-31 16:24:14 +0300
committerXavier Hallade <xavier.hallade@intel.com>2022-08-31 16:33:16 +0300
commitb1231e616a1ce9c52291ffd9a09ed77631e4d837 (patch)
treed57261ac06947bb4ab7a75d53dcda6726fc3e08b
parent24fe659224b281ceca64f71f372f12f5905f6a77 (diff)
Cycles: Enforce Windows driver version requirements for sycl
sycl/L0 runtime reports compute-runtime version since Intel graphics driver 101.3268 on Windows, when querying driver version from sycl. Prior to this driver, it was 0. Now we can bump minimum requirement to this one and filter-out devices returning 0. Maniphest Tasks: T100648
-rw-r--r--intern/cycles/blender/addon/properties.py2
-rw-r--r--intern/cycles/kernel/device/oneapi/kernel.cpp9
2 files changed, 7 insertions, 4 deletions
diff --git a/intern/cycles/blender/addon/properties.py b/intern/cycles/blender/addon/properties.py
index 592e875ad0f..f9d05cb0d5b 100644
--- a/intern/cycles/blender/addon/properties.py
+++ b/intern/cycles/blender/addon/properties.py
@@ -1558,7 +1558,7 @@ class CyclesPreferences(bpy.types.AddonPreferences):
import sys
col.label(text="Requires Intel GPU with Xe-HPG architecture", icon='BLANK1')
if sys.platform.startswith("win"):
- col.label(text="and Windows driver version 101.3259 or newer", icon='BLANK1')
+ col.label(text="and Windows driver version 101.3268 or newer", icon='BLANK1')
elif sys.platform.startswith("linux"):
col.label(text="and Linux driver version xx.xx.23570 or newer", icon='BLANK1')
elif device_type == 'METAL':
diff --git a/intern/cycles/kernel/device/oneapi/kernel.cpp b/intern/cycles/kernel/device/oneapi/kernel.cpp
index 332ad430f20..097d21b963f 100644
--- a/intern/cycles/kernel/device/oneapi/kernel.cpp
+++ b/intern/cycles/kernel/device/oneapi/kernel.cpp
@@ -665,7 +665,11 @@ bool oneapi_enqueue_kernel(KernelContext *kernel_context,
return success;
}
-static const int lowest_supported_driver_version_win = 1013259;
+/* Compute-runtime (ie. NEO) version is what gets returned by sycl/L0 on Windows
+ * since Windows driver 101.3268. */
+/* The same min compute-runtime version is currently required across Windows and Linux.
+ * For Windows driver 101.3268, compute-runtime version is 23570. */
+static const int lowest_supported_driver_version_win = 1013268;
static const int lowest_supported_driver_version_neo = 23570;
static int parse_driver_build_version(const sycl::device &device)
@@ -769,8 +773,7 @@ static std::vector<sycl::device> oneapi_available_devices()
int driver_build_version = parse_driver_build_version(device);
if ((driver_build_version > 100000 &&
driver_build_version < lowest_supported_driver_version_win) ||
- (driver_build_version > 0 &&
- driver_build_version < lowest_supported_driver_version_neo)) {
+ driver_build_version < lowest_supported_driver_version_neo) {
filter_out = true;
}
}