1hlsl.this.frag 2Shader version: 500 3gl_FragCoord origin is upper left 40:? Sequence 50:1 Sequence 60:1 move second child to first child ( temp 2-component vector of float) 70:1 'var' ( global 2-component vector of float) 80:1 Constant: 90:1 1.000000 100:1 2.000000 110:6 Function Definition: type1::memFun1(vi3; ( temp int) 120:6 Function Parameters: 130:6 '@this' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) 140:6 'var' ( in 3-component vector of int) 150:? Sequence 160:7 Branch: Return with expression 170:7 add ( temp int) 180:7 add ( temp int) 190:7 direct index ( temp int) 200:7 'var' ( in 3-component vector of int) 210:7 Constant: 220:7 2 (const int) 230:7 var: direct index for structure ( temp int) 240:7 '@this' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) 250:7 Constant: 260:7 1 (const int) 270:7 var2: direct index for structure ( temp int) 280:7 '@this' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) 290:7 Constant: 300:7 2 (const uint) 310:10 Function Definition: type1::memFun2(i1; ( temp int) 320:10 Function Parameters: 330:10 '@this' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) 340:10 'a' ( in int) 350:? Sequence 360:11 Sequence 370:11 move second child to first child ( temp 3-component vector of int) 380:11 'var' ( temp 3-component vector of int) 390:11 Constant: 400:11 1 (const int) 410:11 2 (const int) 420:11 3 (const int) 430:12 Branch: Return with expression 440:12 add ( temp int) 450:12 add ( temp int) 460:12 direct index ( temp int) 470:12 'var' ( temp 3-component vector of int) 480:12 Constant: 490:12 2 (const int) 500:12 Convert float to int ( temp int) 510:12 direct index ( temp float) 520:12 bar: direct index for structure ( temp 2-component vector of float) 530:12 '@this' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) 540:12 Constant: 550:12 0 (const uint) 560:12 Constant: 570:12 1 (const int) 580:12 var2: direct index for structure ( temp int) 590:12 '@this' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) 600:12 Constant: 610:12 2 (const int) 620:20 Function Definition: @main( ( temp 4-component vector of float) 630:20 Function Parameters: 640:? Sequence 650:22 move second child to first child ( temp 2-component vector of float) 660:22 bar: direct index for structure ( temp 2-component vector of float) 670:22 'T' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) 680:22 Constant: 690:22 0 (const int) 700:22 'var' ( global 2-component vector of float) 710:23 move second child to first child ( temp int) 720:23 var: direct index for structure ( temp int) 730:23 'T' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) 740:23 Constant: 750:23 1 (const int) 760:23 Constant: 770:23 7 (const int) 780:24 move second child to first child ( temp int) 790:24 var2: direct index for structure ( temp int) 800:24 'T' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) 810:24 Constant: 820:24 2 (const int) 830:24 Constant: 840:24 9 (const int) 850:25 Sequence 860:25 move second child to first child ( temp int) 870:25 'i' ( temp int) 880:25 Function Call: type1::memFun1(vi3; ( temp int) 890:25 'T' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) 900:25 Constant: 910:25 10 (const int) 920:25 11 (const int) 930:25 12 (const int) 940:26 add second child into first child ( temp int) 950:26 'i' ( temp int) 960:26 Function Call: type1::memFun2(i1; ( temp int) 970:26 'T' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) 980:26 Constant: 990:26 17 (const int) 1000:28 Branch: Return with expression 1010:28 Construct vec4 ( temp 4-component vector of float) 1020:28 Convert int to float ( temp float) 1030:28 'i' ( temp int) 1040:28 Convert int to float ( temp float) 1050:28 'i' ( temp int) 1060:28 Convert int to float ( temp float) 1070:28 'i' ( temp int) 1080:28 Convert int to float ( temp float) 1090:28 'i' ( temp int) 1100:20 Function Definition: main( ( temp void) 1110:20 Function Parameters: 1120:? Sequence 1130:20 move second child to first child ( temp 4-component vector of float) 1140:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 1150:20 Function Call: @main( ( temp 4-component vector of float) 1160:? Linker Objects 1170:? 'var' ( global 2-component vector of float) 1180:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 119 120 121Linked fragment stage: 122 123 124Shader version: 500 125gl_FragCoord origin is upper left 1260:? Sequence 1270:1 Sequence 1280:1 move second child to first child ( temp 2-component vector of float) 1290:1 'var' ( global 2-component vector of float) 1300:1 Constant: 1310:1 1.000000 1320:1 2.000000 1330:6 Function Definition: type1::memFun1(vi3; ( temp int) 1340:6 Function Parameters: 1350:6 '@this' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) 1360:6 'var' ( in 3-component vector of int) 1370:? Sequence 1380:7 Branch: Return with expression 1390:7 add ( temp int) 1400:7 add ( temp int) 1410:7 direct index ( temp int) 1420:7 'var' ( in 3-component vector of int) 1430:7 Constant: 1440:7 2 (const int) 1450:7 var: direct index for structure ( temp int) 1460:7 '@this' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) 1470:7 Constant: 1480:7 1 (const int) 1490:7 var2: direct index for structure ( temp int) 1500:7 '@this' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) 1510:7 Constant: 1520:7 2 (const uint) 1530:10 Function Definition: type1::memFun2(i1; ( temp int) 1540:10 Function Parameters: 1550:10 '@this' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) 1560:10 'a' ( in int) 1570:? Sequence 1580:11 Sequence 1590:11 move second child to first child ( temp 3-component vector of int) 1600:11 'var' ( temp 3-component vector of int) 1610:11 Constant: 1620:11 1 (const int) 1630:11 2 (const int) 1640:11 3 (const int) 1650:12 Branch: Return with expression 1660:12 add ( temp int) 1670:12 add ( temp int) 1680:12 direct index ( temp int) 1690:12 'var' ( temp 3-component vector of int) 1700:12 Constant: 1710:12 2 (const int) 1720:12 Convert float to int ( temp int) 1730:12 direct index ( temp float) 1740:12 bar: direct index for structure ( temp 2-component vector of float) 1750:12 '@this' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) 1760:12 Constant: 1770:12 0 (const uint) 1780:12 Constant: 1790:12 1 (const int) 1800:12 var2: direct index for structure ( temp int) 1810:12 '@this' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) 1820:12 Constant: 1830:12 2 (const int) 1840:20 Function Definition: @main( ( temp 4-component vector of float) 1850:20 Function Parameters: 1860:? Sequence 1870:22 move second child to first child ( temp 2-component vector of float) 1880:22 bar: direct index for structure ( temp 2-component vector of float) 1890:22 'T' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) 1900:22 Constant: 1910:22 0 (const int) 1920:22 'var' ( global 2-component vector of float) 1930:23 move second child to first child ( temp int) 1940:23 var: direct index for structure ( temp int) 1950:23 'T' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) 1960:23 Constant: 1970:23 1 (const int) 1980:23 Constant: 1990:23 7 (const int) 2000:24 move second child to first child ( temp int) 2010:24 var2: direct index for structure ( temp int) 2020:24 'T' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) 2030:24 Constant: 2040:24 2 (const int) 2050:24 Constant: 2060:24 9 (const int) 2070:25 Sequence 2080:25 move second child to first child ( temp int) 2090:25 'i' ( temp int) 2100:25 Function Call: type1::memFun1(vi3; ( temp int) 2110:25 'T' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) 2120:25 Constant: 2130:25 10 (const int) 2140:25 11 (const int) 2150:25 12 (const int) 2160:26 add second child into first child ( temp int) 2170:26 'i' ( temp int) 2180:26 Function Call: type1::memFun2(i1; ( temp int) 2190:26 'T' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) 2200:26 Constant: 2210:26 17 (const int) 2220:28 Branch: Return with expression 2230:28 Construct vec4 ( temp 4-component vector of float) 2240:28 Convert int to float ( temp float) 2250:28 'i' ( temp int) 2260:28 Convert int to float ( temp float) 2270:28 'i' ( temp int) 2280:28 Convert int to float ( temp float) 2290:28 'i' ( temp int) 2300:28 Convert int to float ( temp float) 2310:28 'i' ( temp int) 2320:20 Function Definition: main( ( temp void) 2330:20 Function Parameters: 2340:? Sequence 2350:20 move second child to first child ( temp 4-component vector of float) 2360:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 2370:20 Function Call: @main( ( temp 4-component vector of float) 2380:? Linker Objects 2390:? 'var' ( global 2-component vector of float) 2400:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 241 242// Module Version 10000 243// Generated by (magic number): 8000b 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) 30996(@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 31716(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 33122(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