spv.flowControl.frag

Linked fragment stage:


// Module Version 99
// Generated by (magic number): 51a00bb
// Id's are bound by 42

                              Source GLSL 120
                              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 14  "color2"
                              Name 16  "otherColor"
                              Name 19  "c"
                              Name 22  "d"
                              Name 28  "bigColor"
                              Name 33  "smallColor"
                              Name 38  "gl_FragColor"
                              Decorate 12(BaseColor) Smooth
                              Decorate 19(c) Smooth
                              Decorate 38(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
              15:             TypePointer UniformConstant 8(fvec4)
  16(otherColor):     15(ptr) Variable UniformConstant
              18:             TypePointer Input 7(float)
           19(c):     18(ptr) Variable Input
              21:             TypePointer UniformConstant 7(float)
           22(d):     21(ptr) Variable UniformConstant
              24:             TypeBool
    28(bigColor):     15(ptr) Variable UniformConstant
  33(smallColor):     15(ptr) Variable UniformConstant
              37:             TypePointer Output 8(fvec4)
38(gl_FragColor):     37(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
       10(color):      9(ptr) Variable Function
      14(color2):      9(ptr) Variable Function
              13:    8(fvec4) Load 12(BaseColor)
                              Store 10(color) 13
              17:    8(fvec4) Load 16(otherColor)
                              Store 14(color2) 17
              20:    7(float) Load 19(c)
              23:    7(float) Load 22(d)
              25:    24(bool) FOrdGreaterThan 20 23
                              SelectionMerge 27 None
                              BranchConditional 25 26 32
              26:               Label
              29:    8(fvec4)   Load 28(bigColor)
              30:    8(fvec4)   Load 10(color)
              31:    8(fvec4)   FAdd 30 29
                                Store 10(color) 31
                                Branch 27
              32:               Label
              34:    8(fvec4)   Load 33(smallColor)
              35:    8(fvec4)   Load 10(color)
              36:    8(fvec4)   FAdd 35 34
                                Store 10(color) 36
                                Branch 27
              27:             Label
              39:    8(fvec4) Load 10(color)
              40:    8(fvec4) Load 14(color2)
              41:    8(fvec4) FMul 39 40
                              Store 38(gl_FragColor) 41
                              Branch 6
               6:             Label
                              Return
                              FunctionEnd
