1hlsl.struct.split.assign.frag 2Shader version: 500 3gl_FragCoord origin is upper left 40:? Sequence 50:7 Function Definition: @main(i1;struct-S-f1-vf41[3]; ( temp 4-component vector of float) 60:7 Function Parameters: 70:7 'i' ( in int) 80:7 'input' ( in 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 90:? Sequence 100:9 move second child to first child ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 110:9 'input' ( in 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 120:9 'a' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 130:11 Branch: Return with expression 140:11 pos: direct index for structure ( temp 4-component vector of float) 150:11 direct index ( temp structure{ temp float f, temp 4-component vector of float pos}) 160:11 'a' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 170:11 Constant: 180:11 1 (const int) 190:11 Constant: 200:11 1 (const int) 210:7 Function Definition: main( ( temp void) 220:7 Function Parameters: 230:? Sequence 240:7 move second child to first child ( temp int) 250:? 'i' ( temp int) 260:? 'i' (layout( location=0) flat in int) 270:7 Sequence 280:7 move second child to first child ( temp float) 290:7 f: direct index for structure ( temp float) 300:7 direct index ( temp structure{ temp float f, temp 4-component vector of float pos}) 310:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 320:7 Constant: 330:7 0 (const int) 340:7 Constant: 350:7 0 (const int) 360:? 'input[0].f' (layout( location=1) in float) 370:7 move second child to first child ( temp 4-component vector of float) 380:7 pos: direct index for structure ( temp 4-component vector of float) 390:7 direct index ( temp structure{ temp float f, temp 4-component vector of float pos}) 400:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 410:7 Constant: 420:7 0 (const int) 430:7 Constant: 440:7 1 (const int) 450:7 direct index ( in 4-component vector of float FragCoord) 460:? 'input.pos' ( in 3-element array of 4-component vector of float FragCoord) 470:7 Constant: 480:7 0 (const int) 490:7 move second child to first child ( temp float) 500:7 f: direct index for structure ( temp float) 510:7 direct index ( temp structure{ temp float f, temp 4-component vector of float pos}) 520:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 530:7 Constant: 540:7 1 (const int) 550:7 Constant: 560:7 0 (const int) 570:? 'input[1].f' (layout( location=2) in float) 580:7 move second child to first child ( temp 4-component vector of float) 590:7 pos: direct index for structure ( temp 4-component vector of float) 600:7 direct index ( temp structure{ temp float f, temp 4-component vector of float pos}) 610:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 620:7 Constant: 630:7 1 (const int) 640:7 Constant: 650:7 1 (const int) 660:7 direct index ( in 4-component vector of float FragCoord) 670:? 'input.pos' ( in 3-element array of 4-component vector of float FragCoord) 680:7 Constant: 690:7 1 (const int) 700:7 move second child to first child ( temp float) 710:7 f: direct index for structure ( temp float) 720:7 direct index ( temp structure{ temp float f, temp 4-component vector of float pos}) 730:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 740:7 Constant: 750:7 2 (const int) 760:7 Constant: 770:7 0 (const int) 780:? 'input[2].f' (layout( location=3) in float) 790:7 move second child to first child ( temp 4-component vector of float) 800:7 pos: direct index for structure ( temp 4-component vector of float) 810:7 direct index ( temp structure{ temp float f, temp 4-component vector of float pos}) 820:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 830:7 Constant: 840:7 2 (const int) 850:7 Constant: 860:7 1 (const int) 870:7 direct index ( in 4-component vector of float FragCoord) 880:? 'input.pos' ( in 3-element array of 4-component vector of float FragCoord) 890:7 Constant: 900:7 2 (const int) 910:7 move second child to first child ( temp 4-component vector of float) 920:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 930:7 Function Call: @main(i1;struct-S-f1-vf41[3]; ( temp 4-component vector of float) 940:? 'i' ( temp int) 950:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 960:? Linker Objects 970:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 980:? 'i' (layout( location=0) flat in int) 990:? 'input.pos' ( in 3-element array of 4-component vector of float FragCoord) 1000:? 'input[0].f' (layout( location=1) in float) 1010:? 'input[1].f' (layout( location=2) in float) 1020:? 'input[2].f' (layout( location=3) in float) 103 104 105Linked fragment stage: 106 107 108Shader version: 500 109gl_FragCoord origin is upper left 1100:? Sequence 1110:7 Function Definition: @main(i1;struct-S-f1-vf41[3]; ( temp 4-component vector of float) 1120:7 Function Parameters: 1130:7 'i' ( in int) 1140:7 'input' ( in 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 1150:? Sequence 1160:9 move second child to first child ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 1170:9 'input' ( in 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 1180:9 'a' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 1190:11 Branch: Return with expression 1200:11 pos: direct index for structure ( temp 4-component vector of float) 1210:11 direct index ( temp structure{ temp float f, temp 4-component vector of float pos}) 1220:11 'a' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 1230:11 Constant: 1240:11 1 (const int) 1250:11 Constant: 1260:11 1 (const int) 1270:7 Function Definition: main( ( temp void) 1280:7 Function Parameters: 1290:? Sequence 1300:7 move second child to first child ( temp int) 1310:? 'i' ( temp int) 1320:? 'i' (layout( location=0) flat in int) 1330:7 Sequence 1340:7 move second child to first child ( temp float) 1350:7 f: direct index for structure ( temp float) 1360:7 direct index ( temp structure{ temp float f, temp 4-component vector of float pos}) 1370:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 1380:7 Constant: 1390:7 0 (const int) 1400:7 Constant: 1410:7 0 (const int) 1420:? 'input[0].f' (layout( location=1) in float) 1430:7 move second child to first child ( temp 4-component vector of float) 1440:7 pos: direct index for structure ( temp 4-component vector of float) 1450:7 direct index ( temp structure{ temp float f, temp 4-component vector of float pos}) 1460:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 1470:7 Constant: 1480:7 0 (const int) 1490:7 Constant: 1500:7 1 (const int) 1510:7 direct index ( in 4-component vector of float FragCoord) 1520:? 'input.pos' ( in 3-element array of 4-component vector of float FragCoord) 1530:7 Constant: 1540:7 0 (const int) 1550:7 move second child to first child ( temp float) 1560:7 f: direct index for structure ( temp float) 1570:7 direct index ( temp structure{ temp float f, temp 4-component vector of float pos}) 1580:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 1590:7 Constant: 1600:7 1 (const int) 1610:7 Constant: 1620:7 0 (const int) 1630:? 'input[1].f' (layout( location=2) in float) 1640:7 move second child to first child ( temp 4-component vector of float) 1650:7 pos: direct index for structure ( temp 4-component vector of float) 1660:7 direct index ( temp structure{ temp float f, temp 4-component vector of float pos}) 1670:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 1680:7 Constant: 1690:7 1 (const int) 1700:7 Constant: 1710:7 1 (const int) 1720:7 direct index ( in 4-component vector of float FragCoord) 1730:? 'input.pos' ( in 3-element array of 4-component vector of float FragCoord) 1740:7 Constant: 1750:7 1 (const int) 1760:7 move second child to first child ( temp float) 1770:7 f: direct index for structure ( temp float) 1780:7 direct index ( temp structure{ temp float f, temp 4-component vector of float pos}) 1790:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 1800:7 Constant: 1810:7 2 (const int) 1820:7 Constant: 1830:7 0 (const int) 1840:? 'input[2].f' (layout( location=3) in float) 1850:7 move second child to first child ( temp 4-component vector of float) 1860:7 pos: direct index for structure ( temp 4-component vector of float) 1870:7 direct index ( temp structure{ temp float f, temp 4-component vector of float pos}) 1880:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 1890:7 Constant: 1900:7 2 (const int) 1910:7 Constant: 1920:7 1 (const int) 1930:7 direct index ( in 4-component vector of float FragCoord) 1940:? 'input.pos' ( in 3-element array of 4-component vector of float FragCoord) 1950:7 Constant: 1960:7 2 (const int) 1970:7 move second child to first child ( temp 4-component vector of float) 1980:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 1990:7 Function Call: @main(i1;struct-S-f1-vf41[3]; ( temp 4-component vector of float) 2000:? 'i' ( temp int) 2010:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 2020:? Linker Objects 2030:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 2040:? 'i' (layout( location=0) flat in int) 2050:? 'input.pos' ( in 3-element array of 4-component vector of float FragCoord) 2060:? 'input[0].f' (layout( location=1) in float) 2070:? 'input[1].f' (layout( location=2) in float) 2080:? 'input[2].f' (layout( location=3) in float) 209 210// Module Version 10000 211// Generated by (magic number): 80007 212// Id's are bound by 66 213 214 Capability Shader 215 1: ExtInstImport "GLSL.std.450" 216 MemoryModel Logical GLSL450 217 EntryPoint Fragment 4 "main" 30 35 41 46 53 60 218 ExecutionMode 4 OriginUpperLeft 219 Source HLSL 500 220 Name 4 "main" 221 Name 10 "S" 222 MemberName 10(S) 0 "f" 223 MemberName 10(S) 1 "pos" 224 Name 18 "@main(i1;struct-S-f1-vf41[3];" 225 Name 16 "i" 226 Name 17 "input" 227 Name 20 "a" 228 Name 28 "i" 229 Name 30 "i" 230 Name 32 "input" 231 Name 35 "input[0].f" 232 Name 41 "input.pos" 233 Name 46 "input[1].f" 234 Name 53 "input[2].f" 235 Name 60 "@entryPointOutput" 236 Name 61 "param" 237 Name 63 "param" 238 Decorate 30(i) Flat 239 Decorate 30(i) Location 0 240 Decorate 35(input[0].f) Location 1 241 Decorate 41(input.pos) BuiltIn FragCoord 242 Decorate 46(input[1].f) Location 2 243 Decorate 53(input[2].f) Location 3 244 Decorate 60(@entryPointOutput) Location 0 245 2: TypeVoid 246 3: TypeFunction 2 247 6: TypeInt 32 1 248 7: TypePointer Function 6(int) 249 8: TypeFloat 32 250 9: TypeVector 8(float) 4 251 10(S): TypeStruct 8(float) 9(fvec4) 252 11: TypeInt 32 0 253 12: 11(int) Constant 3 254 13: TypeArray 10(S) 12 255 14: TypePointer Function 13 256 15: TypeFunction 9(fvec4) 7(ptr) 14(ptr) 257 22: 6(int) Constant 1 258 23: TypePointer Function 9(fvec4) 259 29: TypePointer Input 6(int) 260 30(i): 29(ptr) Variable Input 261 33: 6(int) Constant 0 262 34: TypePointer Input 8(float) 263 35(input[0].f): 34(ptr) Variable Input 264 37: TypePointer Function 8(float) 265 39: TypeArray 9(fvec4) 12 266 40: TypePointer Input 39 267 41(input.pos): 40(ptr) Variable Input 268 42: TypePointer Input 9(fvec4) 269 46(input[1].f): 34(ptr) Variable Input 270 52: 6(int) Constant 2 271 53(input[2].f): 34(ptr) Variable Input 272 59: TypePointer Output 9(fvec4) 27360(@entryPointOutput): 59(ptr) Variable Output 274 4(main): 2 Function None 3 275 5: Label 276 28(i): 7(ptr) Variable Function 277 32(input): 14(ptr) Variable Function 278 61(param): 7(ptr) Variable Function 279 63(param): 14(ptr) Variable Function 280 31: 6(int) Load 30(i) 281 Store 28(i) 31 282 36: 8(float) Load 35(input[0].f) 283 38: 37(ptr) AccessChain 32(input) 33 33 284 Store 38 36 285 43: 42(ptr) AccessChain 41(input.pos) 33 286 44: 9(fvec4) Load 43 287 45: 23(ptr) AccessChain 32(input) 33 22 288 Store 45 44 289 47: 8(float) Load 46(input[1].f) 290 48: 37(ptr) AccessChain 32(input) 22 33 291 Store 48 47 292 49: 42(ptr) AccessChain 41(input.pos) 22 293 50: 9(fvec4) Load 49 294 51: 23(ptr) AccessChain 32(input) 22 22 295 Store 51 50 296 54: 8(float) Load 53(input[2].f) 297 55: 37(ptr) AccessChain 32(input) 52 33 298 Store 55 54 299 56: 42(ptr) AccessChain 41(input.pos) 52 300 57: 9(fvec4) Load 56 301 58: 23(ptr) AccessChain 32(input) 52 22 302 Store 58 57 303 62: 6(int) Load 28(i) 304 Store 61(param) 62 305 64: 13 Load 32(input) 306 Store 63(param) 64 307 65: 9(fvec4) FunctionCall 18(@main(i1;struct-S-f1-vf41[3];) 61(param) 63(param) 308 Store 60(@entryPointOutput) 65 309 Return 310 FunctionEnd 31118(@main(i1;struct-S-f1-vf41[3];): 9(fvec4) Function None 15 312 16(i): 7(ptr) FunctionParameter 313 17(input): 14(ptr) FunctionParameter 314 19: Label 315 20(a): 14(ptr) Variable Function 316 21: 13 Load 20(a) 317 Store 17(input) 21 318 24: 23(ptr) AccessChain 20(a) 22 22 319 25: 9(fvec4) Load 24 320 ReturnValue 25 321 FunctionEnd 322