1 hlsl.memberFunCall.frag 2 Shader version: 500 3 gl_FragCoord origin is upper left 4 0:? Sequence 5 0:1 Function Definition: method3(f1; ( temp float) 6 0:1 Function Parameters: 7 0:1 'a' ( in float) 8 0:? Sequence 9 0:1 Branch: Return with expression 10 0:1 Constant: 11 0:1 1.000000 12 0:4 Function Definition: myContext::method1( ( temp float) 13 0:4 Function Parameters: 14 0:4 '@this' ( temp structure{ temp float f}) 15 0:? Sequence 16 0:4 Branch: Return with expression 17 0:4 Function Call: myContext::method2( ( temp float) 18 0:? '@this' ( temp structure{ temp float f}) 19 0:5 Function Definition: myContext::method2( ( temp float) 20 0:5 Function Parameters: 21 0:5 '@this' ( temp structure{ temp float f}) 22 0:? Sequence 23 0:5 Branch: Return with expression 24 0:5 Function Call: myContext::method3(f1; ( temp float) 25 0:? '@this' ( temp structure{ temp float f}) 26 0:5 Constant: 27 0:5 1.000000 28 0:6 Function Definition: myContext::method3(f1; ( temp float) 29 0:6 Function Parameters: 30 0:6 '@this' ( temp structure{ temp float f}) 31 0:6 'a' ( in float) 32 0:? Sequence 33 0:6 Branch: Return with expression 34 0:6 Function Call: myContext::method4(f1;f1; ( temp float) 35 0:? '@this' ( temp structure{ temp float f}) 36 0:6 'a' ( in float) 37 0:6 'a' ( in float) 38 0:7 Function Definition: myContext::method4(f1;f1; ( temp float) 39 0:7 Function Parameters: 40 0:7 '@this' ( temp structure{ temp float f}) 41 0:7 'a' ( in float) 42 0:7 'b' ( in float) 43 0:? Sequence 44 0:7 Branch: Return with expression 45 0:7 add ( temp float) 46 0:7 add ( temp float) 47 0:7 'a' ( in float) 48 0:7 'b' ( in float) 49 0:7 f: direct index for structure ( temp float) 50 0:7 '@this' ( temp structure{ temp float f}) 51 0:7 Constant: 52 0:7 0 (const uint) 53 0:12 Function Definition: @main( ( temp 4-component vector of float) 54 0:12 Function Parameters: 55 0:? Sequence 56 0:14 move second child to first child ( temp float) 57 0:14 f: direct index for structure ( temp float) 58 0:14 'context' ( temp structure{ temp float f}) 59 0:14 Constant: 60 0:14 0 (const int) 61 0:14 Constant: 62 0:14 3.000000 63 0:15 Branch: Return with expression 64 0:15 Construct vec4 ( temp 4-component vector of float) 65 0:15 Function Call: myContext::method1( ( temp float) 66 0:15 'context' ( temp structure{ temp float f}) 67 0:12 Function Definition: main( ( temp void) 68 0:12 Function Parameters: 69 0:? Sequence 70 0:12 move second child to first child ( temp 4-component vector of float) 71 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 72 0:12 Function Call: @main( ( temp 4-component vector of float) 73 0:? Linker Objects 74 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 75 76 77 Linked fragment stage: 78 79 80 Shader version: 500 81 gl_FragCoord origin is upper left 82 0:? Sequence 83 0:1 Function Definition: method3(f1; ( temp float) 84 0:1 Function Parameters: 85 0:1 'a' ( in float) 86 0:? Sequence 87 0:1 Branch: Return with expression 88 0:1 Constant: 89 0:1 1.000000 90 0:4 Function Definition: myContext::method1( ( temp float) 91 0:4 Function Parameters: 92 0:4 '@this' ( temp structure{ temp float f}) 93 0:? Sequence 94 0:4 Branch: Return with expression 95 0:4 Function Call: myContext::method2( ( temp float) 96 0:? '@this' ( temp structure{ temp float f}) 97 0:5 Function Definition: myContext::method2( ( temp float) 98 0:5 Function Parameters: 99 0:5 '@this' ( temp structure{ temp float f}) 100 0:? Sequence 101 0:5 Branch: Return with expression 102 0:5 Function Call: myContext::method3(f1; ( temp float) 103 0:? '@this' ( temp structure{ temp float f}) 104 0:5 Constant: 105 0:5 1.000000 106 0:6 Function Definition: myContext::method3(f1; ( temp float) 107 0:6 Function Parameters: 108 0:6 '@this' ( temp structure{ temp float f}) 109 0:6 'a' ( in float) 110 0:? Sequence 111 0:6 Branch: Return with expression 112 0:6 Function Call: myContext::method4(f1;f1; ( temp float) 113 0:? '@this' ( temp structure{ temp float f}) 114 0:6 'a' ( in float) 115 0:6 'a' ( in float) 116 0:7 Function Definition: myContext::method4(f1;f1; ( temp float) 117 0:7 Function Parameters: 118 0:7 '@this' ( temp structure{ temp float f}) 119 0:7 'a' ( in float) 120 0:7 'b' ( in float) 121 0:? Sequence 122 0:7 Branch: Return with expression 123 0:7 add ( temp float) 124 0:7 add ( temp float) 125 0:7 'a' ( in float) 126 0:7 'b' ( in float) 127 0:7 f: direct index for structure ( temp float) 128 0:7 '@this' ( temp structure{ temp float f}) 129 0:7 Constant: 130 0:7 0 (const uint) 131 0:12 Function Definition: @main( ( temp 4-component vector of float) 132 0:12 Function Parameters: 133 0:? Sequence 134 0:14 move second child to first child ( temp float) 135 0:14 f: direct index for structure ( temp float) 136 0:14 'context' ( temp structure{ temp float f}) 137 0:14 Constant: 138 0:14 0 (const int) 139 0:14 Constant: 140 0:14 3.000000 141 0:15 Branch: Return with expression 142 0:15 Construct vec4 ( temp 4-component vector of float) 143 0:15 Function Call: myContext::method1( ( temp float) 144 0:15 'context' ( temp structure{ temp float f}) 145 0:12 Function Definition: main( ( temp void) 146 0:12 Function Parameters: 147 0:? Sequence 148 0:12 move second child to first child ( temp 4-component vector of float) 149 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 150 0:12 Function Call: @main( ( temp 4-component vector of float) 151 0:? Linker Objects 152 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 153 154 // Module Version 10000 155 // Generated by (magic number): 80007 156 // Id's are bound by 73 157 158 Capability Shader 159 1: ExtInstImport "GLSL.std.450" 160 MemoryModel Logical GLSL450 161 EntryPoint Fragment 4 "main" 71 162 ExecutionMode 4 OriginUpperLeft 163 Source HLSL 500 164 Name 4 "main" 165 Name 10 "method3(f1;" 166 Name 9 "a" 167 Name 12 "myContext" 168 MemberName 12(myContext) 0 "f" 169 Name 16 "myContext::method1(" 170 Name 15 "@this" 171 Name 19 "myContext::method2(" 172 Name 18 "@this" 173 Name 24 "myContext::method3(f1;" 174 Name 22 "@this" 175 Name 23 "a" 176 Name 30 "myContext::method4(f1;f1;" 177 Name 27 "@this" 178 Name 28 "a" 179 Name 29 "b" 180 Name 34 "@main(" 181 Name 42 "param" 182 Name 46 "param" 183 Name 48 "param" 184 Name 63 "context" 185 Name 71 "@entryPointOutput" 186 Decorate 71(@entryPointOutput) Location 0 187 2: TypeVoid 188 3: TypeFunction 2 189 6: TypeFloat 32 190 7: TypePointer Function 6(float) 191 8: TypeFunction 6(float) 7(ptr) 192 12(myContext): TypeStruct 6(float) 193 13: TypePointer Function 12(myContext) 194 14: TypeFunction 6(float) 13(ptr) 195 21: TypeFunction 6(float) 13(ptr) 7(ptr) 196 26: TypeFunction 6(float) 13(ptr) 7(ptr) 7(ptr) 197 32: TypeVector 6(float) 4 198 33: TypeFunction 32(fvec4) 199 36: 6(float) Constant 1065353216 200 56: TypeInt 32 1 201 57: 56(int) Constant 0 202 64: 6(float) Constant 1077936128 203 70: TypePointer Output 32(fvec4) 204 71(@entryPointOutput): 70(ptr) Variable Output 205 4(main): 2 Function None 3 206 5: Label 207 72: 32(fvec4) FunctionCall 34(@main() 208 Store 71(@entryPointOutput) 72 209 Return 210 FunctionEnd 211 10(method3(f1;): 6(float) Function None 8 212 9(a): 7(ptr) FunctionParameter 213 11: Label 214 ReturnValue 36 215 FunctionEnd 216 16(myContext::method1(): 6(float) Function None 14 217 15(@this): 13(ptr) FunctionParameter 218 17: Label 219 39: 6(float) FunctionCall 19(myContext::method2() 15(@this) 220 ReturnValue 39 221 FunctionEnd 222 19(myContext::method2(): 6(float) Function None 14 223 18(@this): 13(ptr) FunctionParameter 224 20: Label 225 42(param): 7(ptr) Variable Function 226 Store 42(param) 36 227 43: 6(float) FunctionCall 24(myContext::method3(f1;) 18(@this) 42(param) 228 ReturnValue 43 229 FunctionEnd 230 24(myContext::method3(f1;): 6(float) Function None 21 231 22(@this): 13(ptr) FunctionParameter 232 23(a): 7(ptr) FunctionParameter 233 25: Label 234 46(param): 7(ptr) Variable Function 235 48(param): 7(ptr) Variable Function 236 47: 6(float) Load 23(a) 237 Store 46(param) 47 238 49: 6(float) Load 23(a) 239 Store 48(param) 49 240 50: 6(float) FunctionCall 30(myContext::method4(f1;f1;) 22(@this) 46(param) 48(param) 241 ReturnValue 50 242 FunctionEnd 243 30(myContext::method4(f1;f1;): 6(float) Function None 26 244 27(@this): 13(ptr) FunctionParameter 245 28(a): 7(ptr) FunctionParameter 246 29(b): 7(ptr) FunctionParameter 247 31: Label 248 53: 6(float) Load 28(a) 249 54: 6(float) Load 29(b) 250 55: 6(float) FAdd 53 54 251 58: 7(ptr) AccessChain 27(@this) 57 252 59: 6(float) Load 58 253 60: 6(float) FAdd 55 59 254 ReturnValue 60 255 FunctionEnd 256 34(@main(): 32(fvec4) Function None 33 257 35: Label 258 63(context): 13(ptr) Variable Function 259 65: 7(ptr) AccessChain 63(context) 57 260 Store 65 64 261 66: 6(float) FunctionCall 16(myContext::method1() 63(context) 262 67: 32(fvec4) CompositeConstruct 66 66 66 66 263 ReturnValue 67 264 FunctionEnd 265