1 hlsl.this.frag 2 Shader version: 500 3 gl_FragCoord origin is upper left 4 0:? Sequence 5 0:1 Sequence 6 0:1 move second child to first child ( temp 2-component vector of float) 7 0:1 'var' ( global 2-component vector of float) 8 0:? Constant: 9 0:? 1.000000 10 0:? 2.000000 11 0:6 Function Definition: type1::memFun1(vi3; ( temp int) 12 0:6 Function Parameters: 13 0:6 '@this' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) 14 0:6 'var' ( in 3-component vector of int) 15 0:? Sequence 16 0:7 Branch: Return with expression 17 0:7 add ( temp int) 18 0:7 add ( temp int) 19 0:7 direct index ( temp int) 20 0:7 'var' ( in 3-component vector of int) 21 0:7 Constant: 22 0:7 2 (const int) 23 0:7 var: direct index for structure ( temp int) 24 0:7 '@this' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) 25 0:7 Constant: 26 0:7 1 (const int) 27 0:7 var2: direct index for structure ( temp int) 28 0:7 '@this' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) 29 0:7 Constant: 30 0:7 2 (const uint) 31 0:10 Function Definition: type1::memFun2(i1; ( temp int) 32 0:10 Function Parameters: 33 0:10 '@this' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) 34 0:10 'a' ( in int) 35 0:? Sequence 36 0:11 Sequence 37 0:11 move second child to first child ( temp 3-component vector of int) 38 0:11 'var' ( temp 3-component vector of int) 39 0:? Constant: 40 0:? 1 (const int) 41 0:? 2 (const int) 42 0:? 3 (const int) 43 0:12 Branch: Return with expression 44 0:12 add ( temp int) 45 0:12 add ( temp int) 46 0:12 direct index ( temp int) 47 0:12 'var' ( temp 3-component vector of int) 48 0:12 Constant: 49 0:12 2 (const int) 50 0:12 Convert float to int ( temp int) 51 0:12 direct index ( temp float) 52 0:12 bar: direct index for structure ( temp 2-component vector of float) 53 0:12 '@this' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) 54 0:12 Constant: 55 0:12 0 (const uint) 56 0:12 Constant: 57 0:12 1 (const int) 58 0:12 var2: direct index for structure ( temp int) 59 0:12 '@this' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) 60 0:12 Constant: 61 0:12 2 (const int) 62 0:20 Function Definition: @main( ( temp 4-component vector of float) 63 0:20 Function Parameters: 64 0:? Sequence 65 0:22 move second child to first child ( temp 2-component vector of float) 66 0:22 bar: direct index for structure ( temp 2-component vector of float) 67 0:22 'T' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) 68 0:22 Constant: 69 0:22 0 (const int) 70 0:22 'var' ( global 2-component vector of float) 71 0:23 move second child to first child ( temp int) 72 0:23 var: direct index for structure ( temp int) 73 0:23 'T' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) 74 0:23 Constant: 75 0:23 1 (const int) 76 0:23 Constant: 77 0:23 7 (const int) 78 0:24 move second child to first child ( temp int) 79 0:24 var2: direct index for structure ( temp int) 80 0:24 'T' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) 81 0:24 Constant: 82 0:24 2 (const int) 83 0:24 Constant: 84 0:24 9 (const int) 85 0:25 Sequence 86 0:25 move second child to first child ( temp int) 87 0:25 'i' ( temp int) 88 0:25 Function Call: type1::memFun1(vi3; ( temp int) 89 0:25 'T' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) 90 0:? Constant: 91 0:? 10 (const int) 92 0:? 11 (const int) 93 0:? 12 (const int) 94 0:26 add second child into first child ( temp int) 95 0:26 'i' ( temp int) 96 0:26 Function Call: type1::memFun2(i1; ( temp int) 97 0:26 'T' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) 98 0:26 Constant: 99 0:26 17 (const int) 100 0:28 Branch: Return with expression 101 0:? Construct vec4 ( temp 4-component vector of float) 102 0:28 Convert int to float ( temp float) 103 0:28 'i' ( temp int) 104 0:28 Convert int to float ( temp float) 105 0:28 'i' ( temp int) 106 0:28 Convert int to float ( temp float) 107 0:28 'i' ( temp int) 108 0:28 Convert int to float ( temp float) 109 0:28 'i' ( temp int) 110 0:20 Function Definition: main( ( temp void) 111 0:20 Function Parameters: 112 0:? Sequence 113 0:20 move second child to first child ( temp 4-component vector of float) 114 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 115 0:20 Function Call: @main( ( temp 4-component vector of float) 116 0:? Linker Objects 117 0:? 'var' ( global 2-component vector of float) 118 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 119 120 121 Linked fragment stage: 122 123 124 Shader version: 500 125 gl_FragCoord origin is upper left 126 0:? Sequence 127 0:1 Sequence 128 0:1 move second child to first child ( temp 2-component vector of float) 129 0:1 'var' ( global 2-component vector of float) 130 0:? Constant: 131 0:? 1.000000 132 0:? 2.000000 133 0:6 Function Definition: type1::memFun1(vi3; ( temp int) 134 0:6 Function Parameters: 135 0:6 '@this' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) 136 0:6 'var' ( in 3-component vector of int) 137 0:? Sequence 138 0:7 Branch: Return with expression 139 0:7 add ( temp int) 140 0:7 add ( temp int) 141 0:7 direct index ( temp int) 142 0:7 'var' ( in 3-component vector of int) 143 0:7 Constant: 144 0:7 2 (const int) 145 0:7 var: direct index for structure ( temp int) 146 0:7 '@this' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) 147 0:7 Constant: 148 0:7 1 (const int) 149 0:7 var2: direct index for structure ( temp int) 150 0:7 '@this' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) 151 0:7 Constant: 152 0:7 2 (const uint) 153 0:10 Function Definition: type1::memFun2(i1; ( temp int) 154 0:10 Function Parameters: 155 0:10 '@this' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) 156 0:10 'a' ( in int) 157 0:? Sequence 158 0:11 Sequence 159 0:11 move second child to first child ( temp 3-component vector of int) 160 0:11 'var' ( temp 3-component vector of int) 161 0:? Constant: 162 0:? 1 (const int) 163 0:? 2 (const int) 164 0:? 3 (const int) 165 0:12 Branch: Return with expression 166 0:12 add ( temp int) 167 0:12 add ( temp int) 168 0:12 direct index ( temp int) 169 0:12 'var' ( temp 3-component vector of int) 170 0:12 Constant: 171 0:12 2 (const int) 172 0:12 Convert float to int ( temp int) 173 0:12 direct index ( temp float) 174 0:12 bar: direct index for structure ( temp 2-component vector of float) 175 0:12 '@this' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) 176 0:12 Constant: 177 0:12 0 (const uint) 178 0:12 Constant: 179 0:12 1 (const int) 180 0:12 var2: direct index for structure ( temp int) 181 0:12 '@this' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) 182 0:12 Constant: 183 0:12 2 (const int) 184 0:20 Function Definition: @main( ( temp 4-component vector of float) 185 0:20 Function Parameters: 186 0:? Sequence 187 0:22 move second child to first child ( temp 2-component vector of float) 188 0:22 bar: direct index for structure ( temp 2-component vector of float) 189 0:22 'T' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) 190 0:22 Constant: 191 0:22 0 (const int) 192 0:22 'var' ( global 2-component vector of float) 193 0:23 move second child to first child ( temp int) 194 0:23 var: direct index for structure ( temp int) 195 0:23 'T' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) 196 0:23 Constant: 197 0:23 1 (const int) 198 0:23 Constant: 199 0:23 7 (const int) 200 0:24 move second child to first child ( temp int) 201 0:24 var2: direct index for structure ( temp int) 202 0:24 'T' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) 203 0:24 Constant: 204 0:24 2 (const int) 205 0:24 Constant: 206 0:24 9 (const int) 207 0:25 Sequence 208 0:25 move second child to first child ( temp int) 209 0:25 'i' ( temp int) 210 0:25 Function Call: type1::memFun1(vi3; ( temp int) 211 0:25 'T' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) 212 0:? Constant: 213 0:? 10 (const int) 214 0:? 11 (const int) 215 0:? 12 (const int) 216 0:26 add second child into first child ( temp int) 217 0:26 'i' ( temp int) 218 0:26 Function Call: type1::memFun2(i1; ( temp int) 219 0:26 'T' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) 220 0:26 Constant: 221 0:26 17 (const int) 222 0:28 Branch: Return with expression 223 0:? Construct vec4 ( temp 4-component vector of float) 224 0:28 Convert int to float ( temp float) 225 0:28 'i' ( temp int) 226 0:28 Convert int to float ( temp float) 227 0:28 'i' ( temp int) 228 0:28 Convert int to float ( temp float) 229 0:28 'i' ( temp int) 230 0:28 Convert int to float ( temp float) 231 0:28 'i' ( temp int) 232 0:20 Function Definition: main( ( temp void) 233 0:20 Function Parameters: 234 0:? Sequence 235 0:20 move second child to first child ( temp 4-component vector of float) 236 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 237 0:20 Function Call: @main( ( temp 4-component vector of float) 238 0:? Linker Objects 239 0:? 'var' ( global 2-component vector of float) 240 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 241 242 // Module Version 10000 243 // Generated by (magic number): 80007 244 // Id's are bound by 98 245 246 Capability Shader 247 1: ExtInstImport "GLSL.std.450" 248 MemoryModel Logical GLSL450 249 EntryPoint Fragment 4 "main" 96 250 ExecutionMode 4 OriginUpperLeft 251 Source HLSL 500 252 Name 4 "main" 253 Name 9 "type1" 254 MemberName 9(type1) 0 "bar" 255 MemberName 9(type1) 1 "var" 256 MemberName 9(type1) 2 "var2" 257 Name 16 "type1::memFun1(vi3;" 258 Name 14 "@this" 259 Name 15 "var" 260 Name 22 "type1::memFun2(i1;" 261 Name 20 "@this" 262 Name 21 "a" 263 Name 26 "@main(" 264 Name 29 "var" 265 Name 47 "var" 266 Name 64 "T" 267 Name 72 "i" 268 Name 77 "param" 269 Name 80 "param" 270 Name 96 "@entryPointOutput" 271 Decorate 96(@entryPointOutput) Location 0 272 2: TypeVoid 273 3: TypeFunction 2 274 6: TypeFloat 32 275 7: TypeVector 6(float) 2 276 8: TypeInt 32 1 277 9(type1): TypeStruct 7(fvec2) 8(int) 8(int) 278 10: TypePointer Function 9(type1) 279 11: TypeVector 8(int) 3 280 12: TypePointer Function 11(ivec3) 281 13: TypeFunction 8(int) 10(ptr) 12(ptr) 282 18: TypePointer Function 8(int) 283 19: TypeFunction 8(int) 10(ptr) 18(ptr) 284 24: TypeVector 6(float) 4 285 25: TypeFunction 24(fvec4) 286 28: TypePointer Private 7(fvec2) 287 29(var): 28(ptr) Variable Private 288 30: 6(float) Constant 1065353216 289 31: 6(float) Constant 1073741824 290 32: 7(fvec2) ConstantComposite 30 31 291 33: TypeInt 32 0 292 34: 33(int) Constant 2 293 37: 8(int) Constant 1 294 41: 8(int) Constant 2 295 48: 8(int) Constant 3 296 49: 11(ivec3) ConstantComposite 37 41 48 297 52: 8(int) Constant 0 298 53: 33(int) Constant 1 299 54: TypePointer Function 6(float) 300 66: TypePointer Function 7(fvec2) 301 68: 8(int) Constant 7 302 70: 8(int) Constant 9 303 73: 8(int) Constant 10 304 74: 8(int) Constant 11 305 75: 8(int) Constant 12 306 76: 11(ivec3) ConstantComposite 73 74 75 307 79: 8(int) Constant 17 308 95: TypePointer Output 24(fvec4) 309 96(@entryPointOutput): 95(ptr) Variable Output 310 4(main): 2 Function None 3 311 5: Label 312 Store 29(var) 32 313 97: 24(fvec4) FunctionCall 26(@main() 314 Store 96(@entryPointOutput) 97 315 Return 316 FunctionEnd 317 16(type1::memFun1(vi3;): 8(int) Function None 13 318 14(@this): 10(ptr) FunctionParameter 319 15(var): 12(ptr) FunctionParameter 320 17: Label 321 35: 18(ptr) AccessChain 15(var) 34 322 36: 8(int) Load 35 323 38: 18(ptr) AccessChain 14(@this) 37 324 39: 8(int) Load 38 325 40: 8(int) IAdd 36 39 326 42: 18(ptr) AccessChain 14(@this) 41 327 43: 8(int) Load 42 328 44: 8(int) IAdd 40 43 329 ReturnValue 44 330 FunctionEnd 331 22(type1::memFun2(i1;): 8(int) Function None 19 332 20(@this): 10(ptr) FunctionParameter 333 21(a): 18(ptr) FunctionParameter 334 23: Label 335 47(var): 12(ptr) Variable Function 336 Store 47(var) 49 337 50: 18(ptr) AccessChain 47(var) 34 338 51: 8(int) Load 50 339 55: 54(ptr) AccessChain 20(@this) 52 53 340 56: 6(float) Load 55 341 57: 8(int) ConvertFToS 56 342 58: 8(int) IAdd 51 57 343 59: 18(ptr) AccessChain 20(@this) 41 344 60: 8(int) Load 59 345 61: 8(int) IAdd 58 60 346 ReturnValue 61 347 FunctionEnd 348 26(@main(): 24(fvec4) Function None 25 349 27: Label 350 64(T): 10(ptr) Variable Function 351 72(i): 18(ptr) Variable Function 352 77(param): 12(ptr) Variable Function 353 80(param): 18(ptr) Variable Function 354 65: 7(fvec2) Load 29(var) 355 67: 66(ptr) AccessChain 64(T) 52 356 Store 67 65 357 69: 18(ptr) AccessChain 64(T) 37 358 Store 69 68 359 71: 18(ptr) AccessChain 64(T) 41 360 Store 71 70 361 Store 77(param) 76 362 78: 8(int) FunctionCall 16(type1::memFun1(vi3;) 64(T) 77(param) 363 Store 72(i) 78 364 Store 80(param) 79 365 81: 8(int) FunctionCall 22(type1::memFun2(i1;) 64(T) 80(param) 366 82: 8(int) Load 72(i) 367 83: 8(int) IAdd 82 81 368 Store 72(i) 83 369 84: 8(int) Load 72(i) 370 85: 6(float) ConvertSToF 84 371 86: 8(int) Load 72(i) 372 87: 6(float) ConvertSToF 86 373 88: 8(int) Load 72(i) 374 89: 6(float) ConvertSToF 88 375 90: 8(int) Load 72(i) 376 91: 6(float) ConvertSToF 90 377 92: 24(fvec4) CompositeConstruct 85 87 89 91 378 ReturnValue 92 379 FunctionEnd 380