From 02f77bbf12981abe376b2d5987684224a50ae4b2 Mon Sep 17 00:00:00 2001 From: Tim Foley Date: Wed, 12 Jul 2017 14:21:52 -0700 Subject: Add ability for intrinsics to require GLSL extensions When cross-compiling, we need to detect when an intrinsic is used that required non-default GLSL capabilities and emit an appropriate `#extension ... : require` line. I'm handling this by attaching a custom modifier to declarations that require an extension in order to be callable. --- source/slang/modifier-defs.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'source/slang/modifier-defs.h') diff --git a/source/slang/modifier-defs.h b/source/slang/modifier-defs.h index 2b5c77d86..9806a12a5 100644 --- a/source/slang/modifier-defs.h +++ b/source/slang/modifier-defs.h @@ -53,6 +53,12 @@ SYNTAX_CLASS(TargetIntrinsicModifier, IntrinsicModifierBase) FIELD(Token, definitionToken) END_SYNTAX_CLASS() +// A modifier to tag something as an intrinsic that requires +// a certain GLSL extension to be enabled when used +SYNTAX_CLASS(RequiredGLSLExtensionModifier, Modifier) + FIELD(Token, extensionNameToken) +END_SYNTAX_CLASS() + SIMPLE_SYNTAX_CLASS(InOutModifier, OutModifier) // This is a special sentinel modifier that gets added -- cgit v1.2.3