spv.doWhileLoop.frag

Linked fragment stage:


// Module Version 99
// Generated by (magic number): 51a00bb
// Id's are bound by 38

                              Source GLSL 110
                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main"
                              ExecutionMode 4 OriginLowerLeft
                              Name 4  "main"
                              Name 10  "color"
                              Name 12  "BaseColor"
                              Name 25  "d"
                              Name 30  "bigColor"
                              Name 36  "gl_FragColor"
                              Decorate 12(BaseColor) Smooth
                              Decorate 36(gl_FragColor) BuiltIn FragColor
               2:             TypeVoid
               3:             TypeFunction 2
               7:             TypeFloat 32
               8:             TypeVector 7(float) 4
               9:             TypePointer Function 8(fvec4)
              11:             TypePointer Input 8(fvec4)
   12(BaseColor):     11(ptr) Variable Input
              18:             TypeBool
              19:    18(bool) ConstantTrue
              24:             TypePointer UniformConstant 7(float)
           25(d):     24(ptr) Variable UniformConstant
              29:             TypePointer UniformConstant 8(fvec4)
    30(bigColor):     29(ptr) Variable UniformConstant
              34:    18(bool) ConstantFalse
              35:             TypePointer Output 8(fvec4)
36(gl_FragColor):     35(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
       10(color):      9(ptr) Variable Function
              13:    8(fvec4) Load 12(BaseColor)
                              Store 10(color) 13
                              Branch 14
              14:             Label
              17:    18(bool) Phi 19 5 34 16
                              LoopMerge 15 None
                              Branch 20
              20:             Label
                              SelectionMerge 16 None
                              BranchConditional 17 16 21
              21:               Label
              22:    8(fvec4)   Load 10(color)
              23:    7(float)   CompositeExtract 22 0
              26:    7(float)   Load 25(d)
              27:    18(bool)   FOrdLessThan 23 26
                                SelectionMerge 28 None
                                BranchConditional 27 28 15
              28:               Label
                                Branch 16
              16:             Label
              31:    8(fvec4) Load 30(bigColor)
              32:    8(fvec4) Load 10(color)
              33:    8(fvec4) FAdd 32 31
                              Store 10(color) 33
                              Branch 14
              15:             Label
              37:    8(fvec4) Load 10(color)
                              Store 36(gl_FragColor) 37
                              Branch 6
               6:             Label
                              Return
                              FunctionEnd
