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:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2013-04-02 19:53:24 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2013-04-02 19:53:24 +0400
commitbe1a5a23284910c1bf1a9c635e34f51a5b22940f (patch)
tree8c1bcf735d94296b2249c6dd693c5f49ba587efd /intern/cycles/kernel/kernel_shader.h
parent97ce56dc761243d14bc10f47baae378b207c189e (diff)
Fix 34831: SSS issue with non-progressive render, due to error in closure merging code.
Diffstat (limited to 'intern/cycles/kernel/kernel_shader.h')
-rw-r--r--intern/cycles/kernel/kernel_shader.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/intern/cycles/kernel/kernel_shader.h b/intern/cycles/kernel/kernel_shader.h
index 572255f938d..b5acf4824e3 100644
--- a/intern/cycles/kernel/kernel_shader.h
+++ b/intern/cycles/kernel/kernel_shader.h
@@ -906,7 +906,7 @@ __device void shader_merge_closures(KernelGlobals *kg, ShaderData *sd)
ShaderClosure *scj = &sd->closure[j];
#ifdef __OSL__
- if(!sci->prim && sci->type == scj->type && sci->data0 == scj->data0 && sci->data1 == scj->data1) {
+ if(!sci->prim && !scj->prim && sci->type == scj->type && sci->data0 == scj->data0 && sci->data1 == scj->data1) {
#else
if(sci->type == scj->type && sci->data0 == scj->data0 && sci->data1 == scj->data1) {
#endif
@@ -918,6 +918,7 @@ __device void shader_merge_closures(KernelGlobals *kg, ShaderData *sd)
memmove(scj, scj+1, size*sizeof(ShaderClosure));
sd->num_closure--;
+ j--;
}
}
}