spv.specConstant.vert
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 81

                              Capability Shader
                              Capability Float64
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Vertex 4  "main" 20 22 28 53
                              Source GLSL 400
                              Name 4  "main"
                              Name 9  "arraySize"
                              Name 14  "foo(vf4[s216172782];"
                              Name 13  "p"
                              Name 17  "builtin_spec_constant("
                              Name 20  "color"
                              Name 22  "ucol"
                              Name 28  "size"
                              Name 30  "spBool"
                              Name 34  "scale"
                              Name 39  "spDouble"
                              Name 40  "spFloat"
                              Name 47  "param"
                              Name 50  "dupArraySize"
                              Name 53  "dupUcol"
                              Name 60  "spDupBool"
                              Name 63  "dupScale"
                              Name 67  "spDupDouble"
                              Name 68  "spDupFloat"
                              Name 76  "result"
                              Name 77  "gl_MaxImageUnits"
                              Decorate 9(arraySize) SpecId 16
                              Decorate 20(color) Location 0
                              Decorate 22(ucol) Location 0
                              Decorate 28(size) Location 1
                              Decorate 30(spBool) SpecId 17
                              Decorate 34(scale) SpecId 22
                              Decorate 39(spDouble) SpecId 19
                              Decorate 40(spFloat) SpecId 18
                              Decorate 50(dupArraySize) SpecId 116
                              Decorate 53(dupUcol) Location 5
                              Decorate 60(spDupBool) SpecId 117
                              Decorate 63(dupScale) SpecId 122
                              Decorate 67(spDupDouble) SpecId 119
                              Decorate 68(spDupFloat) SpecId 118
                              Decorate 77(gl_MaxImageUnits) SpecId 24
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypeInt 32 1
    9(arraySize):      8(int) SpecConstant 5
              10:             TypeArray 7(fvec4) 9(arraySize)
              11:             TypePointer Function 10
              12:             TypeFunction 2 11(ptr)
              16:             TypeFunction 8(int)
              19:             TypePointer Output 7(fvec4)
       20(color):     19(ptr) Variable Output
              21:             TypePointer Input 10
        22(ucol):     21(ptr) Variable Input
              23:      8(int) Constant 2
              24:             TypePointer Input 7(fvec4)
              27:             TypePointer Output 8(int)
        28(size):     27(ptr) Variable Output
              29:             TypeBool
      30(spBool):    29(bool) SpecConstantTrue
              33:             TypeInt 32 0
       34(scale):     33(int) SpecConstant 2
              38:             TypeFloat 64
    39(spDouble):38(float64_t) SpecConstant 1413754136 1074340347
     40(spFloat):    6(float) SpecConstant 1078523331
              41:38(float64_t) SpecConstantOp 115 40(spFloat)
50(dupArraySize):      8(int) SpecConstant 12
              51:             TypeArray 7(fvec4) 50(dupArraySize)
              52:             TypePointer Input 51
     53(dupUcol):     52(ptr) Variable Input
   60(spDupBool):    29(bool) SpecConstantTrue
    63(dupScale):     33(int) SpecConstant 2
 67(spDupDouble):38(float64_t) SpecConstant 1413754136 1074340347
  68(spDupFloat):    6(float) SpecConstant 1078523331
              69:38(float64_t) SpecConstantOp 115 68(spDupFloat)
              75:             TypePointer Function 8(int)
77(gl_MaxImageUnits):      8(int) SpecConstant 8
         4(main):           2 Function None 3
               5:             Label
       47(param):     11(ptr) Variable Function
              25:     24(ptr) AccessChain 22(ucol) 23
              26:    7(fvec4) Load 25
                              Store 20(color) 26
                              Store 28(size) 9(arraySize)
                              SelectionMerge 32 None
                              BranchConditional 30(spBool) 31 32
              31:               Label
              35:    6(float)   ConvertUToF 34(scale)
              36:    7(fvec4)   Load 20(color)
              37:    7(fvec4)   VectorTimesScalar 36 35
                                Store 20(color) 37
                                Branch 32
              32:             Label
              42:38(float64_t) FDiv 39(spDouble) 41
              43:    6(float) FConvert 42
              44:    7(fvec4) Load 20(color)
              45:    7(fvec4) CompositeConstruct 43 43 43 43
              46:    7(fvec4) FAdd 44 45
                              Store 20(color) 46
              48:          10 Load 22(ucol)
                              Store 47(param) 48
              49:           2 FunctionCall 14(foo(vf4[s216172782];) 47(param)
                              Return
                              FunctionEnd
14(foo(vf4[s216172782];):           2 Function None 12
           13(p):     11(ptr) FunctionParameter
              15:             Label
              54:     24(ptr) AccessChain 53(dupUcol) 23
              55:    7(fvec4) Load 54
              56:    7(fvec4) Load 20(color)
              57:    7(fvec4) FAdd 56 55
                              Store 20(color) 57
              58:      8(int) Load 28(size)
              59:      8(int) IAdd 58 50(dupArraySize)
                              Store 28(size) 59
                              SelectionMerge 62 None
                              BranchConditional 60(spDupBool) 61 62
              61:               Label
              64:    6(float)   ConvertUToF 63(dupScale)
              65:    7(fvec4)   Load 20(color)
              66:    7(fvec4)   VectorTimesScalar 65 64
                                Store 20(color) 66
                                Branch 62
              62:             Label
              70:38(float64_t) FDiv 67(spDupDouble) 69
              71:    6(float) FConvert 70
              72:    7(fvec4) Load 20(color)
              73:    7(fvec4) CompositeConstruct 71 71 71 71
              74:    7(fvec4) FAdd 72 73
                              Store 20(color) 74
                              Return
                              FunctionEnd
17(builtin_spec_constant():      8(int) Function None 16
              18:             Label
      76(result):     75(ptr) Variable Function
                              Store 76(result) 77(gl_MaxImageUnits)
              78:      8(int) Load 76(result)
                              ReturnValue 78
                              FunctionEnd
