[Bf-blender-cvs] [0148059c684] blender-v2.83-release: Fix for T77095: work around render artifacts with AMD Radeon RX 4xx and 5xx

Brecht Van Lommel noreply at git.blender.org
Thu Jun 25 10:20:49 CEST 2020


Commit: 0148059c684e1325ab3210156d7fe6125cf27276
Author: Brecht Van Lommel
Date:   Thu Jun 18 14:33:16 2020 +0200
Branches: blender-v2.83-release
https://developer.blender.org/rB0148059c684e1325ab3210156d7fe6125cf27276

Fix for T77095: work around render artifacts with AMD Radeon RX 4xx and 5xx

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

M	intern/cycles/device/opencl/device_opencl_impl.cpp

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

diff --git a/intern/cycles/device/opencl/device_opencl_impl.cpp b/intern/cycles/device/opencl/device_opencl_impl.cpp
index 2766f85d17c..f9a6552d484 100644
--- a/intern/cycles/device/opencl/device_opencl_impl.cpp
+++ b/intern/cycles/device/opencl/device_opencl_impl.cpp
@@ -1903,7 +1903,15 @@ string OpenCLDevice::kernel_build_options(const string *debug_src)
   int version_major, version_minor;
   if (OpenCLInfo::get_device_version(cdDevice, &version_major, &version_minor)) {
     if (version_major >= 2) {
-      build_options += "-cl-std=CL2.0 ";
+      /* This appears to trigger a driver bug in Radeon RX cards, so we
+       * don't use OpenCL 2.0 for those. */
+      string device_name = OpenCLInfo::get_readable_device_name(cdDevice);
+      if (!(string_startswith(device_name, "Radeon RX 4") ||
+            string_startswith(device_name, "Radeon (TM) RX 4") ||
+            string_startswith(device_name, "Radeon RX 5") ||
+            string_startswith(device_name, "Radeon (TM) RX 5"))) {
+        build_options += "-cl-std=CL2.0 ";
+      }
     }
   }



More information about the Bf-blender-cvs mailing list