diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2017-09-27 01:39:53 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2017-10-04 22:11:14 +0300 |
commit | e3e16cecc4f080edbbd14e4bf1cfc580c5957d62 (patch) | |
tree | 5b9da903526442acb10b48d2ccee5686a00a1017 /intern/cycles/kernel/kernel_path.h | |
parent | 5b7d6ea54b2fc35b8b12c667f5bf9a1c9c46d5c2 (diff) |
Code refactor: remove rng_state buffer and compute hash on the fly.
A little faster on some benchmark scenes, a little slower on others, seems
about performance neutral on average and saves a little memory.
Diffstat (limited to 'intern/cycles/kernel/kernel_path.h')
-rw-r--r-- | intern/cycles/kernel/kernel_path.h | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/intern/cycles/kernel/kernel_path.h b/intern/cycles/kernel/kernel_path.h index 793fede0deb..341ada63ec3 100644 --- a/intern/cycles/kernel/kernel_path.h +++ b/intern/cycles/kernel/kernel_path.h @@ -672,21 +672,20 @@ ccl_device_forceinline void kernel_path_integrate( } ccl_device void kernel_path_trace(KernelGlobals *kg, - ccl_global float *buffer, ccl_global uint *rng_state, + ccl_global float *buffer, int sample, int x, int y, int offset, int stride) { /* buffer offset */ int index = offset + x + y*stride; int pass_stride = kernel_data.film.pass_stride; - rng_state += index; buffer += index*pass_stride; /* Initialize random numbers and sample ray. */ uint rng_hash; Ray ray; - kernel_path_trace_setup(kg, rng_state, sample, x, y, &rng_hash, &ray); + kernel_path_trace_setup(kg, sample, x, y, &rng_hash, &ray); if(ray.t == 0.0f) { kernel_write_result(kg, buffer, sample, NULL); |