16 const uint fac_offset,
35 const uint input_offset,
36 const uint result_offset)
40 uint use_clamp_result;
41 uint fac_in_stack_offset;
42 uint a_in_stack_offset;
43 uint b_in_stack_offset;
46 input_offset, &fac_in_stack_offset, &a_in_stack_offset, &b_in_stack_offset);
55 if (use_clamp_result) {
63 const uint input_offset,
64 const uint result_offset)
66 uint fac_in_stack_offset;
67 uint a_in_stack_offset;
68 uint b_in_stack_offset;
70 input_offset, &fac_in_stack_offset, &a_in_stack_offset, &b_in_stack_offset);
78 const float result = a * (1 - t) +
b * t;
84 const uint input_offset,
85 const uint result_offset)
88 uint fac_in_stack_offset;
89 uint a_in_stack_offset;
90 uint b_in_stack_offset;
92 input_offset, &use_clamp, &fac_in_stack_offset, &a_in_stack_offset, &b_in_stack_offset);
105 const uint input_offset,
106 const uint result_offset)
109 uint fac_in_stack_offset;
110 uint a_in_stack_offset;
111 uint b_in_stack_offset;
113 input_offset, &use_clamp, &fac_in_stack_offset, &a_in_stack_offset, &b_in_stack_offset);
ccl_device_noinline_cpu float3 svm_mix(NodeMix type, const float t, const float3 c1, const float3 c2)
ccl_device_noinline_cpu float3 svm_mix_clamped_factor(NodeMix type, const float t, const float3 c1, const float3 c2)
ccl_device_inline float stack_load_float(const ccl_private float *stack, const uint a)
ccl_device_inline void stack_store_float(ccl_private float *stack, const uint a, const float f)
ccl_device_inline uint4 read_node(KernelGlobals kg, ccl_private int *const offset)
ccl_device_inline void stack_store_float3(ccl_private float *stack, const uint a, const float3 f)
ccl_device_forceinline void svm_unpack_node_uchar3(const uint i, ccl_private uint *x, ccl_private uint *y, ccl_private uint *z)
ccl_device_forceinline void svm_unpack_node_uchar4(const uint i, ccl_private uint *x, ccl_private uint *y, ccl_private uint *z, ccl_private uint *w)
CCL_NAMESPACE_BEGIN ccl_device_inline float3 stack_load_float3(const ccl_private float *stack, const uint a)
CCL_NAMESPACE_BEGIN struct Options options
const ThreadKernelGlobalsCPU * KernelGlobals
#define ccl_device_noinline
#define CCL_NAMESPACE_END
ccl_device_inline float3 one_float3()
ccl_device_noinline void svm_node_mix_color(ccl_private float *stack, const uint options, const uint input_offset, const uint result_offset)
CCL_NAMESPACE_BEGIN ccl_device_noinline int svm_node_mix(KernelGlobals kg, ccl_private float *stack, const uint fac_offset, const uint c1_offset, const uint c2_offset, int offset)
ccl_device_noinline void svm_node_mix_vector(ccl_private float *stack, const uint input_offset, const uint result_offset)
ccl_device_noinline void svm_node_mix_vector_non_uniform(ccl_private float *stack, const uint input_offset, const uint result_offset)
ccl_device_noinline void svm_node_mix_float(ccl_private float *stack, const uint use_clamp, const uint input_offset, const uint result_offset)