1hlsl.entry-out.frag 2Shader version: 500 3gl_FragCoord origin is upper left 40:? Sequence 50:7 Function Definition: fun(struct-OutParam-vf2-vi21; ( temp void) 60:7 Function Parameters: 70:7 'op' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 80:? Sequence 90:8 move second child to first child ( temp 2-component vector of float) 100:8 v: direct index for structure ( temp 2-component vector of float) 110:8 'op' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 120:8 Constant: 130:8 0 (const int) 140:8 Constant: 150:8 0.400000 160:8 0.400000 170:9 move second child to first child ( temp 2-component vector of int) 180:9 i: direct index for structure ( temp 2-component vector of int) 190:9 'op' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 200:9 Constant: 210:9 1 (const int) 220:9 Constant: 230:9 7 (const int) 240:9 7 (const int) 250:13 Function Definition: @PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; ( temp 4-component vector of float) 260:13 Function Parameters: 270:13 'input' ( in 4-component vector of float) 280:13 'out1' ( out 4-component vector of float) 290:13 'out2' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 300:13 'out3' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 310:? Sequence 320:14 move second child to first child ( temp 4-component vector of float) 330:14 'out1' ( out 4-component vector of float) 340:14 'input' ( in 4-component vector of float) 350:15 move second child to first child ( temp 2-component vector of float) 360:15 v: direct index for structure ( temp 2-component vector of float) 370:15 'out2' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 380:15 Constant: 390:15 0 (const int) 400:15 Constant: 410:15 2.000000 420:15 2.000000 430:16 move second child to first child ( temp 2-component vector of int) 440:16 i: direct index for structure ( temp 2-component vector of int) 450:16 'out2' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 460:16 Constant: 470:16 1 (const int) 480:16 Constant: 490:16 3 (const int) 500:16 3 (const int) 510:18 move second child to first child ( temp 2-component vector of float) 520:18 v: direct index for structure ( temp 2-component vector of float) 530:18 'local' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 540:18 Constant: 550:18 0 (const int) 560:18 Constant: 570:18 12.000000 580:18 12.000000 590:19 move second child to first child ( temp 2-component vector of int) 600:19 i: direct index for structure ( temp 2-component vector of int) 610:19 'local' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 620:19 Constant: 630:19 1 (const int) 640:19 Constant: 650:19 13 (const int) 660:19 13 (const int) 670:20 Function Call: fun(struct-OutParam-vf2-vi21; ( temp void) 680:20 'out3' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 690:22 Branch: Return with expression 700:22 'out1' ( out 4-component vector of float) 710:13 Function Definition: PixelShaderFunction( ( temp void) 720:13 Function Parameters: 730:? Sequence 740:13 move second child to first child ( temp 4-component vector of float) 750:? 'input' ( temp 4-component vector of float) 760:? 'input' (layout( location=0) in 4-component vector of float) 770:13 move second child to first child ( temp 4-component vector of float) 780:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 790:13 Function Call: @PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; ( temp 4-component vector of float) 800:? 'input' ( temp 4-component vector of float) 810:? 'out1' ( temp 4-component vector of float) 820:? 'out2' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 830:? 'out3' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 840:13 move second child to first child ( temp 4-component vector of float) 850:? 'out1' (layout( location=1) out 4-component vector of float) 860:? 'out1' ( temp 4-component vector of float) 870:13 Sequence 880:13 move second child to first child ( temp 2-component vector of float) 890:? 'out2.v' (layout( location=2) out 2-component vector of float) 900:13 v: direct index for structure ( temp 2-component vector of float) 910:? 'out2' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 920:13 Constant: 930:13 0 (const int) 940:13 move second child to first child ( temp 2-component vector of int) 950:? 'out2.i' (layout( location=3) out 2-component vector of int) 960:13 i: direct index for structure ( temp 2-component vector of int) 970:? 'out2' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 980:13 Constant: 990:13 1 (const int) 1000:13 Sequence 1010:13 move second child to first child ( temp 2-component vector of float) 1020:? 'out3.v' (layout( location=4) out 2-component vector of float) 1030:13 v: direct index for structure ( temp 2-component vector of float) 1040:? 'out3' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 1050:13 Constant: 1060:13 0 (const int) 1070:13 move second child to first child ( temp 2-component vector of int) 1080:? 'out3.i' (layout( location=5) out 2-component vector of int) 1090:13 i: direct index for structure ( temp 2-component vector of int) 1100:? 'out3' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 1110:13 Constant: 1120:13 1 (const int) 1130:? Linker Objects 1140:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 1150:? 'input' (layout( location=0) in 4-component vector of float) 1160:? 'out1' (layout( location=1) out 4-component vector of float) 1170:? 'out2.v' (layout( location=2) out 2-component vector of float) 1180:? 'out2.i' (layout( location=3) out 2-component vector of int) 1190:? 'out3.v' (layout( location=4) out 2-component vector of float) 1200:? 'out3.i' (layout( location=5) out 2-component vector of int) 121 122 123Linked fragment stage: 124 125 126Shader version: 500 127gl_FragCoord origin is upper left 1280:? Sequence 1290:7 Function Definition: fun(struct-OutParam-vf2-vi21; ( temp void) 1300:7 Function Parameters: 1310:7 'op' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 1320:? Sequence 1330:8 move second child to first child ( temp 2-component vector of float) 1340:8 v: direct index for structure ( temp 2-component vector of float) 1350:8 'op' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 1360:8 Constant: 1370:8 0 (const int) 1380:8 Constant: 1390:8 0.400000 1400:8 0.400000 1410:9 move second child to first child ( temp 2-component vector of int) 1420:9 i: direct index for structure ( temp 2-component vector of int) 1430:9 'op' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 1440:9 Constant: 1450:9 1 (const int) 1460:9 Constant: 1470:9 7 (const int) 1480:9 7 (const int) 1490:13 Function Definition: @PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; ( temp 4-component vector of float) 1500:13 Function Parameters: 1510:13 'input' ( in 4-component vector of float) 1520:13 'out1' ( out 4-component vector of float) 1530:13 'out2' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 1540:13 'out3' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 1550:? Sequence 1560:14 move second child to first child ( temp 4-component vector of float) 1570:14 'out1' ( out 4-component vector of float) 1580:14 'input' ( in 4-component vector of float) 1590:15 move second child to first child ( temp 2-component vector of float) 1600:15 v: direct index for structure ( temp 2-component vector of float) 1610:15 'out2' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 1620:15 Constant: 1630:15 0 (const int) 1640:15 Constant: 1650:15 2.000000 1660:15 2.000000 1670:16 move second child to first child ( temp 2-component vector of int) 1680:16 i: direct index for structure ( temp 2-component vector of int) 1690:16 'out2' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 1700:16 Constant: 1710:16 1 (const int) 1720:16 Constant: 1730:16 3 (const int) 1740:16 3 (const int) 1750:18 move second child to first child ( temp 2-component vector of float) 1760:18 v: direct index for structure ( temp 2-component vector of float) 1770:18 'local' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 1780:18 Constant: 1790:18 0 (const int) 1800:18 Constant: 1810:18 12.000000 1820:18 12.000000 1830:19 move second child to first child ( temp 2-component vector of int) 1840:19 i: direct index for structure ( temp 2-component vector of int) 1850:19 'local' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 1860:19 Constant: 1870:19 1 (const int) 1880:19 Constant: 1890:19 13 (const int) 1900:19 13 (const int) 1910:20 Function Call: fun(struct-OutParam-vf2-vi21; ( temp void) 1920:20 'out3' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 1930:22 Branch: Return with expression 1940:22 'out1' ( out 4-component vector of float) 1950:13 Function Definition: PixelShaderFunction( ( temp void) 1960:13 Function Parameters: 1970:? Sequence 1980:13 move second child to first child ( temp 4-component vector of float) 1990:? 'input' ( temp 4-component vector of float) 2000:? 'input' (layout( location=0) in 4-component vector of float) 2010:13 move second child to first child ( temp 4-component vector of float) 2020:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 2030:13 Function Call: @PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; ( temp 4-component vector of float) 2040:? 'input' ( temp 4-component vector of float) 2050:? 'out1' ( temp 4-component vector of float) 2060:? 'out2' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 2070:? 'out3' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 2080:13 move second child to first child ( temp 4-component vector of float) 2090:? 'out1' (layout( location=1) out 4-component vector of float) 2100:? 'out1' ( temp 4-component vector of float) 2110:13 Sequence 2120:13 move second child to first child ( temp 2-component vector of float) 2130:? 'out2.v' (layout( location=2) out 2-component vector of float) 2140:13 v: direct index for structure ( temp 2-component vector of float) 2150:? 'out2' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 2160:13 Constant: 2170:13 0 (const int) 2180:13 move second child to first child ( temp 2-component vector of int) 2190:? 'out2.i' (layout( location=3) out 2-component vector of int) 2200:13 i: direct index for structure ( temp 2-component vector of int) 2210:? 'out2' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 2220:13 Constant: 2230:13 1 (const int) 2240:13 Sequence 2250:13 move second child to first child ( temp 2-component vector of float) 2260:? 'out3.v' (layout( location=4) out 2-component vector of float) 2270:13 v: direct index for structure ( temp 2-component vector of float) 2280:? 'out3' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 2290:13 Constant: 2300:13 0 (const int) 2310:13 move second child to first child ( temp 2-component vector of int) 2320:? 'out3.i' (layout( location=5) out 2-component vector of int) 2330:13 i: direct index for structure ( temp 2-component vector of int) 2340:? 'out3' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 2350:13 Constant: 2360:13 1 (const int) 2370:? Linker Objects 2380:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 2390:? 'input' (layout( location=0) in 4-component vector of float) 2400:? 'out1' (layout( location=1) out 4-component vector of float) 2410:? 'out2.v' (layout( location=2) out 2-component vector of float) 2420:? 'out2.i' (layout( location=3) out 2-component vector of int) 2430:? 'out3.v' (layout( location=4) out 2-component vector of float) 2440:? 'out3.i' (layout( location=5) out 2-component vector of int) 245 246// Module Version 10000 247// Generated by (magic number): 8000a 248// Id's are bound by 89 249 250 Capability Shader 251 1: ExtInstImport "GLSL.std.450" 252 MemoryModel Logical GLSL450 253 EntryPoint Fragment 4 "PixelShaderFunction" 57 60 73 76 80 83 86 254 ExecutionMode 4 OriginUpperLeft 255 Source HLSL 500 256 Name 4 "PixelShaderFunction" 257 Name 10 "OutParam" 258 MemberName 10(OutParam) 0 "v" 259 MemberName 10(OutParam) 1 "i" 260 Name 14 "fun(struct-OutParam-vf2-vi21;" 261 Name 13 "op" 262 Name 23 "@PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21;" 263 Name 19 "input" 264 Name 20 "out1" 265 Name 21 "out2" 266 Name 22 "out3" 267 Name 42 "local" 268 Name 49 "param" 269 Name 55 "input" 270 Name 57 "input" 271 Name 60 "@entryPointOutput" 272 Name 61 "out1" 273 Name 62 "out2" 274 Name 63 "out3" 275 Name 64 "param" 276 Name 66 "param" 277 Name 67 "param" 278 Name 68 "param" 279 Name 73 "out1" 280 Name 76 "out2.v" 281 Name 80 "out2.i" 282 Name 83 "out3.v" 283 Name 86 "out3.i" 284 Decorate 57(input) Location 0 285 Decorate 60(@entryPointOutput) Location 0 286 Decorate 73(out1) Location 1 287 Decorate 76(out2.v) Location 2 288 Decorate 80(out2.i) Location 3 289 Decorate 83(out3.v) Location 4 290 Decorate 86(out3.i) Location 5 291 2: TypeVoid 292 3: TypeFunction 2 293 6: TypeFloat 32 294 7: TypeVector 6(float) 2 295 8: TypeInt 32 1 296 9: TypeVector 8(int) 2 297 10(OutParam): TypeStruct 7(fvec2) 9(ivec2) 298 11: TypePointer Function 10(OutParam) 299 12: TypeFunction 2 11(ptr) 300 16: TypeVector 6(float) 4 301 17: TypePointer Function 16(fvec4) 302 18: TypeFunction 16(fvec4) 17(ptr) 17(ptr) 11(ptr) 11(ptr) 303 25: 8(int) Constant 0 304 26: 6(float) Constant 1053609165 305 27: 7(fvec2) ConstantComposite 26 26 306 28: TypePointer Function 7(fvec2) 307 30: 8(int) Constant 1 308 31: 8(int) Constant 7 309 32: 9(ivec2) ConstantComposite 31 31 310 33: TypePointer Function 9(ivec2) 311 36: 6(float) Constant 1073741824 312 37: 7(fvec2) ConstantComposite 36 36 313 39: 8(int) Constant 3 314 40: 9(ivec2) ConstantComposite 39 39 315 43: 6(float) Constant 1094713344 316 44: 7(fvec2) ConstantComposite 43 43 317 46: 8(int) Constant 13 318 47: 9(ivec2) ConstantComposite 46 46 319 56: TypePointer Input 16(fvec4) 320 57(input): 56(ptr) Variable Input 321 59: TypePointer Output 16(fvec4) 32260(@entryPointOutput): 59(ptr) Variable Output 323 73(out1): 59(ptr) Variable Output 324 75: TypePointer Output 7(fvec2) 325 76(out2.v): 75(ptr) Variable Output 326 79: TypePointer Output 9(ivec2) 327 80(out2.i): 79(ptr) Variable Output 328 83(out3.v): 75(ptr) Variable Output 329 86(out3.i): 79(ptr) Variable Output 3304(PixelShaderFunction): 2 Function None 3 331 5: Label 332 55(input): 17(ptr) Variable Function 333 61(out1): 17(ptr) Variable Function 334 62(out2): 11(ptr) Variable Function 335 63(out3): 11(ptr) Variable Function 336 64(param): 17(ptr) Variable Function 337 66(param): 17(ptr) Variable Function 338 67(param): 11(ptr) Variable Function 339 68(param): 11(ptr) Variable Function 340 58: 16(fvec4) Load 57(input) 341 Store 55(input) 58 342 65: 16(fvec4) Load 55(input) 343 Store 64(param) 65 344 69: 16(fvec4) FunctionCall 23(@PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21;) 64(param) 66(param) 67(param) 68(param) 345 70: 16(fvec4) Load 66(param) 346 Store 61(out1) 70 347 71:10(OutParam) Load 67(param) 348 Store 62(out2) 71 349 72:10(OutParam) Load 68(param) 350 Store 63(out3) 72 351 Store 60(@entryPointOutput) 69 352 74: 16(fvec4) Load 61(out1) 353 Store 73(out1) 74 354 77: 28(ptr) AccessChain 62(out2) 25 355 78: 7(fvec2) Load 77 356 Store 76(out2.v) 78 357 81: 33(ptr) AccessChain 62(out2) 30 358 82: 9(ivec2) Load 81 359 Store 80(out2.i) 82 360 84: 28(ptr) AccessChain 63(out3) 25 361 85: 7(fvec2) Load 84 362 Store 83(out3.v) 85 363 87: 33(ptr) AccessChain 63(out3) 30 364 88: 9(ivec2) Load 87 365 Store 86(out3.i) 88 366 Return 367 FunctionEnd 36814(fun(struct-OutParam-vf2-vi21;): 2 Function None 12 369 13(op): 11(ptr) FunctionParameter 370 15: Label 371 29: 28(ptr) AccessChain 13(op) 25 372 Store 29 27 373 34: 33(ptr) AccessChain 13(op) 30 374 Store 34 32 375 Return 376 FunctionEnd 37723(@PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21;): 16(fvec4) Function None 18 378 19(input): 17(ptr) FunctionParameter 379 20(out1): 17(ptr) FunctionParameter 380 21(out2): 11(ptr) FunctionParameter 381 22(out3): 11(ptr) FunctionParameter 382 24: Label 383 42(local): 11(ptr) Variable Function 384 49(param): 11(ptr) Variable Function 385 35: 16(fvec4) Load 19(input) 386 Store 20(out1) 35 387 38: 28(ptr) AccessChain 21(out2) 25 388 Store 38 37 389 41: 33(ptr) AccessChain 21(out2) 30 390 Store 41 40 391 45: 28(ptr) AccessChain 42(local) 25 392 Store 45 44 393 48: 33(ptr) AccessChain 42(local) 30 394 Store 48 47 395 50: 2 FunctionCall 14(fun(struct-OutParam-vf2-vi21;) 49(param) 396 51:10(OutParam) Load 49(param) 397 Store 22(out3) 51 398 52: 16(fvec4) Load 20(out1) 399 ReturnValue 52 400 FunctionEnd 401