[Bf-blender-cvs] [a283333cd8e] master: Fix Cycles CUDA render errors with CUDA 9.2.

Brecht Van Lommel noreply at git.blender.org
Thu Jun 21 13:55:15 CEST 2018


Commit: a283333cd8eaaa163469ecbc1d878cd4e82217de
Author: Brecht Van Lommel
Date:   Thu Jun 21 11:29:09 2018 +0200
Branches: master
https://developer.blender.org/rBa283333cd8eaaa163469ecbc1d878cd4e82217de

Fix Cycles CUDA render errors with CUDA 9.2.

Work around what might be a compiler bug.

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

M	intern/cycles/device/device_cuda.cpp
M	intern/cycles/kernel/closure/bsdf.h

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

diff --git a/intern/cycles/device/device_cuda.cpp b/intern/cycles/device/device_cuda.cpp
index 9d893ee61ad..bf5a95dd233 100644
--- a/intern/cycles/device/device_cuda.cpp
+++ b/intern/cycles/device/device_cuda.cpp
@@ -385,7 +385,7 @@ public:
 		VLOG(1) << "Found nvcc " << nvcc
 		        << ", CUDA version " << cuda_version
 		        << ".";
-		const int major = cuda_version / 10, minor = cuda_version & 10;
+		const int major = cuda_version / 10, minor = cuda_version % 10;
 		if(cuda_version == 0) {
 			cuda_error_message("CUDA nvcc compiler version could not be parsed.");
 			return false;
diff --git a/intern/cycles/kernel/closure/bsdf.h b/intern/cycles/kernel/closure/bsdf.h
index d8ff69ca241..c1b02cd4be1 100644
--- a/intern/cycles/kernel/closure/bsdf.h
+++ b/intern/cycles/kernel/closure/bsdf.h
@@ -72,15 +72,15 @@ ccl_device_inline float bsdf_get_roughness_squared(const ShaderClosure *sc)
 	return bsdf_get_specular_roughness_squared(sc);
 }
 
-ccl_device_forceinline int bsdf_sample(KernelGlobals *kg,
-                                       ShaderData *sd,
-                                       const ShaderClosure *sc,
-                                       float randu,
-                                       float randv,
-                                       float3 *eval,
-                                       float3 *omega_in,
-                                       differential3 *domega_in,
-                                       float *pdf)
+ccl_device_inline int bsdf_sample(KernelGlobals *kg,
+                                  ShaderData *sd,
+                                  const ShaderClosure *sc,
+                                  float randu,
+                                  float randv,
+                                  float3 *eval,
+                                  float3 *omega_in,
+                                  differential3 *domega_in,
+                                  float *pdf)
 {
 	int label;
 
@@ -210,7 +210,7 @@ ccl_device_forceinline int bsdf_sample(KernelGlobals *kg,
 #ifndef __KERNEL_CUDA__
 ccl_device
 #else
-ccl_device_forceinline
+ccl_device_inline
 #endif
 float3 bsdf_eval(KernelGlobals *kg,
                  ShaderData *sd,



More information about the Bf-blender-cvs mailing list