hlsl.multiReturn.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence 0:12 Function Definition: foo( (temp structure{temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m}) 0:12 Function Parameters: 0:? Sequence 0:13 Branch: Return with expression 0:13 s: direct index for structure (layout(row_major std140 ) uniform structure{temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m}) 0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform structure{temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m} s}) 0:13 Constant: 0:13 0 (const uint) 0:17 Function Definition: main( (temp void) 0:17 Function Parameters: 0:? Sequence 0:18 Function Call: foo( (temp structure{temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m}) 0:? Linker Objects 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform structure{temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m} s}) Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence 0:12 Function Definition: foo( (temp structure{temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m}) 0:12 Function Parameters: 0:? Sequence 0:13 Branch: Return with expression 0:13 s: direct index for structure (layout(row_major std140 ) uniform structure{temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m}) 0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform structure{temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m} s}) 0:13 Constant: 0:13 0 (const uint) 0:17 Function Definition: main( (temp void) 0:17 Function Parameters: 0:? Sequence 0:18 Function Call: foo( (temp structure{temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m}) 0:? Linker Objects 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform structure{temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m} s}) // Module Version 10000 // Generated by (magic number): 80001 // Id's are bound by 39 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "S" MemberName 9(S) 0 "f" MemberName 9(S) 1 "v" MemberName 9(S) 2 "m" Name 11 "foo(" Name 13 "S" MemberName 13(S) 0 "f" MemberName 13(S) 1 "v" MemberName 13(S) 2 "m" Name 14 "bufName" MemberName 14(bufName) 0 "s" Name 16 "" MemberDecorate 13(S) 0 Offset 0 MemberDecorate 13(S) 1 Offset 16 MemberDecorate 13(S) 2 RowMajor MemberDecorate 13(S) 2 Offset 32 MemberDecorate 13(S) 2 MatrixStride 16 MemberDecorate 14(bufName) 0 Offset 0 Decorate 14(bufName) Block Decorate 16 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 3 8: TypeMatrix 7(fvec3) 3 9(S): TypeStruct 6(float) 7(fvec3) 8 10: TypeFunction 9(S) 13(S): TypeStruct 6(float) 7(fvec3) 8 14(bufName): TypeStruct 13(S) 15: TypePointer Uniform 14(bufName) 16: 15(ptr) Variable Uniform 17: TypeInt 32 1 18: 17(int) Constant 0 19: TypePointer Uniform 13(S) 22: TypePointer Function 9(S) 25: TypePointer Function 6(float) 28: 17(int) Constant 1 29: TypePointer Function 7(fvec3) 32: 17(int) Constant 2 33: TypePointer Function 8 4(main): 2 Function None 3 5: Label 38: 9(S) FunctionCall 11(foo() Return FunctionEnd 11(foo(): 9(S) Function None 10 12: Label 23: 22(ptr) Variable Function 20: 19(ptr) AccessChain 16 18 21: 13(S) Load 20 24: 6(float) CompositeExtract 21 0 26: 25(ptr) AccessChain 23 18 Store 26 24 27: 7(fvec3) CompositeExtract 21 1 30: 29(ptr) AccessChain 23 28 Store 30 27 31: 8 CompositeExtract 21 2 34: 33(ptr) AccessChain 23 32 Store 34 31 35: 9(S) Load 23 ReturnValue 35 FunctionEnd