| 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) |
| |
| // Module Version 10200 |
| // Generated by (magic number): 80003 |
| // 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 |