Commit: 28e2bc90dd8df3032b831a502e15e3a2976eb9de Author: Brecht Van Lommel Date: Thu Feb 8 13:58:02 2018 +0100 Branches: master https://developer.blender.org/rB28e2bc90dd8df3032b831a502e15e3a2976eb9de
Code refactor: remove unnecessary RNG offset in branched path code. This is only needed for SSS which bounces to a different shading point. =================================================================== M intern/cycles/kernel/kernel_path_branched.h M intern/cycles/kernel/kernel_path_state.h M intern/cycles/kernel/split/kernel_subsurface_scatter.h =================================================================== diff --git a/intern/cycles/kernel/kernel_path_branched.h b/intern/cycles/kernel/kernel_path_branched.h index fe2a7d179a4..70d0292c5a5 100644 --- a/intern/cycles/kernel/kernel_path_branched.h +++ b/intern/cycles/kernel/kernel_path_branched.h @@ -372,6 +372,7 @@ ccl_device void kernel_branched_path_subsurface_scatter(KernelGlobals *kg, PathState hit_state = *state; path_state_branch(&hit_state, j, num_samples); + hit_state.rng_offset += PRNG_BOUNCE_NUM; #ifdef __VOLUME__ if(need_update_volume_stack) { diff --git a/intern/cycles/kernel/kernel_path_state.h b/intern/cycles/kernel/kernel_path_state.h index 2ae866bb051..a16c20cbee6 100644 --- a/intern/cycles/kernel/kernel_path_state.h +++ b/intern/cycles/kernel/kernel_path_state.h @@ -231,8 +231,6 @@ ccl_device_inline void path_state_branch(ccl_addr_space PathState *state, int branch, int num_branches) { - state->rng_offset += PRNG_BOUNCE_NUM; - if(num_branches > 1) { /* Path is splitting into a branch, adjust so that each branch * still gets a unique sample from the same sequence. */ diff --git a/intern/cycles/kernel/split/kernel_subsurface_scatter.h b/intern/cycles/kernel/split/kernel_subsurface_scatter.h index 38dd1dc5654..993e8d4d477 100644 --- a/intern/cycles/kernel/split/kernel_subsurface_scatter.h +++ b/intern/cycles/kernel/split/kernel_subsurface_scatter.h @@ -117,6 +117,7 @@ ccl_device_noinline bool kernel_split_branched_path_subsurface_indirect_light_it *hit_state = branched_state->path_state; path_state_branch(hit_state, j, num_samples); + hit_state->rng_offset += PRNG_BOUNCE_NUM; #ifdef __VOLUME__ if(need_update_volume_stack) { _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs