From: Tim Rowley Date: Thu, 23 Mar 2017 00:20:42 +0000 (-0500) Subject: swr: [rasterizer core] Disable inline function expansion X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3974cfea2531b86fb394d8501b106e69f00c5f89;p=mesa.git swr: [rasterizer core] Disable inline function expansion Disable expansion in windows Debug builds. Reviewed-by: George Kyriazis --- diff --git a/src/gallium/drivers/swr/rasterizer/common/os.h b/src/gallium/drivers/swr/rasterizer/common/os.h index 71c4da3a59a..ef00a255d31 100644 --- a/src/gallium/drivers/swr/rasterizer/common/os.h +++ b/src/gallium/drivers/swr/rasterizer/common/os.h @@ -47,7 +47,19 @@ #endif #define OSALIGN(RWORD, WIDTH) __declspec(align(WIDTH)) RWORD + +#if defined(_DEBUG) +// We compile Debug builds with inline function expansion enabled. This allows +// functions compiled with __forceinline to be inlined even in Debug builds. +// The inline_depth(0) pragma below will disable inline function expansion for +// normal INLINE / inline functions, but not for __forceinline functions. +// Our SIMD function wrappers (see simdlib.hpp) use __forceinline even in +// Debug builds. +#define INLINE inline +#pragma inline_depth(0) +#else #define INLINE __forceinline +#endif #define DEBUGBREAK __debugbreak() #define PRAGMA_WARNING_PUSH_DISABLE(...) \