[Bf-blender-cvs] [5fefc84] master: Cycles: Equi-Angular and MIS Volume sampling work on GPU now.

Thomas Dinges noreply at git.blender.org
Sun Jul 6 14:00:32 CEST 2014


Commit: 5fefc84783555152c0bb924b3f509c7ec8f1a04d
Author: Thomas Dinges
Date:   Sun Jul 6 13:59:52 2014 +0200
https://developer.blender.org/rB5fefc84783555152c0bb924b3f509c7ec8f1a04d

Cycles: Equi-Angular and MIS Volume sampling work on GPU now.

* malloc() is used now, which is supported since sm_20: http://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#dynamic-global-memory-allocation-and-operations The performance of this needs to be tested on various cards still.
* This also works for Heterogeneous Decoupled Ray Marching, but in this case I get sporadic "Illegal Address" errors on my Geforce 540, therefore I did not remove the GPU check in kernel_volume_use_decoupled() yet.

I would appreciate some tests from people who compile themselves, enable Volumetrics in kernel_types.h.

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

M	intern/cycles/kernel/kernel_volume.h

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

diff --git a/intern/cycles/kernel/kernel_volume.h b/intern/cycles/kernel/kernel_volume.h
index 844ca90..cc4b2e3 100644
--- a/intern/cycles/kernel/kernel_volume.h
+++ b/intern/cycles/kernel/kernel_volume.h
@@ -629,11 +629,8 @@ ccl_device void kernel_volume_decoupled_record(KernelGlobals *kg, PathState *sta
 
 	segment->closure_flag = 0;
 	segment->numsteps = 0;
-#ifdef __KERNEL_CPU__
+
 	segment->steps = (VolumeStep*)malloc(sizeof(VolumeStep)*max_steps);
-#else
-	kernel_assert(max_steps == 1);
-#endif
 
 	VolumeStep *step = segment->steps;
 
@@ -719,9 +716,7 @@ ccl_device void kernel_volume_decoupled_record(KernelGlobals *kg, PathState *sta
 
 ccl_device void kernel_volume_decoupled_free(KernelGlobals *kg, VolumeSegment *segment)
 {
-#ifdef __KERNEL_CPU__
 	free(segment->steps);
-#endif
 }
 
 /* scattering for homogeneous and heterogeneous volumes, using decoupled ray




More information about the Bf-blender-cvs mailing list