#define DECLARATION_VISIT_PROC(CLASS_NAME)
Definition Visitor.hpp:88
Definition GLSLExtensionAgent.hpp:24
Set< String > mExtensions
Definition GLSLExtensionAgent.hpp:40
void establishIntrinsicextensionMap()
Set< String > determineRequiredExtensions(Program &program, OutputShaderVersion &targetGLSLVersion, const ShaderTarget shaderTarget, bool allowExtensions, bool explicitBinding, bool separateShaders, const OnReportProc &onReportExtension=nullptr)
Map< Intrinsic, const char * > mIntrinsicextensionMap
Definition GLSLExtensionAgent.hpp:43
void acquireExtension(const String &extension, const String &reason="", const AST *ast=nullptr)
ShaderTarget mShaderTarget
Definition GLSLExtensionAgent.hpp:26
bool mAllowExtensions
Definition GLSLExtensionAgent.hpp:34
OnReportProc mOnReportExtension
Definition GLSLExtensionAgent.hpp:37
OutputShaderVersion mMinGLSLVersion
Definition GLSLExtensionAgent.hpp:32
OutputShaderVersion mTargetGLSLVersion
Definition GLSLExtensionAgent.hpp:29
bool mExplicitBinding
Definition GLSLExtensionAgent.hpp:35
Definition Visitor.hpp:92
ShaderTarget
Shader target enumeration.
Definition Targets.hpp:16
@ Undefined
Undefined shader target.
Function< void(const String &msg, const AST *ast) const > OnReportProc
Definition ReportHandler.hpp:28
OutputShaderVersion
Output shader version enumeration.
Definition Targets.hpp:67
@ GLSL130
GLSL 1.30 (OpenGL 3.0).
@ GLSL330
GLSL 3.30 (OpenGL 3.3).
constexpr size_t hash(const T &v)
Generates a hash for the provided type.
Definition Hash.hpp:25
std::set< Key, Compare, ScopedAllocatorAdaptor< StdAllocator< Key, RawAllocator > > > Set
Set is an associative container that contains a sorted set of unique objects of type Key.
Definition Set.hpp:21
std::map< Key, T, Compare, ScopedAllocatorAdaptor< StdAllocator< Pair< const Key, T >, RawAllocator > > > Map
Map is a sorted associative container that contains key-value pairs with unique keys.
Definition Map.hpp:24