diff options
author | Hristo Gueorguiev <prem.nirved@gmail.com> | 2017-04-25 21:08:14 +0300 |
---|---|---|
committer | Hristo Gueorguiev <prem.nirved@gmail.com> | 2017-04-25 21:08:14 +0300 |
commit | 9d26e32ea28b35bf51b27828f7b58fe479a29a68 (patch) | |
tree | 18e68ea8b04ddeadd2e61933ecf98c266c9dcd2c /intern/cycles/kernel/kernel_subsurface.h | |
parent | 9dadd5ff937f81cc1e5aa9136b8eafb5a5414bb1 (diff) |
Workaround for AMD GPU OpenCL compiler.
Diffstat (limited to 'intern/cycles/kernel/kernel_subsurface.h')
-rw-r--r-- | intern/cycles/kernel/kernel_subsurface.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/intern/cycles/kernel/kernel_subsurface.h b/intern/cycles/kernel/kernel_subsurface.h index f58eef7a368..baf629342b9 100644 --- a/intern/cycles/kernel/kernel_subsurface.h +++ b/intern/cycles/kernel/kernel_subsurface.h @@ -399,6 +399,12 @@ ccl_device_noinline void subsurface_scatter_multi_setup( #else Ray *ray = &ss_isect->ray; #endif + + /* Workaround for AMD GPU OpenCL compiler. Most probably cache bypass issue. */ +#if defined(__SPLIT_KERNEL__) && defined(__KERNEL_OPENCL_AMD__) && defined(__KERNEL_GPU__) + kernel_split_params.dummy_sd_flag = sd->flag; +#endif + /* Setup new shading point. */ shader_setup_from_subsurface(kg, sd, &ss_isect->hits[hit], ray); |