[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [57634] trunk/blender/intern/cycles/kernel : Fix #35804: NVidia OpenCL render issue after sampler changes, workaround what looks like a compiler bug.

Brecht Van Lommel brechtvanlommel at pandora.be
Fri Jun 21 14:34:34 CEST 2013


Revision: 57634
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=57634
Author:   blendix
Date:     2013-06-21 12:34:34 +0000 (Fri, 21 Jun 2013)
Log Message:
-----------
Fix #35804: NVidia OpenCL render issue after sampler changes, workaround what looks like a compiler bug.

Modified Paths:
--------------
    trunk/blender/intern/cycles/kernel/kernel_path.h
    trunk/blender/intern/cycles/kernel/kernel_random.h

Modified: trunk/blender/intern/cycles/kernel/kernel_path.h
===================================================================
--- trunk/blender/intern/cycles/kernel/kernel_path.h	2013-06-21 12:33:19 UTC (rev 57633)
+++ trunk/blender/intern/cycles/kernel/kernel_path.h	2013-06-21 12:34:34 UTC (rev 57634)
@@ -249,7 +249,11 @@
 #endif
 	PathState state;
 	int rng_offset = PRNG_BASE_NUM;
+#ifdef __CMJ__
 	int num_samples = kernel_data.integrator.aa_samples;
+#else
+	int num_samples = 0;
+#endif
 
 	path_state_init(&state);
 
@@ -765,7 +769,11 @@
 	float min_ray_pdf, float ray_pdf, PathState state,
 	int rng_offset, PathRadiance *L, __global float *buffer)
 {
+#ifdef __CMJ__
 	int aa_samples = kernel_data.integrator.aa_samples;
+#else
+	int aa_samples = 0;
+#endif
 
 #ifdef __AO__
 	/* ambient occlusion */
@@ -964,7 +972,11 @@
 	float ray_pdf = 0.0f;
 	PathState state;
 	int rng_offset = PRNG_BASE_NUM;
+#ifdef __CMJ__
 	int aa_samples = kernel_data.integrator.aa_samples;
+#else
+	int aa_samples = 0;
+#endif
 
 	path_state_init(&state);
 
@@ -1141,7 +1153,11 @@
 
 	float filter_u;
 	float filter_v;
+#ifdef __CMJ__
 	int num_samples = kernel_data.integrator.aa_samples;
+#else
+	int num_samples = 0;
+#endif
 
 	path_rng_init(kg, rng_state, sample, num_samples, &rng, x, y, &filter_u, &filter_v);
 

Modified: trunk/blender/intern/cycles/kernel/kernel_random.h
===================================================================
--- trunk/blender/intern/cycles/kernel/kernel_random.h	2013-06-21 12:33:19 UTC (rev 57633)
+++ trunk/blender/intern/cycles/kernel/kernel_random.h	2013-06-21 12:34:34 UTC (rev 57634)
@@ -125,9 +125,9 @@
 	float shift;
 
 	if(dimension & 1)
-		shift = (*rng >> 16)/((float)0xFFFF);
+		shift = (*rng >> 16) * (1.0f/(float)0xFFFF);
 	else
-		shift = (*rng & 0xFFFF)/((float)0xFFFF);
+		shift = (*rng & 0xFFFF) * (1.0f/(float)0xFFFF);
 
 	return r + shift - floorf(r + shift);
 #endif




More information about the Bf-blender-cvs mailing list