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): 80007 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 2: TypeVoid 83 3: TypeFunction 2 84 6: TypeFloat 32 85 7: TypeVector 6(float) 3 86 8: TypeMatrix 7(fvec3) 3 87 9(S): TypeStruct 6(float) 7(fvec3) 8 88 10: TypeFunction 9(S) 89 15(S): TypeStruct 6(float) 7(fvec3) 8 90 16(bufName): TypeStruct 15(S) 91 17: TypePointer Uniform 16(bufName) 92 18: 17(ptr) Variable Uniform 93 19: TypeInt 32 1 94 20: 19(int) Constant 0 95 21: TypePointer Uniform 15(S) 96 24: TypePointer Function 9(S) 97 27: TypePointer Function 6(float) 98 30: 19(int) Constant 1 99 31: TypePointer Function 7(fvec3) 100 34: 19(int) Constant 2 101 35: TypePointer Function 8 102 4(main): 2 Function None 3 103 5: Label 104 41: 2 FunctionCall 13(@main() 105 Return 106 FunctionEnd 107 11(foo(): 9(S) Function None 10 108 12: Label 109 25: 24(ptr) Variable Function 110 22: 21(ptr) AccessChain 18 20 111 23: 15(S) Load 22 112 26: 6(float) CompositeExtract 23 0 113 28: 27(ptr) AccessChain 25 20 114 Store 28 26 115 29: 7(fvec3) CompositeExtract 23 1 116 32: 31(ptr) AccessChain 25 30 117 Store 32 29 118 33: 8 CompositeExtract 23 2 119 36: 35(ptr) AccessChain 25 34 120 Store 36 33 121 37: 9(S) Load 25 122 ReturnValue 37 123 FunctionEnd 124 13(@main(): 2 Function None 3 125 14: Label 126 40: 9(S) FunctionCall 11(foo() 127 Return 128 FunctionEnd 129