Commit: 876bdc231f260b2b5100e58db6127bff6cdfe677
Author: Mai Lavelle
Date:   Sun Jun 12 08:26:54 2016 -0400
Branches: temp-cycles-microdisplacement
https://developer.blender.org/rB876bdc231f260b2b5100e58db6127bff6cdfe677

Fix building of OpenCL kernel

===================================================================

M       intern/cycles/kernel/geom/geom_triangle.h
M       intern/cycles/util/util_math.h

===================================================================

diff --git a/intern/cycles/kernel/geom/geom_triangle.h 
b/intern/cycles/kernel/geom/geom_triangle.h
index ede5023..862f889 100644
--- a/intern/cycles/kernel/geom/geom_triangle.h
+++ b/intern/cycles/kernel/geom/geom_triangle.h
@@ -252,9 +252,9 @@ ccl_device float 
subd_triangle_attribute_float(KernelGlobals *kg, const ShaderDa
                if(v.w != ~0) {
                        float f3 = kernel_tex_fetch(__attributes_float, offset 
+ v.w);
 
-                       a = interp(interp(f0, f1, uv[0].x), interp(f3, f2, 
uv[0].x), uv[0].y);
-                       b = interp(interp(f0, f1, uv[1].x), interp(f3, f2, 
uv[1].x), uv[1].y);
-                       c = interp(interp(f0, f1, uv[2].x), interp(f3, f2, 
uv[2].x), uv[2].y);
+                       a = mix(mix(f0, f1, uv[0].x), mix(f3, f2, uv[0].x), 
uv[0].y);
+                       b = mix(mix(f0, f1, uv[1].x), mix(f3, f2, uv[1].x), 
uv[1].y);
+                       c = mix(mix(f0, f1, uv[2].x), mix(f3, f2, uv[2].x), 
uv[2].y);
                }
                else {
                        a = uv[0].x*f0 + uv[0].y*f1 + (1.0f - uv[0].x - 
uv[0].y)*f2;
@@ -285,9 +285,9 @@ ccl_device float 
subd_triangle_attribute_float(KernelGlobals *kg, const ShaderDa
                if(v.w != ~0) {
                        float f3 = kernel_tex_fetch(__attributes_float, patch + 
3);
 
-                       a = interp(interp(f0, f1, uv[0].x), interp(f3, f2, 
uv[0].x), uv[0].y);
-                       b = interp(interp(f0, f1, uv[1].x), interp(f3, f2, 
uv[1].x), uv[1].y);
-                       c = interp(interp(f0, f1, uv[2].x), interp(f3, f2, 
uv[2].x), uv[2].y);
+                       a = mix(mix(f0, f1, uv[0].x), mix(f3, f2, uv[0].x), 
uv[0].y);
+                       b = mix(mix(f0, f1, uv[1].x), mix(f3, f2, uv[1].x), 
uv[1].y);
+                       c = mix(mix(f0, f1, uv[2].x), mix(f3, f2, uv[2].x), 
uv[2].y);
                }
                else {
                        a = uv[0].x*f0 + uv[0].y*f1 + (1.0f - uv[0].x - 
uv[0].y)*f2;
@@ -332,9 +332,9 @@ ccl_device float3 
subd_triangle_attribute_float3(KernelGlobals *kg, const Shader
                if(v.w != ~0) {
                        float3 f3 = 
float4_to_float3(kernel_tex_fetch(__attributes_float3, offset + v.w));
 
-                       a = interp(interp(f0, f1, uv[0].x), interp(f3, f2, 
uv[0].x), uv[0].y);
-                       b = interp(interp(f0, f1, uv[1].x), interp(f3, f2, 
uv[1].x), uv[1].y);
-                       c = interp(interp(f0, f1, uv[2].x), interp(f3, f2, 
uv[2].x), uv[2].y);
+                       a = mix(mix(f0, f1, uv[0].x), mix(f3, f2, uv[0].x), 
uv[0].y);
+                       b = mix(mix(f0, f1, uv[1].x), mix(f3, f2, uv[1].x), 
uv[1].y);
+                       c = mix(mix(f0, f1, uv[2].x), mix(f3, f2, uv[2].x), 
uv[2].y);
                }
                else {
                        a = uv[0].x*f0 + uv[0].y*f1 + (1.0f - uv[0].x - 
uv[0].y)*f2;
@@ -378,9 +378,9 @@ ccl_device float3 
subd_triangle_attribute_float3(KernelGlobals *kg, const Shader
                                f3 = 
color_byte_to_float(kernel_tex_fetch(__attributes_uchar4, patch + 3));
                        }
 
-                       a = interp(interp(f0, f1, uv[0].x), interp(f3, f2, 
uv[0].x), uv[0].y);
-                       b = interp(interp(f0, f1, uv[1].x), interp(f3, f2, 
uv[1].x), uv[1].y);
-                       c = interp(interp(f0, f1, uv[2].x), interp(f3, f2, 
uv[2].x), uv[2].y);
+                       a = mix(mix(f0, f1, uv[0].x), mix(f3, f2, uv[0].x), 
uv[0].y);
+                       b = mix(mix(f0, f1, uv[1].x), mix(f3, f2, uv[1].x), 
uv[1].y);
+                       c = mix(mix(f0, f1, uv[2].x), mix(f3, f2, uv[2].x), 
uv[2].y);
                }
                else {
                        a = uv[0].x*f0 + uv[0].y*f1 + (1.0f - uv[0].x - 
uv[0].y)*f2;
diff --git a/intern/cycles/util/util_math.h b/intern/cycles/util/util_math.h
index b700381..e1de8bb 100644
--- a/intern/cycles/util/util_math.h
+++ b/intern/cycles/util/util_math.h
@@ -174,7 +174,7 @@ ccl_device_inline float clamp(float a, float mn, float mx)
        return min(max(a, mn), mx);
 }
 
-ccl_device_inline float interp(float a, float b, float t)
+ccl_device_inline float mix(float a, float b, float t)
 {
     return a + t*(b - a);
 }
@@ -652,6 +652,15 @@ ccl_device_inline float3 interp(float3 a, float3 b, float 
t)
        return a + t*(b - a);
 }
 
+#ifndef __KERNEL_OPENCL__
+
+ccl_device_inline float3 mix(float3 a, float3 b, float t)
+{
+       return a + t*(b - a);
+}
+
+#endif
+
 ccl_device_inline bool is_zero(const float3 a)
 {
 #ifdef __KERNEL_SSE__

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to