hlsl.whileLoop.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 tested first
0:3        Loop Condition
0:3        any ( temp bool)
0:3          NotEqual ( temp 4-component vector of bool)
0:3            'input' ( in 4-component vector of float)
0:3            'input' ( in 4-component vector of float)
0:3        Loop Body
0:?         Sequence
0:3          Branch: Return with expression
0:3            'input' ( in 4-component vector of float)
0:4      Loop with condition tested first
0:4        Loop Condition
0:4        Constant:
0:4          false (const bool)
0:4        No loop body
0:5      Loop with condition tested first: Unroll
0:5        Loop Condition
0:5        Constant:
0:5          false (const bool)
0:5        No loop body
0:6      Loop with condition tested first
0:6        Loop Condition
0:6        Constant:
0:6          false (const bool)
0:6        No loop body
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 tested first
0:3        Loop Condition
0:3        any ( temp bool)
0:3          NotEqual ( temp 4-component vector of bool)
0:3            'input' ( in 4-component vector of float)
0:3            'input' ( in 4-component vector of float)
0:3        Loop Body
0:?         Sequence
0:3          Branch: Return with expression
0:3            'input' ( in 4-component vector of float)
0:4      Loop with condition tested first
0:4        Loop Condition
0:4        Constant:
0:4          false (const bool)
0:4        No loop body
0:5      Loop with condition tested first: Unroll
0:5        Loop Condition
0:5        Constant:
0:5          false (const bool)
0:5        No loop body
0:6      Loop with condition tested first
0:6        Loop Condition
0:6        Constant:
0:6          false (const bool)
0:6        No loop body
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): 8000b
// Id's are bound by 52

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "PixelShaderFunction" 45 48
                              ExecutionMode 4 OriginUpperLeft
                              Source HLSL 500
                              Name 4  "PixelShaderFunction"
                              Name 11  "@PixelShaderFunction(vf4;"
                              Name 10  "input"
                              Name 43  "input"
                              Name 45  "input"
                              Name 48  "@entryPointOutput"
                              Name 49  "param"
                              Decorate 45(input) Location 0
                              Decorate 48(@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)
              20:             TypeBool
              21:             TypeVector 20(bool) 4
              31:    20(bool) ConstantFalse
              44:             TypePointer Input 7(fvec4)
       45(input):     44(ptr) Variable Input
              47:             TypePointer Output 7(fvec4)
48(@entryPointOutput):     47(ptr) Variable Output
4(PixelShaderFunction):           2 Function None 3
               5:             Label
       43(input):      8(ptr) Variable Function
       49(param):      8(ptr) Variable Function
              46:    7(fvec4) Load 45(input)
                              Store 43(input) 46
              50:    7(fvec4) Load 43(input)
                              Store 49(param) 50
              51:    7(fvec4) FunctionCall 11(@PixelShaderFunction(vf4;) 49(param)
                              Store 48(@entryPointOutput) 51
                              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 17
              17:             Label
              18:    7(fvec4) Load 10(input)
              19:    7(fvec4) Load 10(input)
              22:   21(bvec4) FUnordNotEqual 18 19
              23:    20(bool) Any 22
                              BranchConditional 23 14 15
              14:               Label
              24:    7(fvec4)   Load 10(input)
                                ReturnValue 24
              16:               Label
                                Branch 13
              15:             Label
                              Branch 26
              26:             Label
                              LoopMerge 28 29 None
                              Branch 30
              30:             Label
                              BranchConditional 31 27 28
              27:               Label
                                Branch 29
              29:               Label
                                Branch 26
              28:             Label
                              Branch 32
              32:             Label
                              LoopMerge 34 35 Unroll 
                              Branch 36
              36:             Label
                              BranchConditional 31 33 34
              33:               Label
                                Branch 35
              35:               Label
                                Branch 32
              34:             Label
                              Branch 37
              37:             Label
                              LoopMerge 39 40 None
                              Branch 41
              41:             Label
                              BranchConditional 31 38 39
              38:               Label
                                Branch 40
              40:               Label
                                Branch 37
              39:             Label
              42:    7(fvec4) Undef
                              ReturnValue 42
                              FunctionEnd
