Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2015-09-07 13:01:51 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2015-09-07 13:02:44 +0300
commit1a7eca3c54179e831a98490fbf40ee518ae0b341 (patch)
treea82dcf420b4ddd7cac00359f498f7146c8c6ef6a
parent77b0b661dd524db47a2d79e5c0e4889a0c29aa44 (diff)
Fix T46034: OpenCL kernel compilation error in latest buildbot
Simply expanded expression, so no float4->float3 conversion happens.
-rw-r--r--intern/cycles/kernel/geom/geom_triangle_intersect.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/intern/cycles/kernel/geom/geom_triangle_intersect.h b/intern/cycles/kernel/geom/geom_triangle_intersect.h
index c30c71bbf1a..9cda0bc8546 100644
--- a/intern/cycles/kernel/geom/geom_triangle_intersect.h
+++ b/intern/cycles/kernel/geom/geom_triangle_intersect.h
@@ -173,7 +173,11 @@ ccl_device_inline bool triangle_intersect(KernelGlobals *kg,
if(kernel_tex_fetch(__prim_visibility, triAddr) & visibility)
#endif
{
- if(len_squared(cross(tri_b - tri_a, tri_c - tri_a)) < 1e-16f) {
+ float4 a = tri_b - tri_a, b = tri_c - tri_a;
+ if(len_squared(make_float3(a.y*b.z - a.z*b.y,
+ a.z*b.x - a.x*b.z,
+ a.x*b.y - a.y*b.x)) < 1e-16f)
+ {
return false;
}
/* Normalize U, V, W, and T. */