hlsl.doLoop.frag
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:2  Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
0:2    Function Parameters: 
0:2      'input' ( in 4-component vector of float)
0:?     Sequence
0:3      Loop with condition not tested first
0:3        Loop Condition
0:3        Constant:
0:3          false (const bool)
0:3        No loop body
0:4      Loop with condition not tested first
0:4        Loop Condition
0:4        Constant:
0:4          false (const bool)
0:4        No loop body
0:5      Loop with condition not tested first
0:5        Loop Condition
0:5        all ( temp bool)
0:5          Equal ( temp 4-component vector of bool)
0:5            'input' ( in 4-component vector of float)
0:5            'input' ( in 4-component vector of float)
0:5        Loop Body
0:5        Branch: Return with expression
0:5          'input' ( in 4-component vector of float)
0:2  Function Definition: PixelShaderFunction( ( temp void)
0:2    Function Parameters: 
0:?     Sequence
0:2      move second child to first child ( temp 4-component vector of float)
0:?         'input' ( temp 4-component vector of float)
0:?         'input' (layout( location=0) in 4-component vector of float)
0:2      move second child to first child ( temp 4-component vector of float)
0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:2        Function Call: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
0:?           'input' ( temp 4-component vector of float)
0:?   Linker Objects
0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:?     'input' (layout( location=0) in 4-component vector of float)


Linked fragment stage:


Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:2  Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
0:2    Function Parameters: 
0:2      'input' ( in 4-component vector of float)
0:?     Sequence
0:3      Loop with condition not tested first
0:3        Loop Condition
0:3        Constant:
0:3          false (const bool)
0:3        No loop body
0:4      Loop with condition not tested first
0:4        Loop Condition
0:4        Constant:
0:4          false (const bool)
0:4        No loop body
0:5      Loop with condition not tested first
0:5        Loop Condition
0:5        all ( temp bool)
0:5          Equal ( temp 4-component vector of bool)
0:5            'input' ( in 4-component vector of float)
0:5            'input' ( in 4-component vector of float)
0:5        Loop Body
0:5        Branch: Return with expression
0:5          'input' ( in 4-component vector of float)
0:2  Function Definition: PixelShaderFunction( ( temp void)
0:2    Function Parameters: 
0:?     Sequence
0:2      move second child to first child ( temp 4-component vector of float)
0:?         'input' ( temp 4-component vector of float)
0:?         'input' (layout( location=0) in 4-component vector of float)
0:2      move second child to first child ( temp 4-component vector of float)
0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:2        Function Call: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
0:?           'input' ( temp 4-component vector of float)
0:?   Linker Objects
0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:?     'input' (layout( location=0) in 4-component vector of float)

// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 44

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "PixelShaderFunction" 37 40
                              ExecutionMode 4 OriginUpperLeft
                              Source HLSL 500
                              Name 4  "PixelShaderFunction"
                              Name 11  "@PixelShaderFunction(vf4;"
                              Name 10  "input"
                              Name 35  "input"
                              Name 37  "input"
                              Name 40  "@entryPointOutput"
                              Name 41  "param"
                              Decorate 37(input) Location 0
                              Decorate 40(@entryPointOutput) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypePointer Function 7(fvec4)
               9:             TypeFunction 7(fvec4) 8(ptr)
              17:             TypeBool
              18:    17(bool) ConstantFalse
              31:             TypeVector 17(bool) 4
              36:             TypePointer Input 7(fvec4)
       37(input):     36(ptr) Variable Input
              39:             TypePointer Output 7(fvec4)
40(@entryPointOutput):     39(ptr) Variable Output
4(PixelShaderFunction):           2 Function None 3
               5:             Label
       35(input):      8(ptr) Variable Function
       41(param):      8(ptr) Variable Function
              38:    7(fvec4) Load 37(input)
                              Store 35(input) 38
              42:    7(fvec4) Load 35(input)
                              Store 41(param) 42
              43:    7(fvec4) FunctionCall 11(@PixelShaderFunction(vf4;) 41(param)
                              Store 40(@entryPointOutput) 43
                              Return
                              FunctionEnd
11(@PixelShaderFunction(vf4;):    7(fvec4) Function None 9
       10(input):      8(ptr) FunctionParameter
              12:             Label
                              Branch 13
              13:             Label
                              LoopMerge 15 16 None
                              Branch 14
              14:             Label
                              Branch 16
              16:             Label
                              BranchConditional 18 13 15
              15:             Label
                              Branch 19
              19:             Label
                              LoopMerge 21 22 None
                              Branch 20
              20:             Label
                              Branch 22
              22:             Label
                              BranchConditional 18 19 21
              21:             Label
                              Branch 23
              23:             Label
                              LoopMerge 25 26 None
                              Branch 24
              24:             Label
              27:    7(fvec4) Load 10(input)
                              ReturnValue 27
              26:             Label
              29:    7(fvec4) Load 10(input)
              30:    7(fvec4) Load 10(input)
              32:   31(bvec4) FOrdEqual 29 30
              33:    17(bool) All 32
                              BranchConditional 33 23 25
              25:             Label
              34:    7(fvec4) Undef
                              ReturnValue 34
                              FunctionEnd
