Front-end: Get the right set of nodes marked as spec-const.

This is according to the expected KHR_vulkan_glsl without floating point.
So, floating-point spec-const operations no longer work, and that's
reflected in the tests.
This commit is contained in:
John Kessenich 2016-04-06 13:32:44 -06:00
parent a8d9faba1f
commit 78a6b78810
6 changed files with 180 additions and 101 deletions

View file

@ -7,10 +7,9 @@ Linked vertex stage:
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 107
// Id's are bound by 101
Capability Shader
Capability Float64
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main"
@ -39,85 +38,79 @@ Linked vertex stage:
25: TypeInt 32 0
26: 25(int) SpecConstant 100
27: 6(int) SpecConstant 4294967286
28: TypeFloat 64
29: 28(float) SpecConstantOp 115 24
30: 23(float) SpecConstantOp 115 29
31: 6(int) SpecConstantOp 126 10
32: 6(int) SpecConstantOp 200 10
33: 6(int) SpecConstantOp 128 10 11
34: 6(int) SpecConstantOp 128 10 11
35: 6(int) Constant 3
36: 6(int) SpecConstantOp 130 34 35
37: 6(int) Constant 4
38: 6(int) SpecConstantOp 130 33 37
39: 6(int) SpecConstantOp 132 27 11
40: 25(int) Constant 2
41: 25(int) SpecConstantOp 132 26 40
42: 6(int) Constant 5
43: 6(int) SpecConstantOp 135 39 42
44: 25(int) Constant 5
45: 25(int) SpecConstantOp 134 41 44
46: 6(int) SpecConstantOp 139 27 37
47: 25(int) Constant 4
48: 25(int) SpecConstantOp 137 26 47
49: 6(int) SpecConstantOp 132 27 35
50: 6(int) SpecConstantOp 135 49 42
51: 6(int) Constant 10
52: 6(int) SpecConstantOp 195 27 51
53: 6(int) Constant 20
54: 25(int) SpecConstantOp 194 26 53
55: 6(int) SpecConstantOp 196 27 16
56: 25(int) SpecConstantOp 196 26 11
57: 6(int) Constant 256
58: 6(int) SpecConstantOp 197 27 57
59: 25(int) Constant 512
60: 25(int) SpecConstantOp 198 26 59
61: TypeBool
62: 61(bool) SpecConstantOp 177 10 27
63: 61(bool) SpecConstantOp 170 26 26
64: 61(bool) SpecConstantOp 173 10 27
65: TypeVector 6(int) 4
66: 6(int) Constant 30
67: 65(ivec4) SpecConstantComposite 53 66 10 10
68: TypeVector 25(int) 4
69: 25(int) Constant 4294967295
70: 25(int) Constant 4294967294
71: 68(ivec4) SpecConstantComposite 26 26 69 70
72: TypeVector 23(float) 4
73: 23(float) Constant 1067450368
74: 72(fvec4) SpecConstantComposite 24 73 24 73
75: TypeVector 28(float) 4
76: 75(fvec4) SpecConstantOp 115 74
77: 72(fvec4) SpecConstantOp 115 76
78: 65(ivec4) SpecConstantOp 200 67
79: 65(ivec4) SpecConstantOp 126 67
80: 65(ivec4) ConstantComposite 11 11 11 11
81: 65(ivec4) SpecConstantOp 128 67 80
82: 65(ivec4) SpecConstantOp 128 67 80
83: 65(ivec4) ConstantComposite 35 35 35 35
84: 65(ivec4) SpecConstantOp 130 82 83
85: 65(ivec4) ConstantComposite 37 37 37 37
86: 65(ivec4) SpecConstantOp 130 84 85
87: 65(ivec4) SpecConstantOp 132 67 80
88: 65(ivec4) ConstantComposite 42 42 42 42
89: 65(ivec4) SpecConstantOp 135 87 88
90: 65(ivec4) SpecConstantOp 139 67 85
91: 65(ivec4) ConstantComposite 51 51 51 51
92: 65(ivec4) SpecConstantOp 195 67 91
93: 65(ivec4) SpecConstantOp 196 67 80
94: 6(int) Constant 1024
95: 65(ivec4) ConstantComposite 94 94 94 94
96: 65(ivec4) SpecConstantOp 197 67 95
97: 25(int) Constant 2048
98: 68(ivec4) ConstantComposite 97 97 97 97
99: 68(ivec4) SpecConstantOp 198 71 98
100: 25(int) Constant 0
101: 6(int) SpecConstantOp 81 67 0
102: TypeVector 6(int) 2
103: 102(ivec2) SpecConstantOp 79 67 67 1(GLSL.std.450) 0
104: TypeVector 6(int) 3
105: 104(ivec3) SpecConstantOp 79 67 67 2 1(GLSL.std.450) 0
106: 65(ivec4) SpecConstantOp 79 67 67 1(GLSL.std.450) 2 0 3
28: 6(int) SpecConstantOp 126 10
29: 6(int) SpecConstantOp 200 10
30: 6(int) SpecConstantOp 128 10 11
31: 6(int) SpecConstantOp 128 10 11
32: 6(int) Constant 3
33: 6(int) SpecConstantOp 130 31 32
34: 6(int) Constant 4
35: 6(int) SpecConstantOp 130 30 34
36: 6(int) SpecConstantOp 132 27 11
37: 25(int) Constant 2
38: 25(int) SpecConstantOp 132 26 37
39: 6(int) Constant 5
40: 6(int) SpecConstantOp 135 36 39
41: 25(int) Constant 5
42: 25(int) SpecConstantOp 134 38 41
43: 6(int) SpecConstantOp 139 27 34
44: 25(int) Constant 4
45: 25(int) SpecConstantOp 137 26 44
46: 6(int) SpecConstantOp 132 27 32
47: 6(int) SpecConstantOp 135 46 39
48: 6(int) Constant 10
49: 6(int) SpecConstantOp 195 27 48
50: 6(int) Constant 20
51: 25(int) SpecConstantOp 194 26 50
52: 6(int) SpecConstantOp 196 27 16
53: 25(int) SpecConstantOp 196 26 11
54: 6(int) Constant 256
55: 6(int) SpecConstantOp 197 27 54
56: 25(int) Constant 512
57: 25(int) SpecConstantOp 198 26 56
58: TypeBool
59: 58(bool) SpecConstantOp 177 10 27
60: 58(bool) SpecConstantOp 170 26 26
61: 58(bool) SpecConstantOp 173 10 27
62: TypeVector 6(int) 4
63: 6(int) Constant 30
64: 62(ivec4) SpecConstantComposite 50 63 10 10
65: TypeVector 25(int) 4
66: 25(int) Constant 4294967295
67: 25(int) Constant 4294967294
68: 65(ivec4) SpecConstantComposite 26 26 66 67
69: TypeVector 23(float) 4
70: 23(float) Constant 1067450368
71: 69(fvec4) SpecConstantComposite 24 70 24 70
72: 62(ivec4) SpecConstantOp 200 64
73: 62(ivec4) SpecConstantOp 126 64
74: 62(ivec4) ConstantComposite 11 11 11 11
75: 62(ivec4) SpecConstantOp 128 64 74
76: 62(ivec4) SpecConstantOp 128 64 74
77: 62(ivec4) ConstantComposite 32 32 32 32
78: 62(ivec4) SpecConstantOp 130 76 77
79: 62(ivec4) ConstantComposite 34 34 34 34
80: 62(ivec4) SpecConstantOp 130 78 79
81: 62(ivec4) SpecConstantOp 132 64 74
82: 62(ivec4) ConstantComposite 39 39 39 39
83: 62(ivec4) SpecConstantOp 135 81 82
84: 62(ivec4) SpecConstantOp 139 64 79
85: 62(ivec4) ConstantComposite 48 48 48 48
86: 62(ivec4) SpecConstantOp 195 64 85
87: 62(ivec4) SpecConstantOp 196 64 74
88: 6(int) Constant 1024
89: 62(ivec4) ConstantComposite 88 88 88 88
90: 62(ivec4) SpecConstantOp 197 64 89
91: 25(int) Constant 2048
92: 65(ivec4) ConstantComposite 91 91 91 91
93: 65(ivec4) SpecConstantOp 198 68 92
94: 25(int) Constant 0
95: 6(int) SpecConstantOp 81 64 0
96: TypeVector 6(int) 2
97: 96(ivec2) SpecConstantOp 79 64 64 1(GLSL.std.450) 0
98: TypeVector 6(int) 3
99: 98(ivec3) SpecConstantOp 79 64 64 2 1(GLSL.std.450) 0
100: 62(ivec4) SpecConstantOp 79 64 64 1(GLSL.std.450) 2 0 3
4(main): 2 Function None 3
5: Label
Return