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