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:
authorSergey Sharybin <sergey.vfx@gmail.com>2016-07-26 17:30:13 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2016-07-26 18:16:23 +0300
commit70307941715f1274b9ca7f859fcc93ab5f5c5c66 (patch)
tree28a3019e739e2a71b0b66e608ab339f9d8611a58 /intern/cycles/kernel/kernel_shadow.h
parentb91aea60964e8f01b2ed269734bc2700659fcbb1 (diff)
Cycles: Revert previous fixes to intersect_all functions
While they prevent legit write past the array boundary error those fixes introduced regression in behavior when having exact max_hits transparent intersections and nothing else. Previous code would have considered such case a totally opaque, but it's not correct. Fixes T48941: Some materials don't get transparent shadows anymore
Diffstat (limited to 'intern/cycles/kernel/kernel_shadow.h')
-rw-r--r--intern/cycles/kernel/kernel_shadow.h7
1 files changed, 1 insertions, 6 deletions
diff --git a/intern/cycles/kernel/kernel_shadow.h b/intern/cycles/kernel/kernel_shadow.h
index d1576754d2e..db2fc84834a 100644
--- a/intern/cycles/kernel/kernel_shadow.h
+++ b/intern/cycles/kernel/kernel_shadow.h
@@ -75,12 +75,7 @@ ccl_device_inline bool shadow_blocked(KernelGlobals *kg, ShaderData *shadow_sd,
}
uint num_hits;
- if(max_hits == 0) {
- blocked = true;
- num_hits = 0;
- } else {
- blocked = scene_intersect_shadow_all(kg, ray, hits, max_hits, &num_hits);
- }
+ blocked = scene_intersect_shadow_all(kg, ray, hits, max_hits, &num_hits);
/* if no opaque surface found but we did find transparent hits, shade them */
if(!blocked && num_hits > 0) {