hlsl.multiReturn.frag Shader version: 500 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:17 Function Definition: main( ( temp void) 0:17 Function Parameters: 0:? Sequence 0:17 Function Call: @main( ( temp void) 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: 500 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:17 Function Definition: main( ( temp void) 0:17 Function Parameters: 0:? Sequence 0:17 Function Call: @main( ( temp void) 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): 8000b // Id's are bound by 42 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" ExecutionMode 4 OriginUpperLeft Source HLSL 500 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 "@main(" Name 15 "S" MemberName 15(S) 0 "f" MemberName 15(S) 1 "v" MemberName 15(S) 2 "m" Name 16 "bufName" MemberName 16(bufName) 0 "s" Name 18 "" MemberDecorate 15(S) 0 Offset 0 MemberDecorate 15(S) 1 Offset 4 MemberDecorate 15(S) 2 RowMajor MemberDecorate 15(S) 2 MatrixStride 16 MemberDecorate 15(S) 2 Offset 16 Decorate 16(bufName) Block MemberDecorate 16(bufName) 0 Offset 0 Decorate 18 Binding 0 Decorate 18 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) 15(S): TypeStruct 6(float) 7(fvec3) 8 16(bufName): TypeStruct 15(S) 17: TypePointer Uniform 16(bufName) 18: 17(ptr) Variable Uniform 19: TypeInt 32 1 20: 19(int) Constant 0 21: TypePointer Uniform 15(S) 24: TypePointer Function 9(S) 27: TypePointer Function 6(float) 30: 19(int) Constant 1 31: TypePointer Function 7(fvec3) 34: 19(int) Constant 2 35: TypePointer Function 8 4(main): 2 Function None 3 5: Label 41: 2 FunctionCall 13(@main() Return FunctionEnd 11(foo(): 9(S) Function None 10 12: Label 25: 24(ptr) Variable Function 22: 21(ptr) AccessChain 18 20 23: 15(S) Load 22 26: 6(float) CompositeExtract 23 0 28: 27(ptr) AccessChain 25 20 Store 28 26 29: 7(fvec3) CompositeExtract 23 1 32: 31(ptr) AccessChain 25 30 Store 32 29 33: 8 CompositeExtract 23 2 36: 35(ptr) AccessChain 25 34 Store 36 33 37: 9(S) Load 25 ReturnValue 37 FunctionEnd 13(@main(): 2 Function None 3 14: Label 40: 9(S) FunctionCall 11(foo() Return FunctionEnd