diff options
Diffstat (limited to 'intern/cycles/kernel/integrator/integrator_state_util.h')
-rw-r--r-- | intern/cycles/kernel/integrator/integrator_state_util.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/intern/cycles/kernel/integrator/integrator_state_util.h b/intern/cycles/kernel/integrator/integrator_state_util.h index 08d6cb00114..453ec49c7b0 100644 --- a/intern/cycles/kernel/integrator/integrator_state_util.h +++ b/intern/cycles/kernel/integrator/integrator_state_util.h @@ -155,7 +155,7 @@ ccl_device_forceinline void integrator_state_read_shadow_isect(INTEGRATOR_STATE_ ccl_device_forceinline void integrator_state_copy_volume_stack_to_shadow(INTEGRATOR_STATE_ARGS) { if (kernel_data.kernel_features & KERNEL_FEATURE_VOLUME) { - for (int i = 0; i < INTEGRATOR_VOLUME_STACK_SIZE; i++) { + for (int i = 0; i < kernel_data.volume_stack_size; i++) { INTEGRATOR_STATE_ARRAY_WRITE(shadow_volume_stack, i, object) = INTEGRATOR_STATE_ARRAY( volume_stack, i, object); INTEGRATOR_STATE_ARRAY_WRITE(shadow_volume_stack, i, shader) = INTEGRATOR_STATE_ARRAY( @@ -223,6 +223,8 @@ ccl_device_inline void integrator_state_copy_only(const IntegratorState to_state while (index < gpu_array_size) \ ; +# define KERNEL_STRUCT_VOLUME_STACK_SIZE kernel_data.volume_stack_size + # include "kernel/integrator/integrator_state_template.h" # undef KERNEL_STRUCT_BEGIN @@ -230,6 +232,7 @@ ccl_device_inline void integrator_state_copy_only(const IntegratorState to_state # undef KERNEL_STRUCT_ARRAY_MEMBER # undef KERNEL_STRUCT_END # undef KERNEL_STRUCT_END_ARRAY +# undef KERNEL_STRUCT_VOLUME_STACK_SIZE } ccl_device_inline void integrator_state_move(const IntegratorState to_state, |