[Bf-blender-cvs] [9f63cbf] master: Fix T45333: Volume Scatter crash blender

Sergey Sharybin noreply at git.blender.org
Mon Jul 13 15:55:04 CEST 2015


Commit: 9f63cbf4a74486f4df030fe8c3fe5fa3952b0910
Author: Sergey Sharybin
Date:   Mon Jul 13 18:53:48 2015 +0500
Branches: master
https://developer.blender.org/rB9f63cbf4a74486f4df030fe8c3fe5fa3952b0910

Fix T45333: Volume Scatter crash blender

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

M	intern/cycles/kernel/geom/geom_qbvh_shadow.h
M	intern/cycles/kernel/geom/geom_qbvh_volume_all.h

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

diff --git a/intern/cycles/kernel/geom/geom_qbvh_shadow.h b/intern/cycles/kernel/geom/geom_qbvh_shadow.h
index f79b2ed..dc37e6e 100644
--- a/intern/cycles/kernel/geom/geom_qbvh_shadow.h
+++ b/intern/cycles/kernel/geom/geom_qbvh_shadow.h
@@ -58,6 +58,9 @@ ccl_device bool BVH_FUNCTION_FULL_NAME(QBVH)(KernelGlobals *kg,
 	Transform ob_tfm;
 #endif
 
+	*num_hits = 0;
+	isect_array->t = tmax;
+
 #ifndef __KERNEL_SSE41__
 	if(!isfinite(P.x)) {
 		return false;
@@ -68,9 +71,6 @@ ccl_device bool BVH_FUNCTION_FULL_NAME(QBVH)(KernelGlobals *kg,
 	int num_hits_in_instance = 0;
 #endif
 
-	*num_hits = 0;
-	isect_array->t = tmax;
-
 	ssef tnear(0.0f), tfar(tmax);
 	sse3f idir4(ssef(idir.x), ssef(idir.y), ssef(idir.z));
 
diff --git a/intern/cycles/kernel/geom/geom_qbvh_volume_all.h b/intern/cycles/kernel/geom/geom_qbvh_volume_all.h
index d513191..056ca9a 100644
--- a/intern/cycles/kernel/geom/geom_qbvh_volume_all.h
+++ b/intern/cycles/kernel/geom/geom_qbvh_volume_all.h
@@ -60,6 +60,9 @@ ccl_device uint BVH_FUNCTION_FULL_NAME(QBVH)(KernelGlobals *kg,
 	Transform ob_tfm;
 #endif
 
+	uint num_hits = 0;
+	isect_array->t = tmax;
+
 #ifndef __KERNEL_SSE41__
 	if(!isfinite(P.x)) {
 		return false;
@@ -70,9 +73,6 @@ ccl_device uint BVH_FUNCTION_FULL_NAME(QBVH)(KernelGlobals *kg,
 	int num_hits_in_instance = 0;
 #endif
 
-	uint num_hits = 0;
-	isect_array->t = tmax;
-
 	ssef tnear(0.0f), tfar(isect_t);
 	sse3f idir4(ssef(idir.x), ssef(idir.y), ssef(idir.z));




More information about the Bf-blender-cvs mailing list