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:
authorSv. Lockal <lockalsash@gmail.com>2014-02-10 17:19:26 +0400
committerSv. Lockal <lockalsash@gmail.com>2014-02-10 17:19:26 +0400
commit7096529704989286f30d645fae54e40c8335ec5e (patch)
tree852c89a45ea6c75e49fc16f1b7b191bacd03649c /intern/cycles/kernel/kernel_film.h
parent2f01be2b2fe563f634c9f653260940b2a9a78d6d (diff)
Fix T38501: blender crashes right after adding image texture to material
in cycles Also fix very similar problem in half-float SSE conversion.
Diffstat (limited to 'intern/cycles/kernel/kernel_film.h')
-rw-r--r--intern/cycles/kernel/kernel_film.h16
1 files changed, 7 insertions, 9 deletions
diff --git a/intern/cycles/kernel/kernel_film.h b/intern/cycles/kernel/kernel_film.h
index b4118666491..cbd875e994c 100644
--- a/intern/cycles/kernel/kernel_film.h
+++ b/intern/cycles/kernel/kernel_film.h
@@ -75,17 +75,15 @@ ccl_device void kernel_film_convert_to_half_float(KernelGlobals *kg,
float exposure = kernel_data.film.exposure;
- if(exposure == 1.0f) {
- float4_store_half(out, in, sample_scale);
- }
- else {
- float4 rgba = *in;
- rgba.x *= exposure;
- rgba.y *= exposure;
- rgba.z *= exposure;
+ ccl_align(16) float4 rgba_in = *in;
- float4_store_half(out, &rgba, sample_scale);
+ if(exposure != 1.0f) {
+ rgba_in.x *= exposure;
+ rgba_in.y *= exposure;
+ rgba_in.z *= exposure;
}
+
+ float4_store_half(out, &rgba_in, sample_scale);
}
CCL_NAMESPACE_END