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 pos: direct index for structure ( temp 4-component vector of float) 0:11 direct index ( temp structure{ temp float f, temp 4-component vector of float pos}) 0:11 'a' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 0:11 Constant: 0:11 1 (const int) 0:11 Constant: 0:11 1 (const int) 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 pos: direct index for structure ( temp 4-component vector of float) 0:11 direct index ( temp structure{ temp float f, temp 4-component vector of float pos}) 0:11 'a' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 0:11 Constant: 0:11 1 (const int) 0:11 Constant: 0:11 1 (const int) 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) Validation failed // Module Version 10000 // Generated by (magic number): 8000b // Id's are bound by 66 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 30 35 41 46 53 60 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 28 "i" Name 30 "i" Name 32 "input" Name 35 "input[0].f" Name 41 "input.pos" Name 46 "input[1].f" Name 53 "input[2].f" Name 60 "@entryPointOutput" Name 61 "param" Name 63 "param" Decorate 30(i) Flat Decorate 30(i) Location 0 Decorate 35(input[0].f) Location 1 Decorate 41(input.pos) BuiltIn FragCoord Decorate 46(input[1].f) Location 2 Decorate 53(input[2].f) Location 3 Decorate 60(@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: 6(int) Constant 1 23: TypePointer Function 9(fvec4) 29: TypePointer Input 6(int) 30(i): 29(ptr) Variable Input 33: 6(int) Constant 0 34: TypePointer Input 8(float) 35(input[0].f): 34(ptr) Variable Input 37: TypePointer Function 8(float) 39: TypeArray 9(fvec4) 12 40: TypePointer Input 39 41(input.pos): 40(ptr) Variable Input 42: TypePointer Input 9(fvec4) 46(input[1].f): 34(ptr) Variable Input 52: 6(int) Constant 2 53(input[2].f): 34(ptr) Variable Input 59: TypePointer Output 9(fvec4) 60(@entryPointOutput): 59(ptr) Variable Output 4(main): 2 Function None 3 5: Label 28(i): 7(ptr) Variable Function 32(input): 14(ptr) Variable Function 61(param): 7(ptr) Variable Function 63(param): 14(ptr) Variable Function 31: 6(int) Load 30(i) Store 28(i) 31 36: 8(float) Load 35(input[0].f) 38: 37(ptr) AccessChain 32(input) 33 33 Store 38 36 43: 42(ptr) AccessChain 41(input.pos) 33 44: 9(fvec4) Load 43 45: 23(ptr) AccessChain 32(input) 33 22 Store 45 44 47: 8(float) Load 46(input[1].f) 48: 37(ptr) AccessChain 32(input) 22 33 Store 48 47 49: 42(ptr) AccessChain 41(input.pos) 22 50: 9(fvec4) Load 49 51: 23(ptr) AccessChain 32(input) 22 22 Store 51 50 54: 8(float) Load 53(input[2].f) 55: 37(ptr) AccessChain 32(input) 52 33 Store 55 54 56: 42(ptr) AccessChain 41(input.pos) 52 57: 9(fvec4) Load 56 58: 23(ptr) AccessChain 32(input) 52 22 Store 58 57 62: 6(int) Load 28(i) Store 61(param) 62 64: 13 Load 32(input) Store 63(param) 64 65: 9(fvec4) FunctionCall 18(@main(i1;struct-S-f1-vf41[3];) 61(param) 63(param) Store 60(@entryPointOutput) 65 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 21: 13 Load 20(a) Store 17(input) 21 24: 23(ptr) AccessChain 20(a) 22 22 25: 9(fvec4) Load 24 ReturnValue 25 FunctionEnd