16 if (sd->num_closure_left == 0) {
26 sd->num_closure_left--;
41 if (num_extra > sd->num_closure_left) {
44 sd->num_closure_left++;
48 sd->num_closure_left -= num_extra;
49 return (
ccl_private void *)(sd->closure + sd->num_closure + sd->num_closure_left);
71 sc->sample_weight = sample_weight;
ccl_device_inline ccl_private ShaderClosure * bsdf_alloc(ccl_private ShaderData *sd, int size, Spectrum weight)
ccl_device ccl_private void * closure_alloc_extra(ccl_private ShaderData *sd, int size)
CCL_NAMESPACE_BEGIN ccl_device ccl_private ShaderClosure * closure_alloc(ccl_private ShaderData *sd, int size, ClosureType type, Spectrum weight)
#define kernel_assert(cond)
#define ccl_device_inline
#define CCL_NAMESPACE_END
#define CLOSURE_WEIGHT_CUTOFF
ccl_device_inline float average(const float2 a)
CCL_NAMESPACE_BEGIN ccl_device_inline float3 zero_float3()
SPECTRUM_DATA_TYPE Spectrum
ccl_device_inline bool isfinite_safe(float f)