1hlsl.specConstant.frag
2Shader version: 500
3gl_FragCoord origin is upper left
40:? Sequence
50:6  Function Definition: @main( ( temp 4-component vector of float)
60:6    Function Parameters:
70:?     Sequence
80:8      Sequence
90:8        move second child to first child ( temp uint)
100:8          'i' ( temp uint)
110:8          Constant:
120:8            0 (const uint)
130:8        Loop with condition tested first
140:8          Loop Condition
150:8          Compare Less Than ( temp bool)
160:8            'i' ( temp uint)
170:8            indirect index ( const uint)
180:8              Constant:
190:8                10 (const uint)
200:8                20 (const uint)
210:8                30 (const uint)
220:8                40 (const uint)
230:8              'index' ( specialization-constant const uint)
240:8                2 (const uint)
250:8          Loop Body
260:9          move second child to first child ( temp 4-component vector of float)
270:9            'r' ( temp 4-component vector of float)
280:9            Construct vec4 ( temp 4-component vector of float)
290:9              Convert uint to float ( temp float)
300:9                'i' ( temp uint)
310:8          Loop Terminal Expression
320:8          Post-Increment ( temp uint)
330:8            'i' ( temp uint)
340:11      add second child into first child ( temp 4-component vector of float)
350:11        'r' ( temp 4-component vector of float)
360:11        Convert uint to float ( temp float)
370:11          add ( specialization-constant const uint)
380:11            'index' ( specialization-constant const uint)
390:11              2 (const uint)
400:11            'index' ( specialization-constant const uint)
410:11              2 (const uint)
420:12      add second child into first child ( temp 4-component vector of float)
430:12        'r' ( temp 4-component vector of float)
440:12        Convert uint to float ( temp float)
450:12          component-wise multiply ( specialization-constant const uint)
460:12            Constant:
470:12              2 (const uint)
480:12            'index' ( specialization-constant const uint)
490:12              2 (const uint)
500:14      Branch: Return with expression
510:14        'r' ( temp 4-component vector of float)
520:6  Function Definition: main( ( temp void)
530:6    Function Parameters:
540:?     Sequence
550:6      move second child to first child ( temp 4-component vector of float)
560:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
570:6        Function Call: @main( ( temp 4-component vector of float)
580:?   Linker Objects
590:?     'index' ( specialization-constant const uint)
600:?       2 (const uint)
610:?     'array' ( const 4-element array of uint)
620:?       10 (const uint)
630:?       20 (const uint)
640:?       30 (const uint)
650:?       40 (const uint)
660:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
67
68
69Linked fragment stage:
70
71
72Shader version: 500
73gl_FragCoord origin is upper left
740:? Sequence
750:6  Function Definition: @main( ( temp 4-component vector of float)
760:6    Function Parameters:
770:?     Sequence
780:8      Sequence
790:8        move second child to first child ( temp uint)
800:8          'i' ( temp uint)
810:8          Constant:
820:8            0 (const uint)
830:8        Loop with condition tested first
840:8          Loop Condition
850:8          Compare Less Than ( temp bool)
860:8            'i' ( temp uint)
870:8            indirect index ( const uint)
880:8              Constant:
890:8                10 (const uint)
900:8                20 (const uint)
910:8                30 (const uint)
920:8                40 (const uint)
930:8              'index' ( specialization-constant const uint)
940:8                2 (const uint)
950:8          Loop Body
960:9          move second child to first child ( temp 4-component vector of float)
970:9            'r' ( temp 4-component vector of float)
980:9            Construct vec4 ( temp 4-component vector of float)
990:9              Convert uint to float ( temp float)
1000:9                'i' ( temp uint)
1010:8          Loop Terminal Expression
1020:8          Post-Increment ( temp uint)
1030:8            'i' ( temp uint)
1040:11      add second child into first child ( temp 4-component vector of float)
1050:11        'r' ( temp 4-component vector of float)
1060:11        Convert uint to float ( temp float)
1070:11          add ( specialization-constant const uint)
1080:11            'index' ( specialization-constant const uint)
1090:11              2 (const uint)
1100:11            'index' ( specialization-constant const uint)
1110:11              2 (const uint)
1120:12      add second child into first child ( temp 4-component vector of float)
1130:12        'r' ( temp 4-component vector of float)
1140:12        Convert uint to float ( temp float)
1150:12          component-wise multiply ( specialization-constant const uint)
1160:12            Constant:
1170:12              2 (const uint)
1180:12            'index' ( specialization-constant const uint)
1190:12              2 (const uint)
1200:14      Branch: Return with expression
1210:14        'r' ( temp 4-component vector of float)
1220:6  Function Definition: main( ( temp void)
1230:6    Function Parameters:
1240:?     Sequence
1250:6      move second child to first child ( temp 4-component vector of float)
1260:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
1270:6        Function Call: @main( ( temp 4-component vector of float)
1280:?   Linker Objects
1290:?     'index' ( specialization-constant const uint)
1300:?       2 (const uint)
1310:?     'array' ( const 4-element array of uint)
1320:?       10 (const uint)
1330:?       20 (const uint)
1340:?       30 (const uint)
1350:?       40 (const uint)
1360:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
137
138// Module Version 10000
139// Generated by (magic number): 8000a
140// Id's are bound by 61
141
142                              Capability Shader
143               1:             ExtInstImport  "GLSL.std.450"
144                              MemoryModel Logical GLSL450
145                              EntryPoint Fragment 4  "main" 59
146                              ExecutionMode 4 OriginUpperLeft
147                              Source HLSL 500
148                              Name 4  "main"
149                              Name 9  "@main("
150                              Name 13  "i"
151                              Name 28  "index"
152                              Name 30  "indexable"
153                              Name 36  "r"
154                              Name 59  "@entryPointOutput"
155                              Decorate 28(index) SpecId 0
156                              Decorate 59(@entryPointOutput) Location 0
157               2:             TypeVoid
158               3:             TypeFunction 2
159               6:             TypeFloat 32
160               7:             TypeVector 6(float) 4
161               8:             TypeFunction 7(fvec4)
162              11:             TypeInt 32 0
163              12:             TypePointer Function 11(int)
164              14:     11(int) Constant 0
165              21:     11(int) Constant 4
166              22:             TypeArray 11(int) 21
167              23:     11(int) Constant 10
168              24:     11(int) Constant 20
169              25:     11(int) Constant 30
170              26:     11(int) Constant 40
171              27:          22 ConstantComposite 23 24 25 26
172       28(index):     11(int) SpecConstant 2
173              29:             TypePointer Function 22
174              33:             TypeBool
175              35:             TypePointer Function 7(fvec4)
176              41:             TypeInt 32 1
177              42:     41(int) Constant 1
178              44:     11(int) SpecConstantOp 128 28(index) 28(index)
179              49:     11(int) Constant 2
180              50:     11(int) SpecConstantOp 132 49 28(index)
181              58:             TypePointer Output 7(fvec4)
18259(@entryPointOutput):     58(ptr) Variable Output
183         4(main):           2 Function None 3
184               5:             Label
185              60:    7(fvec4) FunctionCall 9(@main()
186                              Store 59(@entryPointOutput) 60
187                              Return
188                              FunctionEnd
189       9(@main():    7(fvec4) Function None 8
190              10:             Label
191           13(i):     12(ptr) Variable Function
192   30(indexable):     29(ptr) Variable Function
193           36(r):     35(ptr) Variable Function
194                              Store 13(i) 14
195                              Branch 15
196              15:             Label
197                              LoopMerge 17 18 None
198                              Branch 19
199              19:             Label
200              20:     11(int) Load 13(i)
201                              Store 30(indexable) 27
202              31:     12(ptr) AccessChain 30(indexable) 28(index)
203              32:     11(int) Load 31
204              34:    33(bool) ULessThan 20 32
205                              BranchConditional 34 16 17
206              16:               Label
207              37:     11(int)   Load 13(i)
208              38:    6(float)   ConvertUToF 37
209              39:    7(fvec4)   CompositeConstruct 38 38 38 38
210                                Store 36(r) 39
211                                Branch 18
212              18:               Label
213              40:     11(int)   Load 13(i)
214              43:     11(int)   IAdd 40 42
215                                Store 13(i) 43
216                                Branch 15
217              17:             Label
218              45:    6(float) ConvertUToF 44
219              46:    7(fvec4) Load 36(r)
220              47:    7(fvec4) CompositeConstruct 45 45 45 45
221              48:    7(fvec4) FAdd 46 47
222                              Store 36(r) 48
223              51:    6(float) ConvertUToF 50
224              52:    7(fvec4) Load 36(r)
225              53:    7(fvec4) CompositeConstruct 51 51 51 51
226              54:    7(fvec4) FAdd 52 53
227                              Store 36(r) 54
228              55:    7(fvec4) Load 36(r)
229                              ReturnValue 55
230                              FunctionEnd
231