Fix T41066: MSVC + AVX2 kernel causes artifacts in hair render.
The issue lies in the FMA functions, so disable them on Windows for now.
This commit is contained in:
parent
5cba64e30c
commit
8f8b9b58f6
Notes:
blender-bot
2023-02-14 10:21:11 +01:00
Referenced by issue #41066, Particle Carpet renders different in 2.71
|
@ -543,7 +543,7 @@ typedef enum AttributeStandard {
|
|||
* could be simply a compilers bug for which we can't find a generic
|
||||
* platform independent workaround. Also even if it's a compiler
|
||||
* issue, it's not so simple to upgrade the compiler in the release
|
||||
* environment for linux and doing it so closer to the release is
|
||||
* environment for Linux and doing it so closer to the release is
|
||||
* rather a risky business.
|
||||
*
|
||||
* For this release it's probably safer to stick with such a rather
|
||||
|
@ -997,7 +997,7 @@ typedef struct KernelData {
|
|||
|
||||
#ifdef __KERNEL_DEBUG__
|
||||
typedef struct DebugData {
|
||||
// Total number of BVH node travesal steps and primitives intersections
|
||||
// Total number of BVH node traversal steps and primitives intersections
|
||||
// for the camera rays.
|
||||
int num_bvh_traversal_steps;
|
||||
} DebugData;
|
||||
|
|
|
@ -151,7 +151,7 @@ __forceinline ssef maxi(const ssef& a, const ssef& b) {
|
|||
/// Ternary Operators
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#if defined(__KERNEL_AVX2__)
|
||||
#if defined(__KERNEL_AVX2__) && !defined(_MSC_VER) // see T41066
|
||||
__forceinline const ssef madd (const ssef& a, const ssef& b, const ssef& c) { return _mm_fmadd_ps(a,b,c); }
|
||||
__forceinline const ssef msub (const ssef& a, const ssef& b, const ssef& c) { return _mm_fmsub_ps(a,b,c); }
|
||||
__forceinline const ssef nmadd(const ssef& a, const ssef& b, const ssef& c) { return _mm_fnmadd_ps(a,b,c); }
|
||||
|
|
Loading…
Reference in New Issue