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