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:? '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:? '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:? '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:? '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:? 'color' (layout( location=0) out 4-component vector of float) 0:? 'other_struct_member1' (layout( location=1) out float) 0:? 'other_struct_member2' (layout( location=2) out float) 0:? '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:? '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:? '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:? '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:? '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:? 'color' (layout( location=0) out 4-component vector of float) 0:? 'other_struct_member1' (layout( location=1) out float) 0:? 'other_struct_member2' (layout( location=2) out float) 0:? 'other_struct_member3' (layout( location=3) out float) // Module Version 10000 // Generated by (magic number): 80001 // 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 "color" Name 36 "other_struct_member1" Name 41 "other_struct_member2" Name 45 "other_struct_member3" Decorate 29(color) Location 0 Decorate 36(other_struct_member1) Location 1 Decorate 41(other_struct_member2) Location 2 Decorate 45(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(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(other_struct_member1): 35(ptr) Variable Output 37: 30(int) Constant 1 38: TypePointer Function 6(float) 41(other_struct_member2): 35(ptr) Variable Output 42: 30(int) Constant 2 45(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(color) 34 39: 38(ptr) AccessChain 26(flattenTemp) 37 40: 6(float) Load 39 Store 36(other_struct_member1) 40 43: 38(ptr) AccessChain 26(flattenTemp) 42 44: 6(float) Load 43 Store 41(other_struct_member2) 44 47: 38(ptr) AccessChain 26(flattenTemp) 46 48: 6(float) Load 47 Store 45(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