hlsl.flatten.return.frag Shader version: 450 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 Sequence 0:17 Sequence 0:17 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:17 '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: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:17 move second child to first child (temp 4-component vector of float) 0:? 'color' (layout(location=0 ) out 4-component vector of float) 0:17 color: direct index for structure (temp 4-component vector of float) 0:17 '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:17 Constant: 0:17 0 (const int) 0:17 move second child to first child (temp float) 0:? 'other_struct_member1' (layout(location=1 ) out float) 0:17 other_struct_member1: direct index for structure (temp float) 0:17 '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:17 Constant: 0:17 1 (const int) 0:17 move second child to first child (temp float) 0:? 'other_struct_member2' (layout(location=2 ) out float) 0:17 other_struct_member2: direct index for structure (temp float) 0:17 '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:17 Constant: 0:17 2 (const int) 0:17 move second child to first child (temp float) 0:? 'other_struct_member3' (layout(location=3 ) out float) 0:17 other_struct_member3: direct index for structure (temp float) 0:17 '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:17 Constant: 0:17 3 (const int) 0:17 Branch: Return 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: 450 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 Sequence 0:17 Sequence 0:17 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:17 '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: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:17 move second child to first child (temp 4-component vector of float) 0:? 'color' (layout(location=0 ) out 4-component vector of float) 0:17 color: direct index for structure (temp 4-component vector of float) 0:17 '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:17 Constant: 0:17 0 (const int) 0:17 move second child to first child (temp float) 0:? 'other_struct_member1' (layout(location=1 ) out float) 0:17 other_struct_member1: direct index for structure (temp float) 0:17 '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:17 Constant: 0:17 1 (const int) 0:17 move second child to first child (temp float) 0:? 'other_struct_member2' (layout(location=2 ) out float) 0:17 other_struct_member2: direct index for structure (temp float) 0:17 '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:17 Constant: 0:17 2 (const int) 0:17 move second child to first child (temp float) 0:? 'other_struct_member3' (layout(location=3 ) out float) 0:17 other_struct_member3: direct index for structure (temp float) 0:17 '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:17 Constant: 0:17 3 (const int) 0:17 Branch: Return 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 45 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 24 31 36 40 ExecutionMode 4 OriginUpperLeft 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 21 "flattenTemp" Name 24 "color" Name 31 "other_struct_member1" Name 36 "other_struct_member2" Name 40 "other_struct_member3" Decorate 24(color) Location 0 Decorate 31(other_struct_member1) Location 1 Decorate 36(other_struct_member2) Location 2 Decorate 40(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) 12: 6(float) Constant 1065353216 13: 7(fvec4) ConstantComposite 12 12 12 12 14: 6(float) Constant 1073741824 15: 6(float) Constant 1077936128 16: 6(float) Constant 1082130432 17:8(PS_OUTPUT) ConstantComposite 13 14 15 16 20: TypePointer Function 8(PS_OUTPUT) 23: TypePointer Output 7(fvec4) 24(color): 23(ptr) Variable Output 25: TypeInt 32 1 26: 25(int) Constant 0 27: TypePointer Function 7(fvec4) 30: TypePointer Output 6(float) 31(other_struct_member1): 30(ptr) Variable Output 32: 25(int) Constant 1 33: TypePointer Function 6(float) 36(other_struct_member2): 30(ptr) Variable Output 37: 25(int) Constant 2 40(other_struct_member3): 30(ptr) Variable Output 41: 25(int) Constant 3 4(main): 2 Function None 3 5: Label 21(flattenTemp): 20(ptr) Variable Function 22:8(PS_OUTPUT) FunctionCall 10(Func1() Store 21(flattenTemp) 22 28: 27(ptr) AccessChain 21(flattenTemp) 26 29: 7(fvec4) Load 28 Store 24(color) 29 34: 33(ptr) AccessChain 21(flattenTemp) 32 35: 6(float) Load 34 Store 31(other_struct_member1) 35 38: 33(ptr) AccessChain 21(flattenTemp) 37 39: 6(float) Load 38 Store 36(other_struct_member2) 39 42: 33(ptr) AccessChain 21(flattenTemp) 41 43: 6(float) Load 42 Store 40(other_struct_member3) 43 Return FunctionEnd 10(Func1():8(PS_OUTPUT) Function None 9 11: Label ReturnValue 17 FunctionEnd