From 2dfbbae491090f3b0f0e622791515c59f3948ee0 Mon Sep 17 00:00:00 2001 From: Egor Yusov Date: Sat, 21 Jul 2018 19:46:57 -0700 Subject: Implemented IFence interface in all backends --- Primitives/interface/Errors.h | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'Primitives/interface') diff --git a/Primitives/interface/Errors.h b/Primitives/interface/Errors.h index 611ff7a8..18e6ea1c 100644 --- a/Primitives/interface/Errors.h +++ b/Primitives/interface/Errors.h @@ -118,3 +118,39 @@ do{ \ #define LOG_ERROR_MESSAGE_ONCE(...) LOG_DEBUG_MESSAGE_ONCE(Diligent::DebugMessageSeverity::Error, ##__VA_ARGS__) #define LOG_WARNING_MESSAGE_ONCE(...) LOG_DEBUG_MESSAGE_ONCE(Diligent::DebugMessageSeverity::Warning, ##__VA_ARGS__) #define LOG_INFO_MESSAGE_ONCE(...) LOG_DEBUG_MESSAGE_ONCE(Diligent::DebugMessageSeverity::Info, ##__VA_ARGS__) + + +#define CHECK(Expr, Severity, ...)\ +do{ \ + if( !(Expr) ) \ + { \ + LOG_DEBUG_MESSAGE(Severity, ##__VA_ARGS__);\ + } \ +}while(false) + +#define CHECK_ERR(Expr, ...) CHECK(Expr, Diligent::DebugMessageSeverity::Error, ##__VA_ARGS__) +#define CHECK_WARN(Expr, ...) CHECK(Expr, Diligent::DebugMessageSeverity::Warning, ##__VA_ARGS__) +#define CHECK_INFO(Expr, ...) CHECK(Expr, Diligent::DebugMessageSeverity::Info, ##__VA_ARGS__) + +#define CHECK_THROW(Expr, ...)\ +do{ \ + if( !(Expr) ) \ + { \ + LOG_ERROR_AND_THROW(##__VA_ARGS__);\ + } \ +}while(false) + + +#ifdef DEVELOPMENT + +#define DEV_CHECK_ERR(Expr, ...) CHECK_ERR (Expr, ##__VA_ARGS__) +#define DEV_CHECK_WARN(Expr, ...) CHECK_WARN(Expr, ##__VA_ARGS__) +#define DEV_CHECK_INFO(Expr, ...) CHECK_INFO(Expr, ##__VA_ARGS__) + +#else + +#define DEV_CHECK_ERR (Expr, ...) do{}while(false) +#define DEV_CHECK_WARN(Expr, ...) do{}while(false) +#define DEV_CHECK_INFO(Expr, ...) do{}while(false) + +#endif -- cgit v1.2.3