Vulkan: Finish semantics for what creates spec-const-semantics.

Note: This required adding a new test mode to see the AST for vulkan tests.
This also required reworking some deeper parts of type creation, regarding
when storage qualification and constness is deduced bottom-up or dictated
top-down.
This commit is contained in:
John Kessenich
2016-05-23 16:07:07 -06:00
parent 87a94fc0fa
commit d82c906378
16 changed files with 610 additions and 245 deletions

View File

@@ -1,17 +1,17 @@
420.tese
Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
ERROR: 0:7: '=' : cannot convert from 'global 3-element array of float' to 'global 2-element array of float'
ERROR: 0:8: 'initializer list' : wrong vector size (or rows in a matrix column): global 2-component vector of float
ERROR: 0:9: 'initializer list' : wrong number of matrix columns: global 3X3 matrix of float
ERROR: 0:10: 'initializer list' : wrong number of matrix columns: global 2X2 matrix of float
ERROR: 0:7: '=' : cannot convert from 'const 3-element array of float' to 'global 2-element array of float'
ERROR: 0:8: 'initializer list' : wrong vector size (or rows in a matrix column): temp 2-component vector of float
ERROR: 0:9: 'initializer list' : wrong number of matrix columns: temp 3X3 matrix of float
ERROR: 0:10: 'initializer list' : wrong number of matrix columns: temp 2X2 matrix of float
ERROR: 0:25: 'initializer list' : wrong number of structure members
ERROR: 0:27: '=' : cannot convert from 'const bool' to 'global int'
ERROR: 0:28: 'constructor' : cannot convert parameter 2 from 'const float' to 'global 4-component vector of float'
ERROR: 0:28: 'constructor' : cannot convert parameter 2 from 'const float' to 'temp 4-component vector of float'
ERROR: 0:29: 'constructor' : cannot convert parameter 2 from 'const 2X2 matrix of float' to 'const 4-component vector of float'
ERROR: 0:29: 'const 2-element array of 4-component vector of float' : cannot construct with these arguments
ERROR: 0:29: '=' : cannot convert from 'const float' to 'global 2-element array of 4-component vector of float'
ERROR: 0:30: 'initializer list' : wrong number of matrix columns: global 4X2 matrix of float
ERROR: 0:40: 'constructor' : cannot convert parameter 1 from 'temp float' to 'global structure{global float s, global float t}'
ERROR: 0:30: 'initializer list' : wrong number of matrix columns: temp 4X2 matrix of float
ERROR: 0:40: 'constructor' : cannot convert parameter 1 from 'temp float' to 'temp structure{global float s, global float t}'
ERROR: 0:58: 'initializer list' : wrong number of structure members
ERROR: 13 compilation errors. No code generated.
@@ -60,7 +60,7 @@ ERROR: node is still EOpNull!
0:68 Sequence
0:68 move second child to first child (temp 3-component vector of float)
0:68 'bv3' (global 3-component vector of float)
0:68 Construct vec3 (global 3-component vector of float)
0:68 Construct vec3 (temp 3-component vector of float)
0:68 'vc1' (global float)
0:68 'vc2' (global float)
0:68 'vc3' (global float)
@@ -210,7 +210,7 @@ ERROR: node is still EOpNull!
0:68 Sequence
0:68 move second child to first child (temp 3-component vector of float)
0:68 'bv3' (global 3-component vector of float)
0:68 Construct vec3 (global 3-component vector of float)
0:68 Construct vec3 (temp 3-component vector of float)
0:68 'vc1' (global float)
0:68 'vc2' (global float)
0:68 'vc3' (global float)