Commit 8ba301c7 by John Kessenich

Issue #28: Correctly handle a single input argument conversion when the input…

Issue #28: Correctly handle a single input argument conversion when the input argument is an aggregate.
parent efb84617
......@@ -187,6 +187,14 @@ Shader version: 400
0:62 Construct vec4 (temp 4-component vector of float)
0:62 Convert int to float (temp float)
0:62 'color' (temp int)
0:66 Function Definition: aggCall( (global void)
0:66 Function Parameters:
0:? Sequence
0:69 Function Call: m(vf2; (global 3-component vector of float)
0:69 Convert int to float (temp 2-component vector of float)
0:69 Construct ivec2 (temp 2-component vector of int)
0:69 Convert float to int (temp int)
0:69 'F' (temp float)
0:? Linker Objects
0:? 'u' (uniform float)
......@@ -380,6 +388,14 @@ Shader version: 400
0:62 Construct vec4 (temp 4-component vector of float)
0:62 Convert int to float (temp float)
0:62 'color' (temp int)
0:66 Function Definition: aggCall( (global void)
0:66 Function Parameters:
0:? Sequence
0:69 Function Call: m(vf2; (global 3-component vector of float)
0:69 Convert int to float (temp 2-component vector of float)
0:69 Construct ivec2 (temp 2-component vector of int)
0:69 Convert float to int (temp int)
0:69 'F' (temp float)
0:? Linker Objects
0:? 'u' (uniform float)
......@@ -61,3 +61,10 @@ void main()
gl_FragColor = vec4(color);
}
vec3 m(vec2);
void aggCall()
{
float F;
m(ivec2(F)); // test input conversion of single argument that's an aggregate; other function tests in 120.vert
}
......@@ -1239,10 +1239,14 @@ void TParseContext::addInputArgumentConversions(const TFunction& function, TInte
// convert to the correct type.
arg = intermediate.addConversion(EOpFunctionCall, *function[i].type, arg);
if (arg) {
if (aggregate)
aggregate->getSequence()[i] = arg;
else
if (function.getParamCount() == 1)
arguments = arg;
else {
if (aggregate)
aggregate->getSequence()[i] = arg;
else
arguments = arg;
}
}
}
}
......
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