From 087331c495b04ebd37903c0dc0e46262354cf026 Mon Sep 17 00:00:00 2001 From: Mai Lavelle Date: Thu, 9 Nov 2017 00:49:15 -0500 Subject: 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 --- intern/cycles/kernel/kernel_path.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'intern/cycles/kernel/kernel_path.h') diff --git a/intern/cycles/kernel/kernel_path.h b/intern/cycles/kernel/kernel_path.h index 8519e0682e1..207ba741e6f 100644 --- a/intern/cycles/kernel/kernel_path.h +++ b/intern/cycles/kernel/kernel_path.h @@ -443,7 +443,7 @@ ccl_device void kernel_path_indirect(KernelGlobals *kg, sd, &isect, ray); - shader_eval_surface(kg, sd, state, state->flag, MAX_CLOSURE); + shader_eval_surface(kg, sd, state, state->flag, kernel_data.integrator.max_closures); shader_prepare_closures(sd, state); /* Apply shadow catcher, holdout, emission. */ @@ -594,7 +594,7 @@ ccl_device_forceinline void kernel_path_integrate( /* Setup and evaluate shader. */ shader_setup_from_ray(kg, &sd, &isect, ray); - shader_eval_surface(kg, &sd, state, state->flag, MAX_CLOSURE); + shader_eval_surface(kg, &sd, state, state->flag, kernel_data.integrator.max_closures); shader_prepare_closures(&sd, state); /* Apply shadow catcher, holdout, emission. */ -- cgit v1.2.3