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/util/util_types.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/util/util_types.h')
-rw-r--r-- | intern/cycles/util/util_types.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/intern/cycles/util/util_types.h b/intern/cycles/util/util_types.h index c770931c69b..241da40975c 100644 --- a/intern/cycles/util/util_types.h +++ b/intern/cycles/util/util_types.h @@ -37,6 +37,7 @@ #define ccl_device_noinline static #define ccl_global #define ccl_constant +#define __KERNEL_WITH_SSE_ALIGN__ #if defined(_WIN32) && !defined(FREE_WINDOWS) @@ -45,6 +46,7 @@ #ifdef __KERNEL_64_BIT__ #define ccl_try_align(...) __declspec(align(__VA_ARGS__)) #else +#undef __KERNEL_WITH_SSE_ALIGN__ #define ccl_try_align(...) /* not support for function arguments (error C2719) */ #endif #define ccl_may_alias |