Implement implicit conversions of function-call arguments (both in and out) as explicit conversions in the AST, through handleArgumentConversions().
Also - uniformly handle EvqConstReadOnly as an input argument in a function, with isParamInput() and isParamOutput() queries in TQualifier. - provide a makeTemporary() in TQualifier, for erasing original qualification when making a temp - provide a makeInternalVariable() call to make a shader variable not seen in the shader source git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25912 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
parent
e5d92eb194
commit
75694fdacd
11 changed files with 530 additions and 235 deletions
|
|
@ -58,15 +58,15 @@ float overloadA(float); // ERROR, different return value for same sig
|
|||
float overloadA(out float f, int);
|
||||
float overloadA(int i);
|
||||
|
||||
vec2 overloadB(float, float);
|
||||
void overloadB(float, const in float) { }
|
||||
|
||||
vec2 overloadC(int, int);
|
||||
vec2 overloadC(int, float);
|
||||
vec2 overloadC(const in int, float);
|
||||
vec2 overloadC(float, int);
|
||||
vec2 overloadC(vec2, vec2);
|
||||
|
||||
vec3 overloadD(int, float);
|
||||
vec3 overloadD(float, int);
|
||||
vec3 overloadD(float, in int);
|
||||
|
||||
vec3 overloadE(float[2]);
|
||||
vec3 overloadE(mat2 m);
|
||||
|
|
@ -119,3 +119,21 @@ void foo()
|
|||
}
|
||||
|
||||
varying vec4 gl_TexCoord[35]; // ERROR, size too big
|
||||
|
||||
// tests for output conversions
|
||||
void outFun(in float, out ivec2, in int, out float);
|
||||
int outFunRet(in float, out int, const in int, out ivec4);
|
||||
ivec2 outFunRet(in float, out ivec4, in int, out ivec4);
|
||||
|
||||
void foo2()
|
||||
{
|
||||
vec2 v2;
|
||||
vec4 v4;
|
||||
float f;
|
||||
int i;
|
||||
|
||||
outFun(i, v2, i, f);
|
||||
outFunRet(i, f, i, v4);
|
||||
float ret = outFunRet(i, f, i, v4);
|
||||
vec2 ret2 = outFunRet(i, v4, i, v4);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue