From bb0d812d98f431da52d11c0749a6fe48fa34c53e Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Fri, 7 Dec 2018 14:37:47 +0100 Subject: [PATCH 1/2] Cycles: Disable OpenCL on macOS This is unfortunate, but the number of bugs in this configuration keeps growing, and almost all of them are caused by bug in OpenCL compiler. The compiler is not likely to be fixed, since Apple declared OpenCL deprecated. This evil commit is aimed to keep officially supported features of Blender in a good working and stable state. --- intern/cycles/device/opencl/opencl_util.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/intern/cycles/device/opencl/opencl_util.cpp b/intern/cycles/device/opencl/opencl_util.cpp index 4c9f3cd6ef7..f43aa5f350a 100644 --- a/intern/cycles/device/opencl/opencl_util.cpp +++ b/intern/cycles/device/opencl/opencl_util.cpp @@ -645,7 +645,7 @@ bool OpenCLInfo::device_supported(const string& platform_name, return true; } if(platform_name == "Apple" && device_type == CL_DEVICE_TYPE_GPU) { - return true; + return false; } return false; } From 3b1f90ed84c52260ce94a26c414ad8c51f6a1365 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Fri, 7 Dec 2018 14:47:35 +0100 Subject: [PATCH 2/2] Cycles: Do more user-friendly indication that GPU devices are not found --- intern/cycles/blender/addon/properties.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/intern/cycles/blender/addon/properties.py b/intern/cycles/blender/addon/properties.py index d986ba8c7a8..3f17d53fda7 100644 --- a/intern/cycles/blender/addon/properties.py +++ b/intern/cycles/blender/addon/properties.py @@ -1516,7 +1516,11 @@ class CyclesPreferences(bpy.types.AddonPreferences): return self.get_num_gpu_devices() > 0 def draw_impl(self, layout, context): + available_device_types = self.get_device_types(context) layout.label(text="Cycles Compute Device:") + if len(available_device_types) == 1: + layout.label(text="No compatible GPUs found", icon='INFO') + return layout.row().prop(self, "compute_device_type", expand=True) cuda_devices, opencl_devices = self.get_devices()