spv.forLoop.frag

Linked fragment stage:


// Module Version 99
// Generated by (magic number): 51a00bb
// Id's are bound by 123

                              Source GLSL 130
                              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 16  "i"
                              Name 23  "Count"
                              Name 28  "bigColor"
                              Name 36  "gl_FragColor"
                              Name 39  "sum"
                              Name 41  "i"
                              Name 51  "v4"
                              Name 60  "i"
                              Name 66  "tv4"
                              Name 84  "r"
                              Name 90  "i"
                              Name 98  "f"
                              Name 111  "i"
                              Decorate 12(BaseColor) Smooth
                              Decorate 36(gl_FragColor) BuiltIn FragColor
                              Decorate 98(f) Smooth
               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
              14:             TypeInt 32 1
              15:             TypePointer Function 14(int)
              17:     14(int) Constant 0
              22:             TypePointer UniformConstant 14(int)
       23(Count):     22(ptr) Variable UniformConstant
              25:             TypeBool
              27:             TypePointer UniformConstant 8(fvec4)
    28(bigColor):     27(ptr) Variable UniformConstant
              33:     14(int) Constant 1
              35:             TypePointer Output 8(fvec4)
36(gl_FragColor):     35(ptr) Variable Output
              38:             TypePointer Function 7(float)
              40:    7(float) Constant 0
              46:     14(int) Constant 4
              48:             TypeInt 32 0
              49:             TypeVector 48(int) 4
              50:             TypePointer UniformConstant 49(ivec4)
          51(v4):     50(ptr) Variable UniformConstant
              71:     48(int) Constant 4
              86:             TypeVector 7(float) 3
              97:             TypePointer Input 7(float)
           98(f):     97(ptr) Variable Input
             116:     14(int) Constant 16
         4(main):           2 Function None 3
               5:             Label
       10(color):      9(ptr) Variable Function
           16(i):     15(ptr) Variable Function
         39(sum):     38(ptr) Variable Function
           41(i):     15(ptr) Variable Function
           60(i):     15(ptr) Variable Function
         66(tv4):      9(ptr) Variable Function
           84(r):      9(ptr) Variable Function
           90(i):     15(ptr) Variable Function
          111(i):     15(ptr) Variable Function
              13:    8(fvec4) Load 12(BaseColor)
                              Store 10(color) 13
                              Store 16(i) 17
                              Branch 18
              18:             Label
              21:     14(int) Load 16(i)
              24:     14(int) Load 23(Count)
              26:    25(bool) SLessThan 21 24
                              LoopMerge 19 None
                              BranchConditional 26 20 19
              20:               Label
              29:    8(fvec4)   Load 28(bigColor)
              30:    8(fvec4)   Load 10(color)
              31:    8(fvec4)   FAdd 30 29
                                Store 10(color) 31
              32:     14(int)   Load 16(i)
              34:     14(int)   IAdd 32 33
                                Store 16(i) 34
                                Branch 18
              19:             Label
              37:    8(fvec4) Load 10(color)
                              Store 36(gl_FragColor) 37
                              Store 39(sum) 40
                              Store 41(i) 17
                              Branch 42
              42:             Label
              45:     14(int) Load 41(i)
              47:    25(bool) SLessThan 45 46
                              LoopMerge 43 None
                              BranchConditional 47 44 43
              44:               Label
              52:     14(int)   Load 41(i)
              53:   49(ivec4)   Load 51(v4)
              54:     48(int)   VectorExtractDynamic 53 52
              55:    7(float)   ConvertUToF 54
              56:    7(float)   Load 39(sum)
              57:    7(float)   FAdd 56 55
                                Store 39(sum) 57
              58:     14(int)   Load 41(i)
              59:     14(int)   IAdd 58 33
                                Store 41(i) 59
                                Branch 42
              43:             Label
                              Store 60(i) 17
                              Branch 61
              61:             Label
              64:     14(int) Load 60(i)
              65:    25(bool) SLessThan 64 46
                              LoopMerge 62 None
                              BranchConditional 65 63 62
              63:               Label
              67:     14(int)   Load 60(i)
              68:     14(int)   Load 60(i)
              69:   49(ivec4)   Load 51(v4)
              70:     48(int)   VectorExtractDynamic 69 68
              72:     48(int)   IMul 70 71
              73:    7(float)   ConvertUToF 72
              74:    8(fvec4)   Load 66(tv4)
              75:    8(fvec4)   VectorInsertDynamic 74 73 67
                                Store 66(tv4) 75
              76:     14(int)   Load 60(i)
              77:     14(int)   IAdd 76 33
                                Store 60(i) 77
                                Branch 61
              62:             Label
              78:    7(float) Load 39(sum)
              79:    8(fvec4) CompositeConstruct 78 78 78 78
              80:    8(fvec4) Load 66(tv4)
              81:    8(fvec4) FAdd 79 80
              82:    8(fvec4) Load 36(gl_FragColor)
              83:    8(fvec4) FAdd 82 81
                              Store 36(gl_FragColor) 83
              85:    8(fvec4) Load 12(BaseColor)
              87:   86(fvec3) VectorShuffle 85 85 0 1 2
              88:    8(fvec4) Load 84(r)
              89:    8(fvec4) VectorShuffle 88 87 4 5 6 3
                              Store 84(r) 89
                              Store 90(i) 17
                              Branch 91
              91:             Label
              94:     14(int) Load 90(i)
              95:     14(int) Load 23(Count)
              96:    25(bool) SLessThan 94 95
                              LoopMerge 92 None
                              BranchConditional 96 93 92
              93:               Label
              99:    7(float)   Load 98(f)
             100:    8(fvec4)   Load 84(r)
             101:    8(fvec4)   CompositeInsert 99 100 3
                                Store 84(r) 101
             102:     14(int)   Load 90(i)
             103:     14(int)   IAdd 102 33
                                Store 90(i) 103
                                Branch 91
              92:             Label
             104:    8(fvec4) Load 84(r)
             105:   86(fvec3) VectorShuffle 104 104 0 1 2
             106:    8(fvec4) Load 36(gl_FragColor)
             107:   86(fvec3) VectorShuffle 106 106 0 1 2
             108:   86(fvec3) FAdd 107 105
             109:    8(fvec4) Load 36(gl_FragColor)
             110:    8(fvec4) VectorShuffle 109 108 4 5 6 3
                              Store 36(gl_FragColor) 110
                              Store 111(i) 17
                              Branch 112
             112:             Label
             115:     14(int) Load 111(i)
             117:    25(bool) SLessThan 115 116
                              LoopMerge 113 None
                              BranchConditional 117 114 113
             114:               Label
             118:    7(float)   Load 98(f)
             119:    8(fvec4)   Load 36(gl_FragColor)
             120:    8(fvec4)   VectorTimesScalar 119 118
                                Store 36(gl_FragColor) 120
             121:     14(int)   Load 111(i)
             122:     14(int)   IAdd 121 46
                                Store 111(i) 122
                                Branch 112
             113:             Label
                              Branch 6
               6:             Label
                              Return
                              FunctionEnd
