diff options
author | Tim Rowley <[email protected]> | 2017-03-22 19:20:42 -0500 |
---|---|---|
committer | Tim Rowley <[email protected]> | 2017-03-28 11:24:44 -0500 |
commit | 3974cfea2531b86fb394d8501b106e69f00c5f89 (patch) | |
tree | 2c4f0d156905306e88d65e428037a8670b26853b | |
parent | 1c7224c85fddcbac64ee5a6595ec8608b4f00437 (diff) |
swr: [rasterizer core] Disable inline function expansion
Disable expansion in windows Debug builds.
Reviewed-by: George Kyriazis <[email protected]>
-rw-r--r-- | src/gallium/drivers/swr/rasterizer/common/os.h | 12 |
1 files changed, 12 insertions, 0 deletions
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(...) \ |