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
path: root/intern
diff options
context:
space:
mode:
Diffstat (limited to 'intern')
-rw-r--r--intern/cycles/device/opencl/opencl_util.cpp22
1 files changed, 17 insertions, 5 deletions
diff --git a/intern/cycles/device/opencl/opencl_util.cpp b/intern/cycles/device/opencl/opencl_util.cpp
index a72fbbad635..a9a474c7d77 100644
--- a/intern/cycles/device/opencl/opencl_util.cpp
+++ b/intern/cycles/device/opencl/opencl_util.cpp
@@ -780,13 +780,25 @@ bool OpenCLInfo::device_supported(const string &platform_name, const cl_device_i
return true;
}
- /* It is possible to have Iris GPU on AMD/Apple OpenCL framework
- * (aka, it will not be on Intel framework). This isn't supported
- * and needs an explicit blacklist.
- */
- if (strstr(device_name.c_str(), "Iris")) {
+ /* Allow Intel GPUs on Intel OpenCL platform. */
+ if (platform_name.find("Intel") != string::npos) {
+ if (device_type != CL_DEVICE_TYPE_GPU) {
+ /* OpenCL on Intel CPU is not an officially supported configuration.
+ * Use hybrid CPU+GPU rendering to utilize both GPU and CPU. */
+ return false;
+ }
+
+# ifdef __APPLE__
+ /* Apple uses own framework, which can also put Iris onto AMD framerwork.
+ * This isn't supported configuration. */
return false;
+# else
+ if (device_name.find("Iris") != string::npos || device_name.find("Xe") != string::npos) {
+ return true;
+ }
+# endif
}
+
if (platform_name == "AMD Accelerated Parallel Processing" &&
device_type == CL_DEVICE_TYPE_GPU) {
if (driver_major < 2236) {