diff --git a/Test/hlsl.inoutquals.frag b/Test/hlsl.inoutquals.frag index 32346882..9328dfbe 100644 --- a/Test/hlsl.inoutquals.frag +++ b/Test/hlsl.inoutquals.frag @@ -4,7 +4,7 @@ struct PS_OUTPUT float Depth : SV_Depth; }; -void MyFunc(in float x, out float y, inout float z) +inline void MyFunc(in float x, out float y, inout float z) { y = x; z = y; diff --git a/glslang/Include/revision.h b/glslang/Include/revision.h index 162e400b..00dc2f43 100644 --- a/glslang/Include/revision.h +++ b/glslang/Include/revision.h @@ -2,5 +2,5 @@ // For the version, it uses the latest git tag followed by the number of commits. // For the date, it uses the current date (when then script is run). -#define GLSLANG_REVISION "Overload400-PrecQual.1914" -#define GLSLANG_DATE "14-Mar-2017" +#define GLSLANG_REVISION "Overload400-PrecQual.1916" +#define GLSLANG_DATE "15-Mar-2017" diff --git a/hlsl/hlslGrammar.cpp b/hlsl/hlslGrammar.cpp index 7a0172c8..1dc500bb 100755 --- a/hlsl/hlslGrammar.cpp +++ b/hlsl/hlslGrammar.cpp @@ -627,6 +627,9 @@ bool HlslGrammar::acceptQualifier(TQualifier& qualifier) case EHTokGloballyCoherent: qualifier.coherent = true; break; + case EHTokInline: + // TODO: map this to SPIR-V function control + break; // GS geometries: these are specified on stage input variables, and are an error (not verified here) // for output variables. diff --git a/hlsl/hlslScanContext.cpp b/hlsl/hlslScanContext.cpp index d08a2c36..30b2b2c3 100755 --- a/hlsl/hlslScanContext.cpp +++ b/hlsl/hlslScanContext.cpp @@ -119,6 +119,7 @@ void HlslScanContext::fillInKeywordMap() (*KeywordMap)["inout"] = EHTokInOut; (*KeywordMap)["layout"] = EHTokLayout; (*KeywordMap)["globallycoherent"] = EHTokGloballyCoherent; + (*KeywordMap)["inline"] = EHTokInline; (*KeywordMap)["point"] = EHTokPoint; (*KeywordMap)["line"] = EHTokLine; @@ -616,6 +617,7 @@ EHlslTokenClass HlslScanContext::tokenizeIdentifier() case EHTokPrecise: case EHTokLayout: case EHTokGloballyCoherent: + case EHTokInline: return keyword; // primitive types diff --git a/hlsl/hlslTokens.h b/hlsl/hlslTokens.h index 52496190..54f9b21a 100755 --- a/hlsl/hlslTokens.h +++ b/hlsl/hlslTokens.h @@ -66,6 +66,7 @@ enum EHlslTokenClass { EHTokInOut, EHTokLayout, EHTokGloballyCoherent, + EHTokInline, // primitive types EHTokPoint,