yum-mirror/slang
Making it easier to work with shaders
git clone https://git.yummers.dev/yum-mirror/slang
d4136c934
master
1#ifndef SLANG_CORE_SIGNAL_H 2#define SLANG_CORE_SIGNAL_H 3 4#include "slang-common.h" 5 6namespace Slang 7{ 8 9enum class SignalType 10{ 11Unexpected , 12Unimplemented , 13AssertFailure , 14Unreachable , 15InvalidOperation , 16AbortCompilation , 17}; 18 19 20// Note that message can be passed as nullptr for no message. 21[[noreturn ]]void handleSignal (SignalType type ,char const * message ); 22 23#define SLANG_UNEXPECTED (reason ) ::Slang::handleSignal(::Slang::SignalType::Unexpected, reason) 24 25#define SLANG_UNIMPLEMENTED_X (what ) ::Slang::handleSignal(::Slang::SignalType::Unimplemented, what) 26 27#define SLANG_UNREACHABLE (msg ) ::Slang::handleSignal(::Slang::SignalType::Unreachable, msg) 28 29#define SLANG_ASSERT_FAILURE (msg ) ::Slang::handleSignal(::Slang::SignalType::AssertFailure, msg) 30 31#define SLANG_INVALID_OPERATION (msg ) \ 32 ::Slang::handleSignal(::Slang::SignalType::InvalidOperation, msg) 33 34#define SLANG_ABORT_COMPILATION (msg ) \ 35 ::Slang::handleSignal(::Slang::SignalType::AbortCompilation, msg) 36 37 38const char * getLastSignalMessage (); 39 40}// namespace Slang 41 42#endif