Commit c3387d33 by John Kessenich

HLSL: Support semantics in function parameter declarations.

parent 21f1286f
float1 f1 = float1(1.0); float1 f1 = float1(1.0);
float scalar = 2.0; float scalar = 2.0;
float1 ShaderFunction(float1 inFloat1, float inScalar) : COLOR0 float1 ShaderFunction(float1 inFloat1 : COLOR, float inScalar) : COLOR0
{ {
return f1 * scalar + inFloat1 * inScalar; return f1 * scalar + inFloat1 * inScalar;
} }
...@@ -769,8 +769,8 @@ bool HlslGrammar::acceptFunctionParameters(TFunction& function) ...@@ -769,8 +769,8 @@ bool HlslGrammar::acceptFunctionParameters(TFunction& function)
} }
// parameter_declaration // parameter_declaration
// : fully_specified_type // : fully_specified_type post_decls
// | fully_specified_type identifier // | fully_specified_type identifier post_decls
// //
bool HlslGrammar::acceptParameterDeclaration(TFunction& function) bool HlslGrammar::acceptParameterDeclaration(TFunction& function)
{ {
...@@ -783,6 +783,8 @@ bool HlslGrammar::acceptParameterDeclaration(TFunction& function) ...@@ -783,6 +783,8 @@ bool HlslGrammar::acceptParameterDeclaration(TFunction& function)
HlslToken idToken; HlslToken idToken;
acceptIdentifier(idToken); acceptIdentifier(idToken);
acceptPostDecls(*type);
TParameter param = { idToken.string, type }; TParameter param = { idToken.string, type };
function.addParameter(param); function.addParameter(param);
......
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