1hlsl.multiReturn.frag 2Shader version: 500 3gl_FragCoord origin is upper left 40:? Sequence 50:12 Function Definition: foo( ( temp structure{ temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m}) 60:12 Function Parameters: 70:? Sequence 80:13 Branch: Return with expression 90: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}) 100: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}) 110:13 Constant: 120:13 0 (const uint) 130:17 Function Definition: @main( ( temp void) 140:17 Function Parameters: 150:? Sequence 160:18 Function Call: foo( ( temp structure{ temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m}) 170:17 Function Definition: main( ( temp void) 180:17 Function Parameters: 190:? Sequence 200:17 Function Call: @main( ( temp void) 210:? Linker Objects 220:? '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}) 23 24 25Linked fragment stage: 26 27 28Shader version: 500 29gl_FragCoord origin is upper left 300:? Sequence 310:12 Function Definition: foo( ( temp structure{ temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m}) 320:12 Function Parameters: 330:? Sequence 340:13 Branch: Return with expression 350: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}) 360: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}) 370:13 Constant: 380:13 0 (const uint) 390:17 Function Definition: @main( ( temp void) 400:17 Function Parameters: 410:? Sequence 420:18 Function Call: foo( ( temp structure{ temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m}) 430:17 Function Definition: main( ( temp void) 440:17 Function Parameters: 450:? Sequence 460:17 Function Call: @main( ( temp void) 470:? Linker Objects 480:? '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}) 49 50// Module Version 10000 51// Generated by (magic number): 8000b 52// Id's are bound by 42 53 54 Capability Shader 55 1: ExtInstImport "GLSL.std.450" 56 MemoryModel Logical GLSL450 57 EntryPoint Fragment 4 "main" 58 ExecutionMode 4 OriginUpperLeft 59 Source HLSL 500 60 Name 4 "main" 61 Name 9 "S" 62 MemberName 9(S) 0 "f" 63 MemberName 9(S) 1 "v" 64 MemberName 9(S) 2 "m" 65 Name 11 "foo(" 66 Name 13 "@main(" 67 Name 15 "S" 68 MemberName 15(S) 0 "f" 69 MemberName 15(S) 1 "v" 70 MemberName 15(S) 2 "m" 71 Name 16 "bufName" 72 MemberName 16(bufName) 0 "s" 73 Name 18 "" 74 MemberDecorate 15(S) 0 Offset 0 75 MemberDecorate 15(S) 1 Offset 4 76 MemberDecorate 15(S) 2 RowMajor 77 MemberDecorate 15(S) 2 Offset 16 78 MemberDecorate 15(S) 2 MatrixStride 16 79 MemberDecorate 16(bufName) 0 Offset 0 80 Decorate 16(bufName) Block 81 Decorate 18 DescriptorSet 0 82 Decorate 18 Binding 0 83 2: TypeVoid 84 3: TypeFunction 2 85 6: TypeFloat 32 86 7: TypeVector 6(float) 3 87 8: TypeMatrix 7(fvec3) 3 88 9(S): TypeStruct 6(float) 7(fvec3) 8 89 10: TypeFunction 9(S) 90 15(S): TypeStruct 6(float) 7(fvec3) 8 91 16(bufName): TypeStruct 15(S) 92 17: TypePointer Uniform 16(bufName) 93 18: 17(ptr) Variable Uniform 94 19: TypeInt 32 1 95 20: 19(int) Constant 0 96 21: TypePointer Uniform 15(S) 97 24: TypePointer Function 9(S) 98 27: TypePointer Function 6(float) 99 30: 19(int) Constant 1 100 31: TypePointer Function 7(fvec3) 101 34: 19(int) Constant 2 102 35: TypePointer Function 8 103 4(main): 2 Function None 3 104 5: Label 105 41: 2 FunctionCall 13(@main() 106 Return 107 FunctionEnd 108 11(foo(): 9(S) Function None 10 109 12: Label 110 25: 24(ptr) Variable Function 111 22: 21(ptr) AccessChain 18 20 112 23: 15(S) Load 22 113 26: 6(float) CompositeExtract 23 0 114 28: 27(ptr) AccessChain 25 20 115 Store 28 26 116 29: 7(fvec3) CompositeExtract 23 1 117 32: 31(ptr) AccessChain 25 30 118 Store 32 29 119 33: 8 CompositeExtract 23 2 120 36: 35(ptr) AccessChain 25 34 121 Store 36 33 122 37: 9(S) Load 25 123 ReturnValue 37 124 FunctionEnd 125 13(@main(): 2 Function None 3 126 14: Label 127 40: 9(S) FunctionCall 11(foo() 128 Return 129 FunctionEnd 130