hlsl.struct.split.assign.frag Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:7 Function Definition: @main(i1;struct-S-f1-vf41[3]; ( temp 4-component vector of float) 0:7 Function Parameters: 0:7 'i' ( in int) 0:7 'input' ( in 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 0:? Sequence 0:9 move second child to first child ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 0:9 'input' ( in 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 0:9 'a' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 0:11 Branch: Return with expression 0:11 Constant: 0:11 1.000000 0:11 1.000000 0:11 1.000000 0:7 Function Definition: main( ( temp void) 0:7 Function Parameters: 0:? Sequence 0:7 move second child to first child ( temp int) 0:? 'i' ( temp int) 0:? 'i' (layout( location=0) flat in int) 0:7 Sequence 0:7 move second child to first child ( temp float) 0:7 f: direct index for structure ( temp float) 0:7 direct index ( temp structure{ temp float f, temp 4-component vector of float pos}) 0:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 0:7 Constant: 0:7 0 (const int) 0:7 Constant: 0:7 0 (const int) 0:? 'input[0].f' (layout( location=1) in float) 0:7 move second child to first child ( temp 4-component vector of float) 0:7 pos: direct index for structure ( temp 4-component vector of float) 0:7 direct index ( temp structure{ temp float f, temp 4-component vector of float pos}) 0:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 0:7 Constant: 0:7 0 (const int) 0:7 Constant: 0:7 1 (const int) 0:7 direct index ( in 4-component vector of float FragCoord) 0:? 'input.pos' ( in 3-element array of 4-component vector of float FragCoord) 0:7 Constant: 0:7 0 (const int) 0:7 move second child to first child ( temp float) 0:7 f: direct index for structure ( temp float) 0:7 direct index ( temp structure{ temp float f, temp 4-component vector of float pos}) 0:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 0:7 Constant: 0:7 1 (const int) 0:7 Constant: 0:7 0 (const int) 0:? 'input[1].f' (layout( location=2) in float) 0:7 move second child to first child ( temp 4-component vector of float) 0:7 pos: direct index for structure ( temp 4-component vector of float) 0:7 direct index ( temp structure{ temp float f, temp 4-component vector of float pos}) 0:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 0:7 Constant: 0:7 1 (const int) 0:7 Constant: 0:7 1 (const int) 0:7 direct index ( in 4-component vector of float FragCoord) 0:? 'input.pos' ( in 3-element array of 4-component vector of float FragCoord) 0:7 Constant: 0:7 1 (const int) 0:7 move second child to first child ( temp float) 0:7 f: direct index for structure ( temp float) 0:7 direct index ( temp structure{ temp float f, temp 4-component vector of float pos}) 0:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 0:7 Constant: 0:7 2 (const int) 0:7 Constant: 0:7 0 (const int) 0:? 'input[2].f' (layout( location=3) in float) 0:7 move second child to first child ( temp 4-component vector of float) 0:7 pos: direct index for structure ( temp 4-component vector of float) 0:7 direct index ( temp structure{ temp float f, temp 4-component vector of float pos}) 0:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 0:7 Constant: 0:7 2 (const int) 0:7 Constant: 0:7 1 (const int) 0:7 direct index ( in 4-component vector of float FragCoord) 0:? 'input.pos' ( in 3-element array of 4-component vector of float FragCoord) 0:7 Constant: 0:7 2 (const int) 0:7 move second child to first child ( temp 4-component vector of float) 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 0:7 Function Call: @main(i1;struct-S-f1-vf41[3]; ( temp 4-component vector of float) 0:? 'i' ( temp int) 0:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 0:? Linker Objects 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 0:? 'i' (layout( location=0) flat in int) 0:? 'input.pos' ( in 3-element array of 4-component vector of float FragCoord) 0:? 'input[0].f' (layout( location=1) in float) 0:? 'input[1].f' (layout( location=2) in float) 0:? 'input[2].f' (layout( location=3) in float) Linked fragment stage: Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:7 Function Definition: @main(i1;struct-S-f1-vf41[3]; ( temp 4-component vector of float) 0:7 Function Parameters: 0:7 'i' ( in int) 0:7 'input' ( in 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 0:? Sequence 0:9 move second child to first child ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 0:9 'input' ( in 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 0:9 'a' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 0:11 Branch: Return with expression 0:11 Constant: 0:11 1.000000 0:11 1.000000 0:11 1.000000 0:7 Function Definition: main( ( temp void) 0:7 Function Parameters: 0:? Sequence 0:7 move second child to first child ( temp int) 0:? 'i' ( temp int) 0:? 'i' (layout( location=0) flat in int) 0:7 Sequence 0:7 move second child to first child ( temp float) 0:7 f: direct index for structure ( temp float) 0:7 direct index ( temp structure{ temp float f, temp 4-component vector of float pos}) 0:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 0:7 Constant: 0:7 0 (const int) 0:7 Constant: 0:7 0 (const int) 0:? 'input[0].f' (layout( location=1) in float) 0:7 move second child to first child ( temp 4-component vector of float) 0:7 pos: direct index for structure ( temp 4-component vector of float) 0:7 direct index ( temp structure{ temp float f, temp 4-component vector of float pos}) 0:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 0:7 Constant: 0:7 0 (const int) 0:7 Constant: 0:7 1 (const int) 0:7 direct index ( in 4-component vector of float FragCoord) 0:? 'input.pos' ( in 3-element array of 4-component vector of float FragCoord) 0:7 Constant: 0:7 0 (const int) 0:7 move second child to first child ( temp float) 0:7 f: direct index for structure ( temp float) 0:7 direct index ( temp structure{ temp float f, temp 4-component vector of float pos}) 0:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 0:7 Constant: 0:7 1 (const int) 0:7 Constant: 0:7 0 (const int) 0:? 'input[1].f' (layout( location=2) in float) 0:7 move second child to first child ( temp 4-component vector of float) 0:7 pos: direct index for structure ( temp 4-component vector of float) 0:7 direct index ( temp structure{ temp float f, temp 4-component vector of float pos}) 0:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 0:7 Constant: 0:7 1 (const int) 0:7 Constant: 0:7 1 (const int) 0:7 direct index ( in 4-component vector of float FragCoord) 0:? 'input.pos' ( in 3-element array of 4-component vector of float FragCoord) 0:7 Constant: 0:7 1 (const int) 0:7 move second child to first child ( temp float) 0:7 f: direct index for structure ( temp float) 0:7 direct index ( temp structure{ temp float f, temp 4-component vector of float pos}) 0:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 0:7 Constant: 0:7 2 (const int) 0:7 Constant: 0:7 0 (const int) 0:? 'input[2].f' (layout( location=3) in float) 0:7 move second child to first child ( temp 4-component vector of float) 0:7 pos: direct index for structure ( temp 4-component vector of float) 0:7 direct index ( temp structure{ temp float f, temp 4-component vector of float pos}) 0:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 0:7 Constant: 0:7 2 (const int) 0:7 Constant: 0:7 1 (const int) 0:7 direct index ( in 4-component vector of float FragCoord) 0:? 'input.pos' ( in 3-element array of 4-component vector of float FragCoord) 0:7 Constant: 0:7 2 (const int) 0:7 move second child to first child ( temp 4-component vector of float) 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 0:7 Function Call: @main(i1;struct-S-f1-vf41[3]; ( temp 4-component vector of float) 0:? 'i' ( temp int) 0:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 0:? Linker Objects 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 0:? 'i' (layout( location=0) flat in int) 0:? 'input.pos' ( in 3-element array of 4-component vector of float FragCoord) 0:? 'input[0].f' (layout( location=1) in float) 0:? 'input[1].f' (layout( location=2) in float) 0:? 'input[2].f' (layout( location=3) in float) // Module Version 10000 // Generated by (magic number): 80001 // Id's are bound by 69 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 32 37 44 49 56 63 ExecutionMode 4 OriginUpperLeft Source HLSL 500 Name 4 "main" Name 10 "S" MemberName 10(S) 0 "f" MemberName 10(S) 1 "pos" Name 18 "@main(i1;struct-S-f1-vf41[3];" Name 16 "i" Name 17 "input" Name 20 "a" Name 30 "i" Name 32 "i" Name 34 "input" Name 37 "input[0].f" Name 44 "input.pos" Name 49 "input[1].f" Name 56 "input[2].f" Name 63 "@entryPointOutput" Name 64 "param" Name 66 "param" Decorate 32(i) Flat Decorate 32(i) Location 0 Decorate 37(input[0].f) Location 1 Decorate 44(input.pos) BuiltIn FragCoord Decorate 49(input[1].f) Location 2 Decorate 56(input[2].f) Location 3 Decorate 63(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 7: TypePointer Function 6(int) 8: TypeFloat 32 9: TypeVector 8(float) 4 10(S): TypeStruct 8(float) 9(fvec4) 11: TypeInt 32 0 12: 11(int) Constant 3 13: TypeArray 10(S) 12 14: TypePointer Function 13 15: TypeFunction 9(fvec4) 7(ptr) 14(ptr) 22: TypeVector 8(float) 3 23: 8(float) Constant 1065353216 24: 22(fvec3) ConstantComposite 23 23 23 25: TypePointer Function 9(fvec4) 31: TypePointer Input 6(int) 32(i): 31(ptr) Variable Input 35: 6(int) Constant 0 36: TypePointer Input 8(float) 37(input[0].f): 36(ptr) Variable Input 39: TypePointer Function 8(float) 41: 6(int) Constant 1 42: TypeArray 9(fvec4) 12 43: TypePointer Input 42 44(input.pos): 43(ptr) Variable Input 45: TypePointer Input 9(fvec4) 49(input[1].f): 36(ptr) Variable Input 55: 6(int) Constant 2 56(input[2].f): 36(ptr) Variable Input 62: TypePointer Output 9(fvec4) 63(@entryPointOutput): 62(ptr) Variable Output 4(main): 2 Function None 3 5: Label 30(i): 7(ptr) Variable Function 34(input): 14(ptr) Variable Function 64(param): 7(ptr) Variable Function 66(param): 14(ptr) Variable Function 33: 6(int) Load 32(i) Store 30(i) 33 38: 8(float) Load 37(input[0].f) 40: 39(ptr) AccessChain 34(input) 35 35 Store 40 38 46: 45(ptr) AccessChain 44(input.pos) 35 47: 9(fvec4) Load 46 48: 25(ptr) AccessChain 34(input) 35 41 Store 48 47 50: 8(float) Load 49(input[1].f) 51: 39(ptr) AccessChain 34(input) 41 35 Store 51 50 52: 45(ptr) AccessChain 44(input.pos) 41 53: 9(fvec4) Load 52 54: 25(ptr) AccessChain 34(input) 41 41 Store 54 53 57: 8(float) Load 56(input[2].f) 58: 39(ptr) AccessChain 34(input) 55 35 Store 58 57 59: 45(ptr) AccessChain 44(input.pos) 55 60: 9(fvec4) Load 59 61: 25(ptr) AccessChain 34(input) 55 41 Store 61 60 65: 6(int) Load 30(i) Store 64(param) 65 67: 13 Load 34(input) Store 66(param) 67 68: 9(fvec4) FunctionCall 18(@main(i1;struct-S-f1-vf41[3];) 64(param) 66(param) Store 63(@entryPointOutput) 68 Return FunctionEnd 18(@main(i1;struct-S-f1-vf41[3];): 9(fvec4) Function None 15 16(i): 7(ptr) FunctionParameter 17(input): 14(ptr) FunctionParameter 19: Label 20(a): 14(ptr) Variable Function 26: 25(ptr) Variable Function 21: 13 Load 20(a) Store 17(input) 21 Store 26 24 27: 9(fvec4) Load 26 ReturnValue 27 FunctionEnd