Front-end "pure" built-in TOperator: Finish adding full support, but still turned off.

This is to avoid all need to do text comparison of built-in function names
when consuming the AST.  All built-in functions get enumerants.

Will want to turn on soon.  See PureOperatorBuiltins.  See issue #8.
This commit is contained in:
John Kessenich 2015-08-18 23:17:15 -06:00
parent e88217b7d8
commit ef676b0a59
8 changed files with 248 additions and 36 deletions

View file

@ -59,7 +59,7 @@ void main()
v = textureLod(s2DArray, c3D, 1.2);
f = textureOffset(s2DShadow, c3D, ic2D, c1D); // ERROR, offset argument not constant
v = texelFetch(s3D, ic3D, ic1D);
v = texelFetchOffset(arrayedSampler[2], ic2D, 4, ic2D);
v = texelFetchOffset(arrayedSampler[2], ic2D, 4, ic2D); // ERROR, offset argument not constant
f = textureLodOffset(s2DShadow, c3D, c1D, ic2D);
v = textureProjLodOffset(s2D, c3D, c1D, ic2D);
v = textureGrad(sCube, c3D, c3D, c3D);

View file

@ -49,7 +49,9 @@ Shader version: 430
0:43 'ic2D' (flat in 2-component vector of int)
0:43 Constant:
0:43 4 (const int)
0:43 'ic2D' (flat in 2-component vector of int)
0:43 Constant:
0:43 3 (const int)
0:43 3 (const int)
0:44 add second child into first child (temp float)
0:44 direct index (temp float)
0:44 'v' (temp 4-component vector of float)
@ -301,7 +303,9 @@ Shader version: 430
0:43 'ic2D' (flat in 2-component vector of int)
0:43 Constant:
0:43 4 (const int)
0:43 'ic2D' (flat in 2-component vector of int)
0:43 Constant:
0:43 3 (const int)
0:43 3 (const int)
0:44 add second child into first child (temp float)
0:44 direct index (temp float)
0:44 'v' (temp 4-component vector of float)

View file

@ -40,7 +40,7 @@ void main()
v += textureLod(s2DArray, c3D, 1.2);
v.y += textureOffset(s2DShadow, c3D, ivec2(3), c1D);
v += texelFetch(s3D, ic3D, ic1D);
v += texelFetchOffset(s2D, ic2D, 4, ic2D);
v += texelFetchOffset(s2D, ic2D, 4, ivec2(3));
v.y += textureLodOffset(s2DShadow, c3D, c1D, ivec2(3));
v += textureProjLodOffset(s2D, c3D, c1D, ivec2(3));
v += textureGrad(sCube, c3D, c3D, c3D);

View file

@ -38,7 +38,7 @@ void main()
v += textureLod(s2DArray, c3D, 1.2);
v.y += textureOffset(s2DShadow, c3D, ivec2(3), c1D);
v += texelFetch(s3D, ic3D, ic1D);
v += texelFetchOffset(s2D, ic2D, 4, ic2D);
v += texelFetchOffset(s2D, ic2D, 4, ivec2(3));
v.y += textureLodOffset(s2DShadow, c3D, c1D, ivec2(3));
v += textureProjLodOffset(s2D, c3D, c1D, ivec2(3));
v += textureGrad(sCube, c3D, c3D, c3D);