[Bf-blender-cvs] [83e80db56ec] master: Fix T53349: AO bounces not working correct with OpenCL.

Mathieu Menuet noreply at git.blender.org
Sun Nov 26 15:59:55 CET 2017


Commit: 83e80db56ec90c2059d51768f0a90d2d21aa32b1
Author: Mathieu Menuet
Date:   Sun Nov 26 15:50:36 2017 +0100
Branches: master
https://developer.blender.org/rB83e80db56ec90c2059d51768f0a90d2d21aa32b1

Fix T53349: AO bounces not working correct with OpenCL.

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

M	intern/cycles/kernel/kernel_path.h

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

diff --git a/intern/cycles/kernel/kernel_path.h b/intern/cycles/kernel/kernel_path.h
index 791c25c6553..c2421c1ec18 100644
--- a/intern/cycles/kernel/kernel_path.h
+++ b/intern/cycles/kernel/kernel_path.h
@@ -59,6 +59,11 @@ ccl_device_forceinline bool kernel_path_scene_intersect(
 {
 	uint visibility = path_state_ray_visibility(kg, state);
 
+	if(path_state_ao_bounce(kg, state)) {
+		visibility = PATH_RAY_SHADOW;
+		ray->t = kernel_data.background.ao_distance;
+	}
+
 #ifdef __HAIR__
 	float difl = 0.0f, extmax = 0.0f;
 	uint lcg_state = 0;
@@ -74,11 +79,6 @@ ccl_device_forceinline bool kernel_path_scene_intersect(
 		lcg_state = lcg_state_init_addrspace(state, 0x51633e2d);
 	}
 
-	if(path_state_ao_bounce(kg, state)) {
-		visibility = PATH_RAY_SHADOW;
-		ray->t = kernel_data.background.ao_distance;
-	}
-
 	bool hit = scene_intersect(kg, *ray, visibility, isect, &lcg_state, difl, extmax);
 #else
 	bool hit = scene_intersect(kg, *ray, visibility, isect, NULL, 0.0f, 0.0f);



More information about the Bf-blender-cvs mailing list