Backward incompatible: Turn on PureOperatorBuiltins: use only enum-based built-in functions in the AST.

If this breaks your AST consumer, best is to modify it to test
against the enum values instead of doing string comparisons on
built-in function names.  This is the reason the change was made.

If you need the old behavior, you should be able to get it back by changing
PureOperatorBuiltins to be false instead of true.  This path will work for
a while, but is marked deprecated.

Also, the old behavior is tagged as release 2.4.
This commit is contained in:
John Kessenich 2015-08-19 13:34:18 -06:00
parent a32d8f620d
commit fc51d284aa
41 changed files with 1092 additions and 967 deletions

View file

@ -171,21 +171,21 @@ ERROR: node is still EOpNull!
0:111 'anon@0' (layout(binding=7 column_major shared ) uniform block{layout(column_major shared ) uniform int aoeu})
0:111 Constant:
0:111 0 (const uint)
0:112 Function Call: imageAtomicCompSwap(iI21;vi2;i1;i1; (global int)
0:112 imageAtomicCompSwap (global int)
0:112 'iimg2D' (layout(r32i ) uniform iimage2D)
0:112 Construct ivec2 (temp 2-component vector of int)
0:112 'i' (temp int)
0:112 'i' (temp int)
0:112 'i' (temp int)
0:112 'i' (temp int)
0:113 Function Call: imageAtomicAdd(uI21;vi2;u1; (global uint)
0:113 imageAtomicAdd (global uint)
0:113 'uimg2D' (layout(r32ui ) uniform uimage2D)
0:113 Construct ivec2 (temp 2-component vector of int)
0:113 'i' (temp int)
0:113 'i' (temp int)
0:113 Convert int to uint (temp uint)
0:113 'i' (temp int)
0:114 Function Call: imageAtomicMin(iI21;vi2;i1; (global int)
0:114 imageAtomicMin (global int)
0:114 'iimg2Drgba' (layout(rgba32i ) uniform iimage2D)
0:114 Construct ivec2 (temp 2-component vector of int)
0:114 'i' (temp int)
@ -196,7 +196,7 @@ ERROR: node is still EOpNull!
0:116 Sequence
0:116 move second child to first child (temp 4-component vector of int)
0:116 'pos' (temp 4-component vector of int)
0:116 Function Call: imageLoad(iI21;vi2; (global 4-component vector of int)
0:116 imageLoad (global 4-component vector of int)
0:116 'iimg2D' (layout(r32i ) uniform iimage2D)
0:116 Construct ivec2 (temp 2-component vector of int)
0:116 'i' (temp int)
@ -204,13 +204,13 @@ ERROR: node is still EOpNull!
0:117 Sequence
0:117 move second child to first child (temp 4-component vector of float)
0:117 'col' (temp 4-component vector of float)
0:117 Function Call: imageLoad(I2M1;vi2;i1; (global 4-component vector of float)
0:117 imageLoad (global 4-component vector of float)
0:117 'img2DMS' (uniform image2DMS)
0:117 Construct ivec2 (temp 2-component vector of int)
0:117 'i' (temp int)
0:117 'i' (temp int)
0:117 'i' (temp int)
0:118 Function Call: imageStore(I2M1;vi2;i1;vf4; (global void)
0:118 imageStore (global void)
0:118 'img2DMSWO' (writeonly uniform image2DMS)
0:118 Construct ivec2 (temp 2-component vector of int)
0:118 'i' (temp int)
@ -221,7 +221,7 @@ ERROR: node is still EOpNull!
0:118 0.000000
0:118 0.000000
0:118 0.000000
0:119 Function Call: imageLoad(I2M1;vi2;i1; (global 4-component vector of float)
0:119 imageLoad (global 4-component vector of float)
0:119 'img2DMSWO' (writeonly uniform image2DMS)
0:119 Construct ivec2 (temp 2-component vector of int)
0:119 'i' (temp int)
@ -416,21 +416,21 @@ ERROR: node is still EOpNull!
0:111 'anon@0' (layout(binding=7 column_major shared ) uniform block{layout(column_major shared ) uniform int aoeu})
0:111 Constant:
0:111 0 (const uint)
0:112 Function Call: imageAtomicCompSwap(iI21;vi2;i1;i1; (global int)
0:112 imageAtomicCompSwap (global int)
0:112 'iimg2D' (layout(r32i ) uniform iimage2D)
0:112 Construct ivec2 (temp 2-component vector of int)
0:112 'i' (temp int)
0:112 'i' (temp int)
0:112 'i' (temp int)
0:112 'i' (temp int)
0:113 Function Call: imageAtomicAdd(uI21;vi2;u1; (global uint)
0:113 imageAtomicAdd (global uint)
0:113 'uimg2D' (layout(r32ui ) uniform uimage2D)
0:113 Construct ivec2 (temp 2-component vector of int)
0:113 'i' (temp int)
0:113 'i' (temp int)
0:113 Convert int to uint (temp uint)
0:113 'i' (temp int)
0:114 Function Call: imageAtomicMin(iI21;vi2;i1; (global int)
0:114 imageAtomicMin (global int)
0:114 'iimg2Drgba' (layout(rgba32i ) uniform iimage2D)
0:114 Construct ivec2 (temp 2-component vector of int)
0:114 'i' (temp int)
@ -441,7 +441,7 @@ ERROR: node is still EOpNull!
0:116 Sequence
0:116 move second child to first child (temp 4-component vector of int)
0:116 'pos' (temp 4-component vector of int)
0:116 Function Call: imageLoad(iI21;vi2; (global 4-component vector of int)
0:116 imageLoad (global 4-component vector of int)
0:116 'iimg2D' (layout(r32i ) uniform iimage2D)
0:116 Construct ivec2 (temp 2-component vector of int)
0:116 'i' (temp int)
@ -449,13 +449,13 @@ ERROR: node is still EOpNull!
0:117 Sequence
0:117 move second child to first child (temp 4-component vector of float)
0:117 'col' (temp 4-component vector of float)
0:117 Function Call: imageLoad(I2M1;vi2;i1; (global 4-component vector of float)
0:117 imageLoad (global 4-component vector of float)
0:117 'img2DMS' (uniform image2DMS)
0:117 Construct ivec2 (temp 2-component vector of int)
0:117 'i' (temp int)
0:117 'i' (temp int)
0:117 'i' (temp int)
0:118 Function Call: imageStore(I2M1;vi2;i1;vf4; (global void)
0:118 imageStore (global void)
0:118 'img2DMSWO' (writeonly uniform image2DMS)
0:118 Construct ivec2 (temp 2-component vector of int)
0:118 'i' (temp int)
@ -466,7 +466,7 @@ ERROR: node is still EOpNull!
0:118 0.000000
0:118 0.000000
0:118 0.000000
0:119 Function Call: imageLoad(I2M1;vi2;i1; (global 4-component vector of float)
0:119 imageLoad (global 4-component vector of float)
0:119 'img2DMSWO' (writeonly uniform image2DMS)
0:119 Construct ivec2 (temp 2-component vector of int)
0:119 'i' (temp int)