[Bf-blender-cvs] [9c4aba1] master: Cycles: Add some sanity check asserts in the traversal code

Sergey Sharybin noreply at git.blender.org
Mon Dec 29 09:35:53 CET 2014


Commit: 9c4aba11c9dcd677c74453746eaa0d9d9b8c226b
Author: Sergey Sharybin
Date:   Mon Dec 29 13:34:10 2014 +0500
Branches: master
https://developer.blender.org/rB9c4aba11c9dcd677c74453746eaa0d9d9b8c226b

Cycles: Add some sanity check asserts in the traversal code

This way we'll be sure (in debug builds) that regular BVH traversal is not used
for QBVH tree (could happen because of mismatch of logic in kernel and render).

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

M	intern/cycles/kernel/geom/geom_bvh_shadow.h
M	intern/cycles/kernel/geom/geom_bvh_subsurface.h
M	intern/cycles/kernel/geom/geom_bvh_traversal.h
M	intern/cycles/kernel/geom/geom_bvh_volume.h

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

diff --git a/intern/cycles/kernel/geom/geom_bvh_shadow.h b/intern/cycles/kernel/geom/geom_bvh_shadow.h
index 3c40528..dd3a170 100644
--- a/intern/cycles/kernel/geom/geom_bvh_shadow.h
+++ b/intern/cycles/kernel/geom/geom_bvh_shadow.h
@@ -394,6 +394,7 @@ ccl_device_inline bool BVH_FUNCTION_NAME(KernelGlobals *kg,
 	else
 #endif
 	{
+		kernel_assert(kernel_data.bvh.use_qbvh == false);
 		return BVH_FUNCTION_FULL_NAME(BVH)(kg,
 		                                   ray,
 		                                   isect_array,
diff --git a/intern/cycles/kernel/geom/geom_bvh_subsurface.h b/intern/cycles/kernel/geom/geom_bvh_subsurface.h
index ff46214..974e0e4 100644
--- a/intern/cycles/kernel/geom/geom_bvh_subsurface.h
+++ b/intern/cycles/kernel/geom/geom_bvh_subsurface.h
@@ -316,6 +316,7 @@ ccl_device_inline uint BVH_FUNCTION_NAME(KernelGlobals *kg,
 	else
 #endif
 	{
+		kernel_assert(kernel_data.bvh.use_qbvh == false);
 		return BVH_FUNCTION_FULL_NAME(BVH)(kg,
 		                                   ray,
 		                                   isect_array,
diff --git a/intern/cycles/kernel/geom/geom_bvh_traversal.h b/intern/cycles/kernel/geom/geom_bvh_traversal.h
index 6e5b6ea..7cbb1be 100644
--- a/intern/cycles/kernel/geom/geom_bvh_traversal.h
+++ b/intern/cycles/kernel/geom/geom_bvh_traversal.h
@@ -401,6 +401,7 @@ ccl_device_inline bool BVH_FUNCTION_NAME(KernelGlobals *kg,
 	else
 #endif
 	{
+		kernel_assert(kernel_data.bvh.use_qbvh == false);
 		return BVH_FUNCTION_FULL_NAME(BVH)(kg,
 		                                   ray,
 		                                   isect,
diff --git a/intern/cycles/kernel/geom/geom_bvh_volume.h b/intern/cycles/kernel/geom/geom_bvh_volume.h
index 8a25b5d..152aa95 100644
--- a/intern/cycles/kernel/geom/geom_bvh_volume.h
+++ b/intern/cycles/kernel/geom/geom_bvh_volume.h
@@ -327,6 +327,7 @@ ccl_device_inline bool BVH_FUNCTION_NAME(KernelGlobals *kg,
 	else
 #endif
 	{
+		kernel_assert(kernel_data.bvh.use_qbvh == false);
 		return BVH_FUNCTION_FULL_NAME(BVH)(kg,
 		                                   ray,
 		                                   isect);




More information about the Bf-blender-cvs mailing list