[Bf-blender-cvs] [1a7eca3] master: Fix T46034: OpenCL kernel compilation error in latest buildbot
Sergey Sharybin
noreply at git.blender.org
Mon Sep 7 12:02:49 CEST 2015
Commit: 1a7eca3c54179e831a98490fbf40ee518ae0b341
Author: Sergey Sharybin
Date: Mon Sep 7 15:01:51 2015 +0500
Branches: master
https://developer.blender.org/rB1a7eca3c54179e831a98490fbf40ee518ae0b341
Fix T46034: OpenCL kernel compilation error in latest buildbot
Simply expanded expression, so no float4->float3 conversion happens.
===================================================================
M intern/cycles/kernel/geom/geom_triangle_intersect.h
===================================================================
diff --git a/intern/cycles/kernel/geom/geom_triangle_intersect.h b/intern/cycles/kernel/geom/geom_triangle_intersect.h
index c30c71b..9cda0bc 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. */
More information about the Bf-blender-cvs
mailing list