Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'intern/cycles/kernel/split/kernel_split_data.h')
-rw-r--r--intern/cycles/kernel/split/kernel_split_data.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/intern/cycles/kernel/split/kernel_split_data.h b/intern/cycles/kernel/split/kernel_split_data.h
index fa2f0b20a83..9297e1e0ad5 100644
--- a/intern/cycles/kernel/split/kernel_split_data.h
+++ b/intern/cycles/kernel/split/kernel_split_data.h
@@ -34,7 +34,7 @@ ccl_device_inline uint64_t split_data_buffer_size(KernelGlobals *kg, size_t num_
uint64_t closure_size = sizeof(ShaderClosure) * (kernel_data.integrator.max_closures-1);
#ifdef __BRANCHED_PATH__
- size += align_up(closure_size * num_elements, 16);
+ size += align_up(num_elements * (sizeof(ShaderData) + closure_size), 16);
#endif
size += align_up(num_elements * (sizeof(ShaderData) + closure_size), 16);
@@ -60,7 +60,8 @@ ccl_device_inline void split_data_init(KernelGlobals *kg,
uint64_t closure_size = sizeof(ShaderClosure) * (kernel_data.integrator.max_closures-1);
#ifdef __BRANCHED_PATH__
- p += align_up(closure_size * num_elements, 16);
+ split_data->_branched_state_sd = (ShaderData*)p;
+ p += align_up(num_elements * (sizeof(ShaderData) + closure_size), 16);
#endif
split_data->_sd = (ShaderData*)p;