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:7 f: direct index for structure ( temp float) 0:7 direct index (layout( location=1) in structure{ temp float f}) 0:7 'input' (layout( location=1) in 3-element array of structure{ temp float f}) 0:7 Constant: 0:7 0 (const int) 0:7 Constant: 0:7 0 (const int) 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:7 f: direct index for structure ( temp float) 0:7 direct index (layout( location=1) in structure{ temp float f}) 0:7 'input' (layout( location=1) in 3-element array of structure{ temp float f}) 0:7 Constant: 0:7 1 (const int) 0:7 Constant: 0:7 0 (const int) 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:7 f: direct index for structure ( temp float) 0:7 direct index (layout( location=1) in structure{ temp float f}) 0:7 'input' (layout( location=1) in 3-element array of structure{ temp float f}) 0:7 Constant: 0:7 2 (const int) 0:7 Constant: 0:7 0 (const int) 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' (layout( location=1) in 3-element array of structure{ temp float f}) 0:? 'input_pos' ( in 3-element array of 4-component vector of float FragCoord) 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:7 f: direct index for structure ( temp float) 0:7 direct index (layout( location=1) in structure{ temp float f}) 0:7 'input' (layout( location=1) in 3-element array of structure{ temp float f}) 0:7 Constant: 0:7 0 (const int) 0:7 Constant: 0:7 0 (const int) 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:7 f: direct index for structure ( temp float) 0:7 direct index (layout( location=1) in structure{ temp float f}) 0:7 'input' (layout( location=1) in 3-element array of structure{ temp float f}) 0:7 Constant: 0:7 1 (const int) 0:7 Constant: 0:7 0 (const int) 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:7 f: direct index for structure ( temp float) 0:7 direct index (layout( location=1) in structure{ temp float f}) 0:7 'input' (layout( location=1) in 3-element array of structure{ temp float f}) 0:7 Constant: 0:7 2 (const int) 0:7 Constant: 0:7 0 (const int) 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' (layout( location=1) in 3-element array of structure{ temp float f}) 0:? 'input_pos' ( in 3-element array of 4-component vector of float FragCoord) // Module Version 10000 // Generated by (magic number): 80001 // Id's are bound by 73 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 32 39 48 67 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 36 "S" MemberName 36(S) 0 "f" Name 39 "input" Name 48 "input_pos" Name 67 "@entryPointOutput" Name 68 "param" Name 70 "param" Decorate 32(i) Flat Decorate 32(i) Location 0 Decorate 39(input) Location 1 Decorate 48(input_pos) BuiltIn FragCoord Decorate 67(@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(S): TypeStruct 8(float) 37: TypeArray 36(S) 12 38: TypePointer Input 37 39(input): 38(ptr) Variable Input 40: TypePointer Input 8(float) 43: TypePointer Function 8(float) 45: 6(int) Constant 1 46: TypeArray 9(fvec4) 12 47: TypePointer Input 46 48(input_pos): 47(ptr) Variable Input 49: TypePointer Input 9(fvec4) 59: 6(int) Constant 2 66: TypePointer Output 9(fvec4) 67(@entryPointOutput): 66(ptr) Variable Output 4(main): 2 Function None 3 5: Label 30(i): 7(ptr) Variable Function 34(input): 14(ptr) Variable Function 68(param): 7(ptr) Variable Function 70(param): 14(ptr) Variable Function 33: 6(int) Load 32(i) Store 30(i) 33 41: 40(ptr) AccessChain 39(input) 35 35 42: 8(float) Load 41 44: 43(ptr) AccessChain 34(input) 35 35 Store 44 42 50: 49(ptr) AccessChain 48(input_pos) 35 51: 9(fvec4) Load 50 52: 25(ptr) AccessChain 34(input) 35 45 Store 52 51 53: 40(ptr) AccessChain 39(input) 45 35 54: 8(float) Load 53 55: 43(ptr) AccessChain 34(input) 45 35 Store 55 54 56: 49(ptr) AccessChain 48(input_pos) 45 57: 9(fvec4) Load 56 58: 25(ptr) AccessChain 34(input) 45 45 Store 58 57 60: 40(ptr) AccessChain 39(input) 59 35 61: 8(float) Load 60 62: 43(ptr) AccessChain 34(input) 59 35 Store 62 61 63: 49(ptr) AccessChain 48(input_pos) 59 64: 9(fvec4) Load 63 65: 25(ptr) AccessChain 34(input) 59 45 Store 65 64 69: 6(int) Load 30(i) Store 68(param) 69 71: 13 Load 34(input) Store 70(param) 71 72: 9(fvec4) FunctionCall 18(@main(i1;struct-S-f1-vf41[3];) 68(param) 70(param) Store 67(@entryPointOutput) 72 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