| hlsl.flatten.return.frag |
| Shader version: 500 |
| gl_FragCoord origin is upper left |
| 0:? Sequence |
| 0:11 Function Definition: Func1( ( temp structure{ temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) |
| 0:11 Function Parameters: |
| 0:? Sequence |
| 0:12 Branch: Return with expression |
| 0:? Constant: |
| 0:? 1.000000 |
| 0:? 1.000000 |
| 0:? 1.000000 |
| 0:? 1.000000 |
| 0:? 2.000000 |
| 0:? 3.000000 |
| 0:? 4.000000 |
| 0:16 Function Definition: @main( ( temp structure{ temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) |
| 0:16 Function Parameters: |
| 0:? Sequence |
| 0:17 Branch: Return with expression |
| 0:17 Function Call: Func1( ( temp structure{ temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) |
| 0:16 Function Definition: main( ( temp void) |
| 0:16 Function Parameters: |
| 0:? Sequence |
| 0:16 Sequence |
| 0:16 move second child to first child ( temp structure{ temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) |
| 0:16 'flattenTemp' ( temp structure{ temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) |
| 0:16 Function Call: @main( ( temp structure{ temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) |
| 0:16 move second child to first child ( temp 4-component vector of float) |
| 0:? '@entryPointOutput.color' (layout( location=0) out 4-component vector of float) |
| 0:16 color: direct index for structure ( temp 4-component vector of float) |
| 0:16 'flattenTemp' ( temp structure{ temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) |
| 0:16 Constant: |
| 0:16 0 (const int) |
| 0:16 move second child to first child ( temp float) |
| 0:? '@entryPointOutput.other_struct_member1' (layout( location=1) out float) |
| 0:16 other_struct_member1: direct index for structure ( temp float) |
| 0:16 'flattenTemp' ( temp structure{ temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) |
| 0:16 Constant: |
| 0:16 1 (const int) |
| 0:16 move second child to first child ( temp float) |
| 0:? '@entryPointOutput.other_struct_member2' (layout( location=2) out float) |
| 0:16 other_struct_member2: direct index for structure ( temp float) |
| 0:16 'flattenTemp' ( temp structure{ temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) |
| 0:16 Constant: |
| 0:16 2 (const int) |
| 0:16 move second child to first child ( temp float) |
| 0:? '@entryPointOutput.other_struct_member3' (layout( location=3) out float) |
| 0:16 other_struct_member3: direct index for structure ( temp float) |
| 0:16 'flattenTemp' ( temp structure{ temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) |
| 0:16 Constant: |
| 0:16 3 (const int) |
| 0:? Linker Objects |
| 0:? '@entryPointOutput.color' (layout( location=0) out 4-component vector of float) |
| 0:? '@entryPointOutput.other_struct_member1' (layout( location=1) out float) |
| 0:? '@entryPointOutput.other_struct_member2' (layout( location=2) out float) |
| 0:? '@entryPointOutput.other_struct_member3' (layout( location=3) out float) |
| |
| |
| Linked fragment stage: |
| |
| |
| Shader version: 500 |
| gl_FragCoord origin is upper left |
| 0:? Sequence |
| 0:11 Function Definition: Func1( ( temp structure{ temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) |
| 0:11 Function Parameters: |
| 0:? Sequence |
| 0:12 Branch: Return with expression |
| 0:? Constant: |
| 0:? 1.000000 |
| 0:? 1.000000 |
| 0:? 1.000000 |
| 0:? 1.000000 |
| 0:? 2.000000 |
| 0:? 3.000000 |
| 0:? 4.000000 |
| 0:16 Function Definition: @main( ( temp structure{ temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) |
| 0:16 Function Parameters: |
| 0:? Sequence |
| 0:17 Branch: Return with expression |
| 0:17 Function Call: Func1( ( temp structure{ temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) |
| 0:16 Function Definition: main( ( temp void) |
| 0:16 Function Parameters: |
| 0:? Sequence |
| 0:16 Sequence |
| 0:16 move second child to first child ( temp structure{ temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) |
| 0:16 'flattenTemp' ( temp structure{ temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) |
| 0:16 Function Call: @main( ( temp structure{ temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) |
| 0:16 move second child to first child ( temp 4-component vector of float) |
| 0:? '@entryPointOutput.color' (layout( location=0) out 4-component vector of float) |
| 0:16 color: direct index for structure ( temp 4-component vector of float) |
| 0:16 'flattenTemp' ( temp structure{ temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) |
| 0:16 Constant: |
| 0:16 0 (const int) |
| 0:16 move second child to first child ( temp float) |
| 0:? '@entryPointOutput.other_struct_member1' (layout( location=1) out float) |
| 0:16 other_struct_member1: direct index for structure ( temp float) |
| 0:16 'flattenTemp' ( temp structure{ temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) |
| 0:16 Constant: |
| 0:16 1 (const int) |
| 0:16 move second child to first child ( temp float) |
| 0:? '@entryPointOutput.other_struct_member2' (layout( location=2) out float) |
| 0:16 other_struct_member2: direct index for structure ( temp float) |
| 0:16 'flattenTemp' ( temp structure{ temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) |
| 0:16 Constant: |
| 0:16 2 (const int) |
| 0:16 move second child to first child ( temp float) |
| 0:? '@entryPointOutput.other_struct_member3' (layout( location=3) out float) |
| 0:16 other_struct_member3: direct index for structure ( temp float) |
| 0:16 'flattenTemp' ( temp structure{ temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) |
| 0:16 Constant: |
| 0:16 3 (const int) |
| 0:? Linker Objects |
| 0:? '@entryPointOutput.color' (layout( location=0) out 4-component vector of float) |
| 0:? '@entryPointOutput.other_struct_member1' (layout( location=1) out float) |
| 0:? '@entryPointOutput.other_struct_member2' (layout( location=2) out float) |
| 0:? '@entryPointOutput.other_struct_member3' (layout( location=3) out float) |
| |
| // Module Version 10000 |
| // Generated by (magic number): 80002 |
| // Id's are bound by 49 |
| |
| Capability Shader |
| 1: ExtInstImport "GLSL.std.450" |
| MemoryModel Logical GLSL450 |
| EntryPoint Fragment 4 "main" 29 36 41 45 |
| ExecutionMode 4 OriginUpperLeft |
| Source HLSL 500 |
| Name 4 "main" |
| Name 8 "PS_OUTPUT" |
| MemberName 8(PS_OUTPUT) 0 "color" |
| MemberName 8(PS_OUTPUT) 1 "other_struct_member1" |
| MemberName 8(PS_OUTPUT) 2 "other_struct_member2" |
| MemberName 8(PS_OUTPUT) 3 "other_struct_member3" |
| Name 10 "Func1(" |
| Name 12 "@main(" |
| Name 26 "flattenTemp" |
| Name 29 "@entryPointOutput.color" |
| Name 36 "@entryPointOutput.other_struct_member1" |
| Name 41 "@entryPointOutput.other_struct_member2" |
| Name 45 "@entryPointOutput.other_struct_member3" |
| Decorate 29(@entryPointOutput.color) Location 0 |
| Decorate 36(@entryPointOutput.other_struct_member1) Location 1 |
| Decorate 41(@entryPointOutput.other_struct_member2) Location 2 |
| Decorate 45(@entryPointOutput.other_struct_member3) Location 3 |
| 2: TypeVoid |
| 3: TypeFunction 2 |
| 6: TypeFloat 32 |
| 7: TypeVector 6(float) 4 |
| 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) 6(float) 6(float) |
| 9: TypeFunction 8(PS_OUTPUT) |
| 14: 6(float) Constant 1065353216 |
| 15: 7(fvec4) ConstantComposite 14 14 14 14 |
| 16: 6(float) Constant 1073741824 |
| 17: 6(float) Constant 1077936128 |
| 18: 6(float) Constant 1082130432 |
| 19:8(PS_OUTPUT) ConstantComposite 15 16 17 18 |
| 25: TypePointer Function 8(PS_OUTPUT) |
| 28: TypePointer Output 7(fvec4) |
| 29(@entryPointOutput.color): 28(ptr) Variable Output |
| 30: TypeInt 32 1 |
| 31: 30(int) Constant 0 |
| 32: TypePointer Function 7(fvec4) |
| 35: TypePointer Output 6(float) |
| 36(@entryPointOutput.other_struct_member1): 35(ptr) Variable Output |
| 37: 30(int) Constant 1 |
| 38: TypePointer Function 6(float) |
| 41(@entryPointOutput.other_struct_member2): 35(ptr) Variable Output |
| 42: 30(int) Constant 2 |
| 45(@entryPointOutput.other_struct_member3): 35(ptr) Variable Output |
| 46: 30(int) Constant 3 |
| 4(main): 2 Function None 3 |
| 5: Label |
| 26(flattenTemp): 25(ptr) Variable Function |
| 27:8(PS_OUTPUT) FunctionCall 12(@main() |
| Store 26(flattenTemp) 27 |
| 33: 32(ptr) AccessChain 26(flattenTemp) 31 |
| 34: 7(fvec4) Load 33 |
| Store 29(@entryPointOutput.color) 34 |
| 39: 38(ptr) AccessChain 26(flattenTemp) 37 |
| 40: 6(float) Load 39 |
| Store 36(@entryPointOutput.other_struct_member1) 40 |
| 43: 38(ptr) AccessChain 26(flattenTemp) 42 |
| 44: 6(float) Load 43 |
| Store 41(@entryPointOutput.other_struct_member2) 44 |
| 47: 38(ptr) AccessChain 26(flattenTemp) 46 |
| 48: 6(float) Load 47 |
| Store 45(@entryPointOutput.other_struct_member3) 48 |
| Return |
| FunctionEnd |
| 10(Func1():8(PS_OUTPUT) Function None 9 |
| 11: Label |
| ReturnValue 19 |
| FunctionEnd |
| 12(@main():8(PS_OUTPUT) Function None 9 |
| 13: Label |
| 22:8(PS_OUTPUT) FunctionCall 10(Func1() |
| ReturnValue 22 |
| FunctionEnd |