diff options
author | Sv. Lockal <lockalsash@gmail.com> | 2014-02-27 14:49:21 +0400 |
---|---|---|
committer | Sv. Lockal <lockalsash@gmail.com> | 2014-02-27 15:01:20 +0400 |
commit | 7808360c5f35c5a6371c3627758a70db431955a2 (patch) | |
tree | 0a3cb25e749917dd0021f308a5627442888b1ecb /intern/cycles/kernel/kernel_bvh_subsurface.h | |
parent | 8badec14f97df80b328a6d8106c6cdbcafb171c0 (diff) |
Cycles: fix crash in SSE hair and half-floats on x86+vc2008
MSVC 2008 ignores alignement attribute when assigning from unaligned
float4 vector, returned from other function. Now Cycles uses unaligned
loads instead of casts for win32 in x86 mode.
Diffstat (limited to 'intern/cycles/kernel/kernel_bvh_subsurface.h')
-rw-r--r-- | intern/cycles/kernel/kernel_bvh_subsurface.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/intern/cycles/kernel/kernel_bvh_subsurface.h b/intern/cycles/kernel/kernel_bvh_subsurface.h index 6b691f3364b..40683a2da57 100644 --- a/intern/cycles/kernel/kernel_bvh_subsurface.h +++ b/intern/cycles/kernel/kernel_bvh_subsurface.h @@ -49,8 +49,8 @@ ccl_device uint BVH_FUNCTION_NAME(KernelGlobals *kg, const Ray *ray, Intersectio /* ray parameters in registers */ const float tmax = ray->t; - ccl_align(16) float3 P = ray->P; - ccl_align(16) float3 idir = bvh_inverse_direction(ray->D); + float3 P = ray->P; + float3 idir = bvh_inverse_direction(ray->D); int object = ~0; float isect_t = tmax; |