HLSL: Wrap the entry-point; need to write 'in' args, and support 'inout' args.
This needs some render testing, but is destined to be part of master. This also leads to a variety of other simplifications. - IO are global symbols, so only need one list of linkage nodes (deferred) - no longer need parse-context-wide 'inEntryPoint' state, entry-point is localized - several parts of splitting/flattening are now localized
This commit is contained in:
@@ -3,250 +3,259 @@ WARNING: 0:4: 'immediate sampler state' : unimplemented
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 191
|
||||
// Id's are bound by 198
|
||||
|
||||
Capability Shader
|
||||
Capability Sampled1D
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main" 180 184
|
||||
EntryPoint Fragment 4 "main" 188 192
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Decorate 41 DescriptorSet 0
|
||||
Decorate 41 Binding 0
|
||||
Decorate 45 DescriptorSet 0
|
||||
Decorate 45 Binding 0
|
||||
Decorate 56 DescriptorSet 0
|
||||
Decorate 69 DescriptorSet 0
|
||||
Decorate 79 DescriptorSet 0
|
||||
Decorate 90 DescriptorSet 0
|
||||
Decorate 101 DescriptorSet 0
|
||||
Decorate 113 DescriptorSet 0
|
||||
Decorate 124 DescriptorSet 0
|
||||
Decorate 134 DescriptorSet 0
|
||||
Decorate 147 DescriptorSet 0
|
||||
Decorate 156 DescriptorSet 0
|
||||
Decorate 165 DescriptorSet 0
|
||||
Decorate 180 Location 0
|
||||
Decorate 184 BuiltIn FragDepth
|
||||
Decorate 188 DescriptorSet 0
|
||||
Decorate 189 DescriptorSet 0
|
||||
Decorate 190 DescriptorSet 0
|
||||
Decorate 190 Binding 1
|
||||
Decorate 49 DescriptorSet 0
|
||||
Decorate 49 Binding 0
|
||||
Decorate 60 DescriptorSet 0
|
||||
Decorate 73 DescriptorSet 0
|
||||
Decorate 83 DescriptorSet 0
|
||||
Decorate 94 DescriptorSet 0
|
||||
Decorate 105 DescriptorSet 0
|
||||
Decorate 117 DescriptorSet 0
|
||||
Decorate 128 DescriptorSet 0
|
||||
Decorate 138 DescriptorSet 0
|
||||
Decorate 151 DescriptorSet 0
|
||||
Decorate 160 DescriptorSet 0
|
||||
Decorate 169 DescriptorSet 0
|
||||
Decorate 188 Location 0
|
||||
Decorate 192 BuiltIn FragDepth
|
||||
Decorate 195 DescriptorSet 0
|
||||
Decorate 196 DescriptorSet 0
|
||||
Decorate 197 DescriptorSet 0
|
||||
Decorate 197 Binding 1
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 1
|
||||
7: TypeStruct 6(int) 6(int) 6(int) 6(int) 6(int) 6(int) 6(int) 6(int) 6(int) 6(int) 6(int) 6(int)
|
||||
8: TypePointer Function 7(struct)
|
||||
10: 6(int) Constant 1
|
||||
11: TypePointer Function 6(int)
|
||||
13: 6(int) Constant 2
|
||||
15: 6(int) Constant 3
|
||||
17: 6(int) Constant 4
|
||||
19: 6(int) Constant 5
|
||||
21: 6(int) Constant 6
|
||||
23: 6(int) Constant 0
|
||||
25: 6(int) Constant 7
|
||||
27: 6(int) Constant 8
|
||||
29: 6(int) Constant 9
|
||||
31: 6(int) Constant 10
|
||||
33: 6(int) Constant 11
|
||||
35: TypeFloat 32
|
||||
36: TypeVector 35(float) 4
|
||||
37: TypePointer Function 36(fvec4)
|
||||
39: TypeImage 35(float) 1D sampled format:Unknown
|
||||
40: TypePointer UniformConstant 39
|
||||
41: 40(ptr) Variable UniformConstant
|
||||
43: TypeSampler
|
||||
6: TypeFloat 32
|
||||
7: TypeVector 6(float) 4
|
||||
8: TypeStruct 7(fvec4) 6(float)
|
||||
9: TypeFunction 8(struct)
|
||||
12: TypeInt 32 1
|
||||
13: TypeStruct 12(int) 12(int) 12(int) 12(int) 12(int) 12(int) 12(int) 12(int) 12(int) 12(int) 12(int) 12(int)
|
||||
14: TypePointer Function 13(struct)
|
||||
16: 12(int) Constant 1
|
||||
17: TypePointer Function 12(int)
|
||||
19: 12(int) Constant 2
|
||||
21: 12(int) Constant 3
|
||||
23: 12(int) Constant 4
|
||||
25: 12(int) Constant 5
|
||||
27: 12(int) Constant 6
|
||||
29: 12(int) Constant 0
|
||||
31: 12(int) Constant 7
|
||||
33: 12(int) Constant 8
|
||||
35: 12(int) Constant 9
|
||||
37: 12(int) Constant 10
|
||||
39: 12(int) Constant 11
|
||||
41: TypePointer Function 7(fvec4)
|
||||
43: TypeImage 6(float) 1D sampled format:Unknown
|
||||
44: TypePointer UniformConstant 43
|
||||
45: 44(ptr) Variable UniformConstant
|
||||
47: TypeSampledImage 39
|
||||
49: 35(float) Constant 1036831949
|
||||
51: TypeVector 6(int) 4
|
||||
52: TypePointer Function 51(ivec4)
|
||||
54: TypeImage 6(int) 1D sampled format:Unknown
|
||||
55: TypePointer UniformConstant 54
|
||||
56: 55(ptr) Variable UniformConstant
|
||||
59: TypeSampledImage 54
|
||||
61: 35(float) Constant 1045220557
|
||||
63: TypeInt 32 0
|
||||
64: TypeVector 63(int) 4
|
||||
65: TypePointer Function 64(ivec4)
|
||||
67: TypeImage 63(int) 1D sampled format:Unknown
|
||||
68: TypePointer UniformConstant 67
|
||||
69: 68(ptr) Variable UniformConstant
|
||||
72: TypeSampledImage 67
|
||||
74: 35(float) Constant 1050253722
|
||||
77: TypeImage 35(float) 2D sampled format:Unknown
|
||||
78: TypePointer UniformConstant 77
|
||||
79: 78(ptr) Variable UniformConstant
|
||||
82: TypeSampledImage 77
|
||||
84: TypeVector 35(float) 2
|
||||
85: 84(fvec2) ConstantComposite 49 61
|
||||
88: TypeImage 6(int) 2D sampled format:Unknown
|
||||
89: TypePointer UniformConstant 88
|
||||
90: 89(ptr) Variable UniformConstant
|
||||
93: TypeSampledImage 88
|
||||
95: 35(float) Constant 1053609165
|
||||
96: 84(fvec2) ConstantComposite 74 95
|
||||
99: TypeImage 63(int) 2D sampled format:Unknown
|
||||
100: TypePointer UniformConstant 99
|
||||
101: 100(ptr) Variable UniformConstant
|
||||
104: TypeSampledImage 99
|
||||
106: 35(float) Constant 1056964608
|
||||
107: 35(float) Constant 1058642330
|
||||
108: 84(fvec2) ConstantComposite 106 107
|
||||
111: TypeImage 35(float) 3D sampled format:Unknown
|
||||
112: TypePointer UniformConstant 111
|
||||
113: 112(ptr) Variable UniformConstant
|
||||
116: TypeSampledImage 111
|
||||
118: TypeVector 35(float) 3
|
||||
119: 118(fvec3) ConstantComposite 49 61 74
|
||||
122: TypeImage 6(int) 3D sampled format:Unknown
|
||||
123: TypePointer UniformConstant 122
|
||||
124: 123(ptr) Variable UniformConstant
|
||||
127: TypeSampledImage 122
|
||||
129: 118(fvec3) ConstantComposite 95 106 107
|
||||
132: TypeImage 63(int) 3D sampled format:Unknown
|
||||
133: TypePointer UniformConstant 132
|
||||
134: 133(ptr) Variable UniformConstant
|
||||
137: TypeSampledImage 132
|
||||
139: 35(float) Constant 1060320051
|
||||
140: 35(float) Constant 1061997773
|
||||
141: 35(float) Constant 1063675494
|
||||
142: 118(fvec3) ConstantComposite 139 140 141
|
||||
145: TypeImage 35(float) Cube sampled format:Unknown
|
||||
146: TypePointer UniformConstant 145
|
||||
147: 146(ptr) Variable UniformConstant
|
||||
150: TypeSampledImage 145
|
||||
154: TypeImage 6(int) Cube sampled format:Unknown
|
||||
155: TypePointer UniformConstant 154
|
||||
156: 155(ptr) Variable UniformConstant
|
||||
159: TypeSampledImage 154
|
||||
163: TypeImage 63(int) Cube sampled format:Unknown
|
||||
164: TypePointer UniformConstant 163
|
||||
165: 164(ptr) Variable UniformConstant
|
||||
168: TypeSampledImage 163
|
||||
171: TypeStruct 36(fvec4) 35(float)
|
||||
172: TypePointer Function 171(struct)
|
||||
174: 35(float) Constant 1065353216
|
||||
175: 36(fvec4) ConstantComposite 174 174 174 174
|
||||
177: TypePointer Function 35(float)
|
||||
179: TypePointer Output 36(fvec4)
|
||||
180: 179(ptr) Variable Output
|
||||
183: TypePointer Output 35(float)
|
||||
184: 183(ptr) Variable Output
|
||||
188: 44(ptr) Variable UniformConstant
|
||||
189: 44(ptr) Variable UniformConstant
|
||||
190: 40(ptr) Variable UniformConstant
|
||||
47: TypeSampler
|
||||
48: TypePointer UniformConstant 47
|
||||
49: 48(ptr) Variable UniformConstant
|
||||
51: TypeSampledImage 43
|
||||
53: 6(float) Constant 1036831949
|
||||
55: TypeVector 12(int) 4
|
||||
56: TypePointer Function 55(ivec4)
|
||||
58: TypeImage 12(int) 1D sampled format:Unknown
|
||||
59: TypePointer UniformConstant 58
|
||||
60: 59(ptr) Variable UniformConstant
|
||||
63: TypeSampledImage 58
|
||||
65: 6(float) Constant 1045220557
|
||||
67: TypeInt 32 0
|
||||
68: TypeVector 67(int) 4
|
||||
69: TypePointer Function 68(ivec4)
|
||||
71: TypeImage 67(int) 1D sampled format:Unknown
|
||||
72: TypePointer UniformConstant 71
|
||||
73: 72(ptr) Variable UniformConstant
|
||||
76: TypeSampledImage 71
|
||||
78: 6(float) Constant 1050253722
|
||||
81: TypeImage 6(float) 2D sampled format:Unknown
|
||||
82: TypePointer UniformConstant 81
|
||||
83: 82(ptr) Variable UniformConstant
|
||||
86: TypeSampledImage 81
|
||||
88: TypeVector 6(float) 2
|
||||
89: 88(fvec2) ConstantComposite 53 65
|
||||
92: TypeImage 12(int) 2D sampled format:Unknown
|
||||
93: TypePointer UniformConstant 92
|
||||
94: 93(ptr) Variable UniformConstant
|
||||
97: TypeSampledImage 92
|
||||
99: 6(float) Constant 1053609165
|
||||
100: 88(fvec2) ConstantComposite 78 99
|
||||
103: TypeImage 67(int) 2D sampled format:Unknown
|
||||
104: TypePointer UniformConstant 103
|
||||
105: 104(ptr) Variable UniformConstant
|
||||
108: TypeSampledImage 103
|
||||
110: 6(float) Constant 1056964608
|
||||
111: 6(float) Constant 1058642330
|
||||
112: 88(fvec2) ConstantComposite 110 111
|
||||
115: TypeImage 6(float) 3D sampled format:Unknown
|
||||
116: TypePointer UniformConstant 115
|
||||
117: 116(ptr) Variable UniformConstant
|
||||
120: TypeSampledImage 115
|
||||
122: TypeVector 6(float) 3
|
||||
123: 122(fvec3) ConstantComposite 53 65 78
|
||||
126: TypeImage 12(int) 3D sampled format:Unknown
|
||||
127: TypePointer UniformConstant 126
|
||||
128: 127(ptr) Variable UniformConstant
|
||||
131: TypeSampledImage 126
|
||||
133: 122(fvec3) ConstantComposite 99 110 111
|
||||
136: TypeImage 67(int) 3D sampled format:Unknown
|
||||
137: TypePointer UniformConstant 136
|
||||
138: 137(ptr) Variable UniformConstant
|
||||
141: TypeSampledImage 136
|
||||
143: 6(float) Constant 1060320051
|
||||
144: 6(float) Constant 1061997773
|
||||
145: 6(float) Constant 1063675494
|
||||
146: 122(fvec3) ConstantComposite 143 144 145
|
||||
149: TypeImage 6(float) Cube sampled format:Unknown
|
||||
150: TypePointer UniformConstant 149
|
||||
151: 150(ptr) Variable UniformConstant
|
||||
154: TypeSampledImage 149
|
||||
158: TypeImage 12(int) Cube sampled format:Unknown
|
||||
159: TypePointer UniformConstant 158
|
||||
160: 159(ptr) Variable UniformConstant
|
||||
163: TypeSampledImage 158
|
||||
167: TypeImage 67(int) Cube sampled format:Unknown
|
||||
168: TypePointer UniformConstant 167
|
||||
169: 168(ptr) Variable UniformConstant
|
||||
172: TypeSampledImage 167
|
||||
175: TypePointer Function 8(struct)
|
||||
177: 6(float) Constant 1065353216
|
||||
178: 7(fvec4) ConstantComposite 177 177 177 177
|
||||
180: TypePointer Function 6(float)
|
||||
187: TypePointer Output 7(fvec4)
|
||||
188: 187(ptr) Variable Output
|
||||
191: TypePointer Output 6(float)
|
||||
192: 191(ptr) Variable Output
|
||||
195: 48(ptr) Variable UniformConstant
|
||||
196: 48(ptr) Variable UniformConstant
|
||||
197: 44(ptr) Variable UniformConstant
|
||||
4: 2 Function None 3
|
||||
5: Label
|
||||
9: 8(ptr) Variable Function
|
||||
38: 37(ptr) Variable Function
|
||||
53: 52(ptr) Variable Function
|
||||
66: 65(ptr) Variable Function
|
||||
76: 37(ptr) Variable Function
|
||||
87: 52(ptr) Variable Function
|
||||
98: 65(ptr) Variable Function
|
||||
110: 37(ptr) Variable Function
|
||||
121: 52(ptr) Variable Function
|
||||
131: 65(ptr) Variable Function
|
||||
144: 37(ptr) Variable Function
|
||||
153: 52(ptr) Variable Function
|
||||
162: 65(ptr) Variable Function
|
||||
173: 172(ptr) Variable Function
|
||||
12: 11(ptr) AccessChain 9 10
|
||||
Store 12 10
|
||||
14: 11(ptr) AccessChain 9 13
|
||||
Store 14 10
|
||||
16: 11(ptr) AccessChain 9 15
|
||||
Store 16 10
|
||||
18: 11(ptr) AccessChain 9 17
|
||||
Store 18 10
|
||||
20: 11(ptr) AccessChain 9 19
|
||||
Store 20 10
|
||||
22: 11(ptr) AccessChain 9 21
|
||||
Store 22 10
|
||||
24: 11(ptr) AccessChain 9 23
|
||||
Store 24 10
|
||||
26: 11(ptr) AccessChain 9 25
|
||||
Store 26 10
|
||||
28: 11(ptr) AccessChain 9 27
|
||||
Store 28 10
|
||||
30: 11(ptr) AccessChain 9 29
|
||||
Store 30 10
|
||||
32: 11(ptr) AccessChain 9 31
|
||||
Store 32 10
|
||||
34: 11(ptr) AccessChain 9 33
|
||||
Store 34 10
|
||||
42: 39 Load 41
|
||||
46: 43 Load 45
|
||||
48: 47 SampledImage 42 46
|
||||
50: 36(fvec4) ImageSampleImplicitLod 48 49
|
||||
Store 38 50
|
||||
57: 54 Load 56
|
||||
58: 43 Load 45
|
||||
60: 59 SampledImage 57 58
|
||||
62: 51(ivec4) ImageSampleImplicitLod 60 61
|
||||
Store 53 62
|
||||
70: 67 Load 69
|
||||
71: 43 Load 45
|
||||
73: 72 SampledImage 70 71
|
||||
75: 64(ivec4) ImageSampleImplicitLod 73 74
|
||||
Store 66 75
|
||||
80: 77 Load 79
|
||||
81: 43 Load 45
|
||||
83: 82 SampledImage 80 81
|
||||
86: 36(fvec4) ImageSampleImplicitLod 83 85
|
||||
Store 76 86
|
||||
91: 88 Load 90
|
||||
92: 43 Load 45
|
||||
94: 93 SampledImage 91 92
|
||||
97: 51(ivec4) ImageSampleImplicitLod 94 96
|
||||
Store 87 97
|
||||
102: 99 Load 101
|
||||
103: 43 Load 45
|
||||
105: 104 SampledImage 102 103
|
||||
109: 64(ivec4) ImageSampleImplicitLod 105 108
|
||||
Store 98 109
|
||||
114: 111 Load 113
|
||||
115: 43 Load 45
|
||||
117: 116 SampledImage 114 115
|
||||
120: 36(fvec4) ImageSampleImplicitLod 117 119
|
||||
Store 110 120
|
||||
125: 122 Load 124
|
||||
126: 43 Load 45
|
||||
128: 127 SampledImage 125 126
|
||||
130: 51(ivec4) ImageSampleImplicitLod 128 129
|
||||
Store 121 130
|
||||
135: 132 Load 134
|
||||
136: 43 Load 45
|
||||
138: 137 SampledImage 135 136
|
||||
143: 64(ivec4) ImageSampleImplicitLod 138 142
|
||||
Store 131 143
|
||||
148: 145 Load 147
|
||||
149: 43 Load 45
|
||||
151: 150 SampledImage 148 149
|
||||
152: 36(fvec4) ImageSampleImplicitLod 151 119
|
||||
Store 144 152
|
||||
157: 154 Load 156
|
||||
158: 43 Load 45
|
||||
160: 159 SampledImage 157 158
|
||||
161: 51(ivec4) ImageSampleImplicitLod 160 129
|
||||
Store 153 161
|
||||
166: 163 Load 165
|
||||
167: 43 Load 45
|
||||
169: 168 SampledImage 166 167
|
||||
170: 64(ivec4) ImageSampleImplicitLod 169 142
|
||||
Store 162 170
|
||||
176: 37(ptr) AccessChain 173 23
|
||||
Store 176 175
|
||||
178: 177(ptr) AccessChain 173 10
|
||||
Store 178 174
|
||||
181: 37(ptr) AccessChain 173 23
|
||||
182: 36(fvec4) Load 181
|
||||
Store 180 182
|
||||
185: 177(ptr) AccessChain 173 10
|
||||
186: 35(float) Load 185
|
||||
Store 184 186
|
||||
185: 175(ptr) Variable Function
|
||||
186: 8(struct) FunctionCall 10
|
||||
Store 185 186
|
||||
189: 41(ptr) AccessChain 185 29
|
||||
190: 7(fvec4) Load 189
|
||||
Store 188 190
|
||||
193: 180(ptr) AccessChain 185 16
|
||||
194: 6(float) Load 193
|
||||
Store 192 194
|
||||
Return
|
||||
FunctionEnd
|
||||
10: 8(struct) Function None 9
|
||||
11: Label
|
||||
15: 14(ptr) Variable Function
|
||||
42: 41(ptr) Variable Function
|
||||
57: 56(ptr) Variable Function
|
||||
70: 69(ptr) Variable Function
|
||||
80: 41(ptr) Variable Function
|
||||
91: 56(ptr) Variable Function
|
||||
102: 69(ptr) Variable Function
|
||||
114: 41(ptr) Variable Function
|
||||
125: 56(ptr) Variable Function
|
||||
135: 69(ptr) Variable Function
|
||||
148: 41(ptr) Variable Function
|
||||
157: 56(ptr) Variable Function
|
||||
166: 69(ptr) Variable Function
|
||||
176: 175(ptr) Variable Function
|
||||
18: 17(ptr) AccessChain 15 16
|
||||
Store 18 16
|
||||
20: 17(ptr) AccessChain 15 19
|
||||
Store 20 16
|
||||
22: 17(ptr) AccessChain 15 21
|
||||
Store 22 16
|
||||
24: 17(ptr) AccessChain 15 23
|
||||
Store 24 16
|
||||
26: 17(ptr) AccessChain 15 25
|
||||
Store 26 16
|
||||
28: 17(ptr) AccessChain 15 27
|
||||
Store 28 16
|
||||
30: 17(ptr) AccessChain 15 29
|
||||
Store 30 16
|
||||
32: 17(ptr) AccessChain 15 31
|
||||
Store 32 16
|
||||
34: 17(ptr) AccessChain 15 33
|
||||
Store 34 16
|
||||
36: 17(ptr) AccessChain 15 35
|
||||
Store 36 16
|
||||
38: 17(ptr) AccessChain 15 37
|
||||
Store 38 16
|
||||
40: 17(ptr) AccessChain 15 39
|
||||
Store 40 16
|
||||
46: 43 Load 45
|
||||
50: 47 Load 49
|
||||
52: 51 SampledImage 46 50
|
||||
54: 7(fvec4) ImageSampleImplicitLod 52 53
|
||||
Store 42 54
|
||||
61: 58 Load 60
|
||||
62: 47 Load 49
|
||||
64: 63 SampledImage 61 62
|
||||
66: 55(ivec4) ImageSampleImplicitLod 64 65
|
||||
Store 57 66
|
||||
74: 71 Load 73
|
||||
75: 47 Load 49
|
||||
77: 76 SampledImage 74 75
|
||||
79: 68(ivec4) ImageSampleImplicitLod 77 78
|
||||
Store 70 79
|
||||
84: 81 Load 83
|
||||
85: 47 Load 49
|
||||
87: 86 SampledImage 84 85
|
||||
90: 7(fvec4) ImageSampleImplicitLod 87 89
|
||||
Store 80 90
|
||||
95: 92 Load 94
|
||||
96: 47 Load 49
|
||||
98: 97 SampledImage 95 96
|
||||
101: 55(ivec4) ImageSampleImplicitLod 98 100
|
||||
Store 91 101
|
||||
106: 103 Load 105
|
||||
107: 47 Load 49
|
||||
109: 108 SampledImage 106 107
|
||||
113: 68(ivec4) ImageSampleImplicitLod 109 112
|
||||
Store 102 113
|
||||
118: 115 Load 117
|
||||
119: 47 Load 49
|
||||
121: 120 SampledImage 118 119
|
||||
124: 7(fvec4) ImageSampleImplicitLod 121 123
|
||||
Store 114 124
|
||||
129: 126 Load 128
|
||||
130: 47 Load 49
|
||||
132: 131 SampledImage 129 130
|
||||
134: 55(ivec4) ImageSampleImplicitLod 132 133
|
||||
Store 125 134
|
||||
139: 136 Load 138
|
||||
140: 47 Load 49
|
||||
142: 141 SampledImage 139 140
|
||||
147: 68(ivec4) ImageSampleImplicitLod 142 146
|
||||
Store 135 147
|
||||
152: 149 Load 151
|
||||
153: 47 Load 49
|
||||
155: 154 SampledImage 152 153
|
||||
156: 7(fvec4) ImageSampleImplicitLod 155 123
|
||||
Store 148 156
|
||||
161: 158 Load 160
|
||||
162: 47 Load 49
|
||||
164: 163 SampledImage 161 162
|
||||
165: 55(ivec4) ImageSampleImplicitLod 164 133
|
||||
Store 157 165
|
||||
170: 167 Load 169
|
||||
171: 47 Load 49
|
||||
173: 172 SampledImage 170 171
|
||||
174: 68(ivec4) ImageSampleImplicitLod 173 146
|
||||
Store 166 174
|
||||
179: 41(ptr) AccessChain 176 29
|
||||
Store 179 178
|
||||
181: 180(ptr) AccessChain 176 16
|
||||
Store 181 177
|
||||
182: 8(struct) Load 176
|
||||
ReturnValue 182
|
||||
FunctionEnd
|
||||
|
||||
Reference in New Issue
Block a user