diff options
author | Mai Lavelle <mai.lavelle@gmail.com> | 2017-11-09 08:49:15 +0300 |
---|---|---|
committer | Mai Lavelle <mai.lavelle@gmail.com> | 2017-11-09 09:04:06 +0300 |
commit | 087331c495b04ebd37903c0dc0e46262354cf026 (patch) | |
tree | ef63fbab4859021585d002f4782840d6e91365a2 /intern/cycles/kernel/kernel_types.h | |
parent | 6febe6e725381456f39966e0f685da67cfe52bce (diff) |
Cycles: Replace __MAX_CLOSURE__ build option with runtime integrator variable
Goal is to reduce OpenCL kernel recompilations.
Currently viewport renders are still set to use 64 closures as this seems to
be faster and we don't want to cause a performance regression there. Needs
to be investigated.
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D2775
Diffstat (limited to 'intern/cycles/kernel/kernel_types.h')
-rw-r--r-- | intern/cycles/kernel/kernel_types.h | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/intern/cycles/kernel/kernel_types.h b/intern/cycles/kernel/kernel_types.h index fc3e7b3da98..919dafbc780 100644 --- a/intern/cycles/kernel/kernel_types.h +++ b/intern/cycles/kernel/kernel_types.h @@ -782,10 +782,14 @@ typedef struct AttributeDescriptor { /* Closure data */ #ifdef __MULTI_CLOSURE__ -# ifndef __MAX_CLOSURE__ -# define MAX_CLOSURE 64 +# ifdef __SPLIT_KERNEL__ +# define MAX_CLOSURE 1 # else -# define MAX_CLOSURE __MAX_CLOSURE__ +# ifndef __MAX_CLOSURE__ +# define MAX_CLOSURE 64 +# else +# define MAX_CLOSURE __MAX_CLOSURE__ +# endif # endif #else # define MAX_CLOSURE 1 @@ -1313,7 +1317,8 @@ typedef struct KernelIntegrator { int volume_samples; int start_sample; - int pad; + + int max_closures; } KernelIntegrator; static_assert_align(KernelIntegrator, 16); |