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_film.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_film.h')
-rw-r--r-- | intern/cycles/kernel/kernel_film.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/intern/cycles/kernel/kernel_film.h b/intern/cycles/kernel/kernel_film.h index cbd875e994c..dc5f6e7ce38 100644 --- a/intern/cycles/kernel/kernel_film.h +++ b/intern/cycles/kernel/kernel_film.h @@ -75,7 +75,7 @@ ccl_device void kernel_film_convert_to_half_float(KernelGlobals *kg, float exposure = kernel_data.film.exposure; - ccl_align(16) float4 rgba_in = *in; + float4 rgba_in = *in; if(exposure != 1.0f) { rgba_in.x *= exposure; @@ -83,7 +83,7 @@ ccl_device void kernel_film_convert_to_half_float(KernelGlobals *kg, rgba_in.z *= exposure; } - float4_store_half(out, &rgba_in, sample_scale); + float4_store_half(out, rgba_in, sample_scale); } CCL_NAMESPACE_END |