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 210Validation failed 211// Module Version 10000 212// Generated by (magic number): 80007 213// Id's are bound by 66 214 215 Capability Shader 216 1: ExtInstImport "GLSL.std.450" 217 MemoryModel Logical GLSL450 218 EntryPoint Fragment 4 "main" 30 35 41 46 53 60 219 ExecutionMode 4 OriginUpperLeft 220 Source HLSL 500 221 Name 4 "main" 222 Name 10 "S" 223 MemberName 10(S) 0 "f" 224 MemberName 10(S) 1 "pos" 225 Name 18 "@main(i1;struct-S-f1-vf41[3];" 226 Name 16 "i" 227 Name 17 "input" 228 Name 20 "a" 229 Name 28 "i" 230 Name 30 "i" 231 Name 32 "input" 232 Name 35 "input[0].f" 233 Name 41 "input.pos" 234 Name 46 "input[1].f" 235 Name 53 "input[2].f" 236 Name 60 "@entryPointOutput" 237 Name 61 "param" 238 Name 63 "param" 239 Decorate 30(i) Flat 240 Decorate 30(i) Location 0 241 Decorate 35(input[0].f) Location 1 242 Decorate 41(input.pos) BuiltIn FragCoord 243 Decorate 46(input[1].f) Location 2 244 Decorate 53(input[2].f) Location 3 245 Decorate 60(@entryPointOutput) Location 0 246 2: TypeVoid 247 3: TypeFunction 2 248 6: TypeInt 32 1 249 7: TypePointer Function 6(int) 250 8: TypeFloat 32 251 9: TypeVector 8(float) 4 252 10(S): TypeStruct 8(float) 9(fvec4) 253 11: TypeInt 32 0 254 12: 11(int) Constant 3 255 13: TypeArray 10(S) 12 256 14: TypePointer Function 13 257 15: TypeFunction 9(fvec4) 7(ptr) 14(ptr) 258 22: 6(int) Constant 1 259 23: TypePointer Function 9(fvec4) 260 29: TypePointer Input 6(int) 261 30(i): 29(ptr) Variable Input 262 33: 6(int) Constant 0 263 34: TypePointer Input 8(float) 264 35(input[0].f): 34(ptr) Variable Input 265 37: TypePointer Function 8(float) 266 39: TypeArray 9(fvec4) 12 267 40: TypePointer Input 39 268 41(input.pos): 40(ptr) Variable Input 269 42: TypePointer Input 9(fvec4) 270 46(input[1].f): 34(ptr) Variable Input 271 52: 6(int) Constant 2 272 53(input[2].f): 34(ptr) Variable Input 273 59: TypePointer Output 9(fvec4) 27460(@entryPointOutput): 59(ptr) Variable Output 275 4(main): 2 Function None 3 276 5: Label 277 28(i): 7(ptr) Variable Function 278 32(input): 14(ptr) Variable Function 279 61(param): 7(ptr) Variable Function 280 63(param): 14(ptr) Variable Function 281 31: 6(int) Load 30(i) 282 Store 28(i) 31 283 36: 8(float) Load 35(input[0].f) 284 38: 37(ptr) AccessChain 32(input) 33 33 285 Store 38 36 286 43: 42(ptr) AccessChain 41(input.pos) 33 287 44: 9(fvec4) Load 43 288 45: 23(ptr) AccessChain 32(input) 33 22 289 Store 45 44 290 47: 8(float) Load 46(input[1].f) 291 48: 37(ptr) AccessChain 32(input) 22 33 292 Store 48 47 293 49: 42(ptr) AccessChain 41(input.pos) 22 294 50: 9(fvec4) Load 49 295 51: 23(ptr) AccessChain 32(input) 22 22 296 Store 51 50 297 54: 8(float) Load 53(input[2].f) 298 55: 37(ptr) AccessChain 32(input) 52 33 299 Store 55 54 300 56: 42(ptr) AccessChain 41(input.pos) 52 301 57: 9(fvec4) Load 56 302 58: 23(ptr) AccessChain 32(input) 52 22 303 Store 58 57 304 62: 6(int) Load 28(i) 305 Store 61(param) 62 306 64: 13 Load 32(input) 307 Store 63(param) 64 308 65: 9(fvec4) FunctionCall 18(@main(i1;struct-S-f1-vf41[3];) 61(param) 63(param) 309 Store 60(@entryPointOutput) 65 310 Return 311 FunctionEnd 31218(@main(i1;struct-S-f1-vf41[3];): 9(fvec4) Function None 15 313 16(i): 7(ptr) FunctionParameter 314 17(input): 14(ptr) FunctionParameter 315 19: Label 316 20(a): 14(ptr) Variable Function 317 21: 13 Load 20(a) 318 Store 17(input) 21 319 24: 23(ptr) AccessChain 20(a) 22 22 320 25: 9(fvec4) Load 24 321 ReturnValue 25 322 FunctionEnd 323