HLSL: Fix #771: add inline keyword.
This commit is contained in:
parent
95e736c83b
commit
36b218de91
@ -4,7 +4,7 @@ struct PS_OUTPUT
|
|||||||
float Depth : SV_Depth;
|
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;
|
y = x;
|
||||||
z = y;
|
z = y;
|
||||||
|
|||||||
@ -2,5 +2,5 @@
|
|||||||
// For the version, it uses the latest git tag followed by the number of commits.
|
// 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).
|
// For the date, it uses the current date (when then script is run).
|
||||||
|
|
||||||
#define GLSLANG_REVISION "Overload400-PrecQual.1914"
|
#define GLSLANG_REVISION "Overload400-PrecQual.1916"
|
||||||
#define GLSLANG_DATE "14-Mar-2017"
|
#define GLSLANG_DATE "15-Mar-2017"
|
||||||
|
|||||||
@ -627,6 +627,9 @@ bool HlslGrammar::acceptQualifier(TQualifier& qualifier)
|
|||||||
case EHTokGloballyCoherent:
|
case EHTokGloballyCoherent:
|
||||||
qualifier.coherent = true;
|
qualifier.coherent = true;
|
||||||
break;
|
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)
|
// GS geometries: these are specified on stage input variables, and are an error (not verified here)
|
||||||
// for output variables.
|
// for output variables.
|
||||||
|
|||||||
@ -119,6 +119,7 @@ void HlslScanContext::fillInKeywordMap()
|
|||||||
(*KeywordMap)["inout"] = EHTokInOut;
|
(*KeywordMap)["inout"] = EHTokInOut;
|
||||||
(*KeywordMap)["layout"] = EHTokLayout;
|
(*KeywordMap)["layout"] = EHTokLayout;
|
||||||
(*KeywordMap)["globallycoherent"] = EHTokGloballyCoherent;
|
(*KeywordMap)["globallycoherent"] = EHTokGloballyCoherent;
|
||||||
|
(*KeywordMap)["inline"] = EHTokInline;
|
||||||
|
|
||||||
(*KeywordMap)["point"] = EHTokPoint;
|
(*KeywordMap)["point"] = EHTokPoint;
|
||||||
(*KeywordMap)["line"] = EHTokLine;
|
(*KeywordMap)["line"] = EHTokLine;
|
||||||
@ -616,6 +617,7 @@ EHlslTokenClass HlslScanContext::tokenizeIdentifier()
|
|||||||
case EHTokPrecise:
|
case EHTokPrecise:
|
||||||
case EHTokLayout:
|
case EHTokLayout:
|
||||||
case EHTokGloballyCoherent:
|
case EHTokGloballyCoherent:
|
||||||
|
case EHTokInline:
|
||||||
return keyword;
|
return keyword;
|
||||||
|
|
||||||
// primitive types
|
// primitive types
|
||||||
|
|||||||
@ -66,6 +66,7 @@ enum EHlslTokenClass {
|
|||||||
EHTokInOut,
|
EHTokInOut,
|
||||||
EHTokLayout,
|
EHTokLayout,
|
||||||
EHTokGloballyCoherent,
|
EHTokGloballyCoherent,
|
||||||
|
EHTokInline,
|
||||||
|
|
||||||
// primitive types
|
// primitive types
|
||||||
EHTokPoint,
|
EHTokPoint,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user