Commit fba125a9 by John Kessenich Committed by GitHub

Merge pull request #943 from xxxbxxx/for-upstream-1

hlsl: "in out" is also an inout qualifier.
parents 54596ff9 b1d97537
......@@ -4,11 +4,12 @@ struct PS_OUTPUT
float Depth : SV_Depth;
};
inline void MyFunc(in float x, out float y, inout float z)
inline void MyFunc(in float x, out float y, inout float z, in out float w)
{
y = x;
z = y;
x = -1; // no effect since x = in param
w *= 1;
}
PS_OUTPUT main(noperspective in float4 inpos : SV_Position, out int sampleMask : SV_Coverage)
......@@ -16,7 +17,7 @@ PS_OUTPUT main(noperspective in float4 inpos : SV_Position, out int sampleMask :
PS_OUTPUT psout;
float x = 7, y, z = 3;
MyFunc(x, y, z);
MyFunc(x, y, z, inpos.w);
psout.Color = float4(x, y, z, 1);
psout.Depth = inpos.w;
......
......@@ -680,10 +680,10 @@ bool HlslGrammar::acceptQualifier(TQualifier& qualifier)
qualifier.noContraction = true;
break;
case EHTokIn:
qualifier.storage = EvqIn;
qualifier.storage = (qualifier.storage == EvqOut) ? EvqInOut : EvqIn;
break;
case EHTokOut:
qualifier.storage = EvqOut;
qualifier.storage = (qualifier.storage == EvqIn) ? EvqInOut : EvqOut;
break;
case EHTokInOut:
qualifier.storage = EvqInOut;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment