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:
authorMai Lavelle <mai.lavelle@gmail.com>2017-11-09 08:49:15 +0300
committerMai Lavelle <mai.lavelle@gmail.com>2017-11-09 09:04:06 +0300
commit087331c495b04ebd37903c0dc0e46262354cf026 (patch)
treeef63fbab4859021585d002f4782840d6e91365a2 /intern/cycles/kernel/kernel_types.h
parent6febe6e725381456f39966e0f685da67cfe52bce (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.h13
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);