forked from bartvdbraak/blender
Cycles: Workaround cubic volume filtering crashing on Linux
The issue was caused by recent change in inline policy. There is some sort of memory corruption happening here, ASAN suggests it's stack overflow issue. Not quite sure why it is happening tho and was not able to solve anything here yet in the past hours. Committing fix which works with a big TODO note. The issue is visible on AVX2 machine when rendering cycles_reports_test.
This commit is contained in:
parent
90d85c7975
commit
3b4cc5dfed
@ -404,7 +404,18 @@ template<typename T> struct texture_image {
|
||||
return r;
|
||||
}
|
||||
|
||||
ccl_never_inline float4 interp_3d_ex_tricubic(float x, float y, float z)
|
||||
/* TODO(sergey): For some unspeakable reason both GCC-6 and Clang-3.9 are
|
||||
* causing stack overflow issue in this function unless it is inlined.
|
||||
*
|
||||
* Only happens for AVX2 kernel and global __KERNEL_SSE__ vectorization
|
||||
* enabled.
|
||||
*/
|
||||
#ifdef __GNUC__
|
||||
ccl_always_inline
|
||||
#else
|
||||
ccl_never_inline
|
||||
#endif
|
||||
float4 interp_3d_ex_tricubic(float x, float y, float z)
|
||||
{
|
||||
int ix, iy, iz;
|
||||
int nix, niy, niz;
|
||||
|
Loading…
Reference in New Issue
Block a user