diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2016-05-02 21:12:42 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2016-05-05 22:43:46 +0300 |
commit | 7b7e7ac4c1a0ba0ca31a26bf3901ec184ae8930a (patch) | |
tree | 9ad108148bc1b2126cdd2678ecbfc9802bdc59f1 /intern/cycles/kernel/svm/svm_hsv.h | |
parent | 0f943337bc04c9cae1bf1728d29c45947ee3c7e5 (diff) |
Code cleanup: simplify SVM stack assignment.
Diffstat (limited to 'intern/cycles/kernel/svm/svm_hsv.h')
-rw-r--r-- | intern/cycles/kernel/svm/svm_hsv.h | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/intern/cycles/kernel/svm/svm_hsv.h b/intern/cycles/kernel/svm/svm_hsv.h index 1f2cad60df7..3a1840c12e2 100644 --- a/intern/cycles/kernel/svm/svm_hsv.h +++ b/intern/cycles/kernel/svm/svm_hsv.h @@ -19,18 +19,20 @@ CCL_NAMESPACE_BEGIN -ccl_device void svm_node_hsv(KernelGlobals *kg, ShaderData *sd, float *stack, uint in_color_offset, uint fac_offset, uint out_color_offset, int *offset) +ccl_device void svm_node_hsv(KernelGlobals *kg, ShaderData *sd, float *stack, uint4 node, int *offset) { - /* read extra data */ - uint4 node1 = read_node(kg, offset); + uint in_color_offset, fac_offset, out_color_offset; + uint hue_offset, sat_offset, val_offset; + decode_node_uchar4(node.y, &in_color_offset, &fac_offset, &out_color_offset, NULL); + decode_node_uchar4(node.z, &hue_offset, &sat_offset, &val_offset, NULL); float fac = stack_load_float(stack, fac_offset); float3 in_color = stack_load_float3(stack, in_color_offset); float3 color = in_color; - float hue = stack_load_float(stack, node1.y); - float sat = stack_load_float(stack, node1.z); - float val = stack_load_float(stack, node1.w); + float hue = stack_load_float(stack, hue_offset); + float sat = stack_load_float(stack, sat_offset); + float val = stack_load_float(stack, val_offset); color = rgb_to_hsv(color); |