1 hlsl.entry-out.frag 2 Shader version: 500 3 gl_FragCoord origin is upper left 4 0:? Sequence 5 0:7 Function Definition: fun(struct-OutParam-vf2-vi21; ( temp void) 6 0:7 Function Parameters: 7 0:7 'op' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 8 0:? Sequence 9 0:8 move second child to first child ( temp 2-component vector of float) 10 0:8 v: direct index for structure ( temp 2-component vector of float) 11 0:8 'op' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 12 0:8 Constant: 13 0:8 0 (const int) 14 0:8 Constant: 15 0:8 0.400000 16 0:8 0.400000 17 0:9 move second child to first child ( temp 2-component vector of int) 18 0:9 i: direct index for structure ( temp 2-component vector of int) 19 0:9 'op' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 20 0:9 Constant: 21 0:9 1 (const int) 22 0:9 Constant: 23 0:9 7 (const int) 24 0:9 7 (const int) 25 0:13 Function Definition: @PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; ( temp 4-component vector of float) 26 0:13 Function Parameters: 27 0:13 'input' ( in 4-component vector of float) 28 0:13 'out1' ( out 4-component vector of float) 29 0:13 'out2' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 30 0:13 'out3' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 31 0:? Sequence 32 0:14 move second child to first child ( temp 4-component vector of float) 33 0:14 'out1' ( out 4-component vector of float) 34 0:14 'input' ( in 4-component vector of float) 35 0:15 move second child to first child ( temp 2-component vector of float) 36 0:15 v: direct index for structure ( temp 2-component vector of float) 37 0:15 'out2' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 38 0:15 Constant: 39 0:15 0 (const int) 40 0:15 Constant: 41 0:15 2.000000 42 0:15 2.000000 43 0:16 move second child to first child ( temp 2-component vector of int) 44 0:16 i: direct index for structure ( temp 2-component vector of int) 45 0:16 'out2' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 46 0:16 Constant: 47 0:16 1 (const int) 48 0:16 Constant: 49 0:16 3 (const int) 50 0:16 3 (const int) 51 0:18 move second child to first child ( temp 2-component vector of float) 52 0:18 v: direct index for structure ( temp 2-component vector of float) 53 0:18 'local' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 54 0:18 Constant: 55 0:18 0 (const int) 56 0:18 Constant: 57 0:18 12.000000 58 0:18 12.000000 59 0:19 move second child to first child ( temp 2-component vector of int) 60 0:19 i: direct index for structure ( temp 2-component vector of int) 61 0:19 'local' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 62 0:19 Constant: 63 0:19 1 (const int) 64 0:19 Constant: 65 0:19 13 (const int) 66 0:19 13 (const int) 67 0:20 Function Call: fun(struct-OutParam-vf2-vi21; ( temp void) 68 0:20 'out3' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 69 0:22 Branch: Return with expression 70 0:22 'out1' ( out 4-component vector of float) 71 0:13 Function Definition: PixelShaderFunction( ( temp void) 72 0:13 Function Parameters: 73 0:? Sequence 74 0:13 move second child to first child ( temp 4-component vector of float) 75 0:? 'input' ( temp 4-component vector of float) 76 0:? 'input' (layout( location=0) in 4-component vector of float) 77 0:13 move second child to first child ( temp 4-component vector of float) 78 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 79 0:13 Function Call: @PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; ( temp 4-component vector of float) 80 0:? 'input' ( temp 4-component vector of float) 81 0:? 'out1' ( temp 4-component vector of float) 82 0:? 'out2' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 83 0:? 'out3' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 84 0:13 move second child to first child ( temp 4-component vector of float) 85 0:? 'out1' (layout( location=1) out 4-component vector of float) 86 0:? 'out1' ( temp 4-component vector of float) 87 0:13 Sequence 88 0:13 move second child to first child ( temp 2-component vector of float) 89 0:? 'out2.v' (layout( location=2) out 2-component vector of float) 90 0:13 v: direct index for structure ( temp 2-component vector of float) 91 0:? 'out2' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 92 0:13 Constant: 93 0:13 0 (const int) 94 0:13 move second child to first child ( temp 2-component vector of int) 95 0:? 'out2.i' (layout( location=3) out 2-component vector of int) 96 0:13 i: direct index for structure ( temp 2-component vector of int) 97 0:? 'out2' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 98 0:13 Constant: 99 0:13 1 (const int) 100 0:13 Sequence 101 0:13 move second child to first child ( temp 2-component vector of float) 102 0:? 'out3.v' (layout( location=4) out 2-component vector of float) 103 0:13 v: direct index for structure ( temp 2-component vector of float) 104 0:? 'out3' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 105 0:13 Constant: 106 0:13 0 (const int) 107 0:13 move second child to first child ( temp 2-component vector of int) 108 0:? 'out3.i' (layout( location=5) out 2-component vector of int) 109 0:13 i: direct index for structure ( temp 2-component vector of int) 110 0:? 'out3' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 111 0:13 Constant: 112 0:13 1 (const int) 113 0:? Linker Objects 114 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 115 0:? 'input' (layout( location=0) in 4-component vector of float) 116 0:? 'out1' (layout( location=1) out 4-component vector of float) 117 0:? 'out2.v' (layout( location=2) out 2-component vector of float) 118 0:? 'out2.i' (layout( location=3) out 2-component vector of int) 119 0:? 'out3.v' (layout( location=4) out 2-component vector of float) 120 0:? 'out3.i' (layout( location=5) out 2-component vector of int) 121 122 123 Linked fragment stage: 124 125 126 Shader version: 500 127 gl_FragCoord origin is upper left 128 0:? Sequence 129 0:7 Function Definition: fun(struct-OutParam-vf2-vi21; ( temp void) 130 0:7 Function Parameters: 131 0:7 'op' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 132 0:? Sequence 133 0:8 move second child to first child ( temp 2-component vector of float) 134 0:8 v: direct index for structure ( temp 2-component vector of float) 135 0:8 'op' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 136 0:8 Constant: 137 0:8 0 (const int) 138 0:8 Constant: 139 0:8 0.400000 140 0:8 0.400000 141 0:9 move second child to first child ( temp 2-component vector of int) 142 0:9 i: direct index for structure ( temp 2-component vector of int) 143 0:9 'op' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 144 0:9 Constant: 145 0:9 1 (const int) 146 0:9 Constant: 147 0:9 7 (const int) 148 0:9 7 (const int) 149 0:13 Function Definition: @PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; ( temp 4-component vector of float) 150 0:13 Function Parameters: 151 0:13 'input' ( in 4-component vector of float) 152 0:13 'out1' ( out 4-component vector of float) 153 0:13 'out2' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 154 0:13 'out3' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 155 0:? Sequence 156 0:14 move second child to first child ( temp 4-component vector of float) 157 0:14 'out1' ( out 4-component vector of float) 158 0:14 'input' ( in 4-component vector of float) 159 0:15 move second child to first child ( temp 2-component vector of float) 160 0:15 v: direct index for structure ( temp 2-component vector of float) 161 0:15 'out2' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 162 0:15 Constant: 163 0:15 0 (const int) 164 0:15 Constant: 165 0:15 2.000000 166 0:15 2.000000 167 0:16 move second child to first child ( temp 2-component vector of int) 168 0:16 i: direct index for structure ( temp 2-component vector of int) 169 0:16 'out2' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 170 0:16 Constant: 171 0:16 1 (const int) 172 0:16 Constant: 173 0:16 3 (const int) 174 0:16 3 (const int) 175 0:18 move second child to first child ( temp 2-component vector of float) 176 0:18 v: direct index for structure ( temp 2-component vector of float) 177 0:18 'local' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 178 0:18 Constant: 179 0:18 0 (const int) 180 0:18 Constant: 181 0:18 12.000000 182 0:18 12.000000 183 0:19 move second child to first child ( temp 2-component vector of int) 184 0:19 i: direct index for structure ( temp 2-component vector of int) 185 0:19 'local' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 186 0:19 Constant: 187 0:19 1 (const int) 188 0:19 Constant: 189 0:19 13 (const int) 190 0:19 13 (const int) 191 0:20 Function Call: fun(struct-OutParam-vf2-vi21; ( temp void) 192 0:20 'out3' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 193 0:22 Branch: Return with expression 194 0:22 'out1' ( out 4-component vector of float) 195 0:13 Function Definition: PixelShaderFunction( ( temp void) 196 0:13 Function Parameters: 197 0:? Sequence 198 0:13 move second child to first child ( temp 4-component vector of float) 199 0:? 'input' ( temp 4-component vector of float) 200 0:? 'input' (layout( location=0) in 4-component vector of float) 201 0:13 move second child to first child ( temp 4-component vector of float) 202 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 203 0:13 Function Call: @PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; ( temp 4-component vector of float) 204 0:? 'input' ( temp 4-component vector of float) 205 0:? 'out1' ( temp 4-component vector of float) 206 0:? 'out2' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 207 0:? 'out3' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 208 0:13 move second child to first child ( temp 4-component vector of float) 209 0:? 'out1' (layout( location=1) out 4-component vector of float) 210 0:? 'out1' ( temp 4-component vector of float) 211 0:13 Sequence 212 0:13 move second child to first child ( temp 2-component vector of float) 213 0:? 'out2.v' (layout( location=2) out 2-component vector of float) 214 0:13 v: direct index for structure ( temp 2-component vector of float) 215 0:? 'out2' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 216 0:13 Constant: 217 0:13 0 (const int) 218 0:13 move second child to first child ( temp 2-component vector of int) 219 0:? 'out2.i' (layout( location=3) out 2-component vector of int) 220 0:13 i: direct index for structure ( temp 2-component vector of int) 221 0:? 'out2' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 222 0:13 Constant: 223 0:13 1 (const int) 224 0:13 Sequence 225 0:13 move second child to first child ( temp 2-component vector of float) 226 0:? 'out3.v' (layout( location=4) out 2-component vector of float) 227 0:13 v: direct index for structure ( temp 2-component vector of float) 228 0:? 'out3' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 229 0:13 Constant: 230 0:13 0 (const int) 231 0:13 move second child to first child ( temp 2-component vector of int) 232 0:? 'out3.i' (layout( location=5) out 2-component vector of int) 233 0:13 i: direct index for structure ( temp 2-component vector of int) 234 0:? 'out3' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 235 0:13 Constant: 236 0:13 1 (const int) 237 0:? Linker Objects 238 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 239 0:? 'input' (layout( location=0) in 4-component vector of float) 240 0:? 'out1' (layout( location=1) out 4-component vector of float) 241 0:? 'out2.v' (layout( location=2) out 2-component vector of float) 242 0:? 'out2.i' (layout( location=3) out 2-component vector of int) 243 0:? 'out3.v' (layout( location=4) out 2-component vector of float) 244 0:? 'out3.i' (layout( location=5) out 2-component vector of int) 245 246 // Module Version 10000 247 // Generated by (magic number): 80007 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) 322 60(@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 330 4(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 368 14(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 377 23(@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