Parser: Precise: Recognize 'precise', tag types, and do related semantic checking.

This partly overlaps pull request #222, we have divided the work on this one.
This commit is contained in:
John Kessenich 2016-05-04 12:36:14 -06:00
parent 758bb5520d
commit 17f0786418
15 changed files with 797 additions and 742 deletions

View file

@ -28,7 +28,6 @@ ERROR: 0:97: 'binding' : atomic_uint binding is too large; see gl_MaxAtomicCount
ERROR: 0:106: '' : vertex input cannot be further qualified
ERROR: 0:106: 'redeclaration' : cannot change storage, memory, or auxiliary qualification of gl_FrontColor
ERROR: 0:112: 'ColorIvn' : identifier not previously declared
WARNING: 0:118: '' : unknown requalification
ERROR: 0:132: 'shared' : not supported in this stage: vertex
ERROR: 0:134: '' : function does not return a value: funcA
ERROR: 0:136: '' : function does not return a value: funcB
@ -70,7 +69,7 @@ ERROR: node is still EOpNull!
0:148 Sequence
0:148 Sequence
0:148 move second child to first child (temp float)
0:148 'result' (temp float)
0:148 'result' (noContraction temp float)
0:148 add (temp float)
0:148 component-wise multiply (temp float)
0:148 'e' (in float)
@ -79,7 +78,7 @@ ERROR: node is still EOpNull!
0:148 'g' (in float)
0:148 'h' (in float)
0:150 Branch: Return with expression
0:150 'result' (temp float)
0:150 'result' (noContraction temp float)
0:153 Function Definition: func3(f1;f1;f1; (global float)
0:153 Function Parameters:
0:153 'i' (in float)
@ -112,7 +111,7 @@ ERROR: node is still EOpNull!
0:161 'd' (in 4-component vector of float)
0:162 move second child to first child (temp 3-component vector of float)
0:162 vector swizzle (temp 3-component vector of float)
0:162 'v' (smooth out 4-component vector of float)
0:162 'v' (noContraction smooth out 4-component vector of float)
0:162 Sequence
0:162 Constant:
0:162 0 (const int)
@ -125,7 +124,7 @@ ERROR: node is still EOpNull!
0:162 's' (temp 3-component vector of float)
0:163 move second child to first child (temp float)
0:163 direct index (temp float)
0:163 'v' (smooth out 4-component vector of float)
0:163 'v' (noContraction smooth out 4-component vector of float)
0:163 Constant:
0:163 3 (const int)
0:163 add (temp float)
@ -149,7 +148,7 @@ ERROR: node is still EOpNull!
0:163 3 (const int)
0:164 move second child to first child (temp float)
0:164 direct index (temp float)
0:164 'v' (smooth out 4-component vector of float)
0:164 'v' (noContraction smooth out 4-component vector of float)
0:164 Constant:
0:164 0 (const int)
0:164 Function Call: func(f1;f1;f1;f1; (global float)
@ -171,7 +170,7 @@ ERROR: node is still EOpNull!
0:164 0 (const int)
0:166 move second child to first child (temp float)
0:166 direct index (temp float)
0:166 'v' (smooth out 4-component vector of float)
0:166 'v' (noContraction smooth out 4-component vector of float)
0:166 Constant:
0:166 0 (const int)
0:166 Function Call: func2(f1;f1;f1;f1; (global float)
@ -211,7 +210,7 @@ ERROR: node is still EOpNull!
0:167 Constant:
0:167 0 (const int)
0:167 direct index (temp float)
0:167 'v' (smooth out 4-component vector of float)
0:167 'v' (noContraction smooth out 4-component vector of float)
0:167 Constant:
0:167 0 (const int)
0:169 Function Call: funcA(I21; (global 4-component vector of float)
@ -302,13 +301,13 @@ ERROR: node is still EOpNull!
0:? 'anon@5' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, flat out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
0:? 'ColorInv' (smooth out 3-component vector of float)
0:? 'Color4' (invariant centroid smooth out 3-component vector of float)
0:? 'position' (smooth out 4-component vector of float)
0:? 'position' (noContraction smooth out 4-component vector of float)
0:? 'Color5' (smooth out 3-component vector of float)
0:? 'a' (in 4-component vector of float)
0:? 'b' (in 4-component vector of float)
0:? 'c' (in 4-component vector of float)
0:? 'd' (in 4-component vector of float)
0:? 'v' (smooth out 4-component vector of float)
0:? 'v' (noContraction smooth out 4-component vector of float)
0:? 'anon@6' (layout(column_major shared ) coherent buffer block{layout(column_major shared ) readonly buffer 4-component vector of float member1, layout(column_major shared ) buffer 4-component vector of float member2})
0:? 'anon@7' (layout(column_major shared ) buffer block{layout(column_major shared ) coherent readonly buffer 4-component vector of float member1A, layout(column_major shared ) coherent buffer 4-component vector of float member2A})
0:? 'shv' (shared 4-component vector of float)
@ -354,7 +353,7 @@ ERROR: node is still EOpNull!
0:148 Sequence
0:148 Sequence
0:148 move second child to first child (temp float)
0:148 'result' (temp float)
0:148 'result' (noContraction temp float)
0:148 add (temp float)
0:148 component-wise multiply (temp float)
0:148 'e' (in float)
@ -363,7 +362,7 @@ ERROR: node is still EOpNull!
0:148 'g' (in float)
0:148 'h' (in float)
0:150 Branch: Return with expression
0:150 'result' (temp float)
0:150 'result' (noContraction temp float)
0:153 Function Definition: func3(f1;f1;f1; (global float)
0:153 Function Parameters:
0:153 'i' (in float)
@ -396,7 +395,7 @@ ERROR: node is still EOpNull!
0:161 'd' (in 4-component vector of float)
0:162 move second child to first child (temp 3-component vector of float)
0:162 vector swizzle (temp 3-component vector of float)
0:162 'v' (smooth out 4-component vector of float)
0:162 'v' (noContraction smooth out 4-component vector of float)
0:162 Sequence
0:162 Constant:
0:162 0 (const int)
@ -409,7 +408,7 @@ ERROR: node is still EOpNull!
0:162 's' (temp 3-component vector of float)
0:163 move second child to first child (temp float)
0:163 direct index (temp float)
0:163 'v' (smooth out 4-component vector of float)
0:163 'v' (noContraction smooth out 4-component vector of float)
0:163 Constant:
0:163 3 (const int)
0:163 add (temp float)
@ -433,7 +432,7 @@ ERROR: node is still EOpNull!
0:163 3 (const int)
0:164 move second child to first child (temp float)
0:164 direct index (temp float)
0:164 'v' (smooth out 4-component vector of float)
0:164 'v' (noContraction smooth out 4-component vector of float)
0:164 Constant:
0:164 0 (const int)
0:164 Function Call: func(f1;f1;f1;f1; (global float)
@ -455,7 +454,7 @@ ERROR: node is still EOpNull!
0:164 0 (const int)
0:166 move second child to first child (temp float)
0:166 direct index (temp float)
0:166 'v' (smooth out 4-component vector of float)
0:166 'v' (noContraction smooth out 4-component vector of float)
0:166 Constant:
0:166 0 (const int)
0:166 Function Call: func2(f1;f1;f1;f1; (global float)
@ -495,7 +494,7 @@ ERROR: node is still EOpNull!
0:167 Constant:
0:167 0 (const int)
0:167 direct index (temp float)
0:167 'v' (smooth out 4-component vector of float)
0:167 'v' (noContraction smooth out 4-component vector of float)
0:167 Constant:
0:167 0 (const int)
0:169 Function Call: funcA(I21; (global 4-component vector of float)
@ -586,13 +585,13 @@ ERROR: node is still EOpNull!
0:? 'anon@5' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, flat out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
0:? 'ColorInv' (smooth out 3-component vector of float)
0:? 'Color4' (invariant centroid smooth out 3-component vector of float)
0:? 'position' (smooth out 4-component vector of float)
0:? 'position' (noContraction smooth out 4-component vector of float)
0:? 'Color5' (smooth out 3-component vector of float)
0:? 'a' (in 4-component vector of float)
0:? 'b' (in 4-component vector of float)
0:? 'c' (in 4-component vector of float)
0:? 'd' (in 4-component vector of float)
0:? 'v' (smooth out 4-component vector of float)
0:? 'v' (noContraction smooth out 4-component vector of float)
0:? 'anon@6' (layout(column_major shared ) coherent buffer block{layout(column_major shared ) readonly buffer 4-component vector of float member1, layout(column_major shared ) buffer 4-component vector of float member2})
0:? 'anon@7' (layout(column_major shared ) buffer block{layout(column_major shared ) coherent readonly buffer 4-component vector of float member1A, layout(column_major shared ) coherent buffer 4-component vector of float member2A})
0:? 'shv' (shared 4-component vector of float)