spv.precision.frag

Linked fragment stage:


// Module Version 99
// Generated by (magic number): 51a00bb
// Id's are bound by 111

                              Source ESSL 300
                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main"
                              ExecutionMode 4 OriginLowerLeft
                              Name 4  "main"
                              Name 13  "foo(vf3;"
                              Name 12  "mv3"
                              Name 20  "boolfun(vb2;"
                              Name 19  "bv2"
                              Name 24  "highfin"
                              Name 37  "sum"
                              Name 39  "uniform_medium"
                              Name 41  "uniform_high"
                              Name 47  "uniform_low"
                              Name 52  "arg1"
                              Name 54  "arg2"
                              Name 56  "d"
                              Name 58  "lowfin"
                              Name 60  "mediumfin"
                              Name 64  "global_highp"
                              Name 68  "local_highp"
                              Name 72  "mediumfout"
                              Name 101  "ub2"
                              Name 102  "param"
                              Decorate 24(highfin) Smooth
                              Decorate 37(sum) RelaxedPrecision
                              Decorate 39(uniform_medium) RelaxedPrecision
                              Decorate 47(uniform_low) RelaxedPrecision
                              Decorate 52(arg1) RelaxedPrecision
                              Decorate 54(arg2) RelaxedPrecision
                              Decorate 56(d) RelaxedPrecision
                              Decorate 58(lowfin) RelaxedPrecision
                              Decorate 58(lowfin) Smooth
                              Decorate 60(mediumfin) RelaxedPrecision
                              Decorate 60(mediumfin) Smooth
                              Decorate 72(mediumfout) RelaxedPrecision
               2:             TypeVoid
               3:             TypeFunction 2
               7:             TypeFloat 32
               8:             TypeVector 7(float) 3
               9:             TypePointer Function 8(fvec3)
              10:             TypeVector 7(float) 2
              11:             TypeFunction 10(fvec2) 9(ptr)
              15:             TypeBool
              16:             TypeVector 15(bool) 2
              17:             TypePointer Function 16(bvec2)
              18:             TypeFunction 15(bool) 17(ptr)
              22:             TypeVector 7(float) 4
              23:             TypePointer Input 22(fvec4)
     24(highfin):     23(ptr) Variable Input
              29:    15(bool) ConstantFalse
              30:    15(bool) ConstantTrue
              31:   16(bvec2) ConstantComposite 29 30
              35:             TypeInt 32 1
              36:             TypePointer Function 35(int)
              38:             TypePointer UniformConstant 35(int)
39(uniform_medium):     38(ptr) Variable UniformConstant
41(uniform_high):     38(ptr) Variable UniformConstant
 47(uniform_low):     38(ptr) Variable UniformConstant
              51:             TypePointer Function 7(float)
              53:    7(float) Constant 1078774989
              55:    7(float) Constant 1232730691
              57:             TypePointer Input 7(float)
      58(lowfin):     57(ptr) Variable Input
   60(mediumfin):     57(ptr) Variable Input
              63:             TypePointer PrivateGlobal 7(float)
64(global_highp):     63(ptr) Variable PrivateGlobal
              67:             TypePointer Function 22(fvec4)
              71:             TypePointer Output 22(fvec4)
  72(mediumfout):     71(ptr) Variable Output
              81:     35(int) Constant 4
              83:             TypeVector 35(int) 2
             100:             TypePointer UniformConstant 16(bvec2)
        101(ub2):    100(ptr) Variable UniformConstant
             108:    7(float) Constant 1065353216
         4(main):           2 Function None 3
               5:             Label
         37(sum):     36(ptr) Variable Function
        52(arg1):     51(ptr) Variable Function
        54(arg2):     51(ptr) Variable Function
           56(d):     51(ptr) Variable Function
 68(local_highp):     67(ptr) Variable Function
      102(param):     17(ptr) Variable Function
              40:     35(int) Load 39(uniform_medium)
              42:     35(int) Load 41(uniform_high)
              43:     35(int) IAdd 40 42
                              Store 37(sum) 43
              44:     35(int) Load 41(uniform_high)
              45:     35(int) Load 37(sum)
              46:     35(int) IAdd 45 44
                              Store 37(sum) 46
              48:     35(int) Load 47(uniform_low)
              49:     35(int) Load 37(sum)
              50:     35(int) IAdd 49 48
                              Store 37(sum) 50
                              Store 52(arg1) 53
                              Store 54(arg2) 55
              59:    7(float) Load 58(lowfin)
              61:    7(float) Load 60(mediumfin)
              62:    7(float) ExtInst 1(GLSL.std.450) 66(Distance) 59 61
                              Store 56(d) 62
              65:   22(fvec4) Load 24(highfin)
              66:    7(float) ExtInst 1(GLSL.std.450) 65(Length) 65
                              Store 64(global_highp) 66
              69:    7(float) Load 64(global_highp)
              70:   22(fvec4) CompositeConstruct 69 69 69 69
                              Store 68(local_highp) 70
              73:    7(float) Load 56(d)
              74:    7(float) ExtInst 1(GLSL.std.450) 13(Sin) 73
              75:   22(fvec4) CompositeConstruct 74 74 74 74
              76:    7(float) Load 54(arg2)
              77:   22(fvec4) CompositeConstruct 76 76 76 76
              78:   22(fvec4) FAdd 75 77
              79:   22(fvec4) Load 68(local_highp)
              80:   22(fvec4) FAdd 78 79
                              Store 72(mediumfout) 80
              82:     35(int) Load 47(uniform_low)
              84:   83(ivec2) CompositeConstruct 82 82
              85:     35(int) Load 41(uniform_high)
              86:   83(ivec2) CompositeConstruct 85 85
              87:   83(ivec2) IMul 84 86
              88:     35(int) Load 41(uniform_high)
              89:   83(ivec2) CompositeConstruct 88 88
              90:   83(ivec2) IAdd 87 89
              91:     35(int) CompositeExtract 90 0
              92:     35(int) IAdd 81 91
              93:     35(int) Load 37(sum)
              94:     35(int) IAdd 93 92
                              Store 37(sum) 94
              95:     35(int) Load 37(sum)
              96:    7(float) ConvertSToF 95
              97:   22(fvec4) CompositeConstruct 96 96 96 96
              98:   22(fvec4) Load 72(mediumfout)
              99:   22(fvec4) FAdd 98 97
                              Store 72(mediumfout) 99
             103:   16(bvec2) Load 101(ub2)
                              Store 102(param) 103
             104:    15(bool) FunctionCall 20(boolfun(vb2;) 102(param)
                              SelectionMerge 106 None
                              BranchConditional 104 105 106
             105:               Label
             107:   22(fvec4)   Load 72(mediumfout)
             109:   22(fvec4)   CompositeConstruct 108 108 108 108
             110:   22(fvec4)   FAdd 107 109
                                Store 72(mediumfout) 110
                                Branch 106
             106:             Label
                              Branch 6
               6:             Label
                              Return
                              FunctionEnd
    13(foo(vf3;):   10(fvec2) Function None 11
         12(mv3):      9(ptr) FunctionParameter
              14:             Label
              25:   22(fvec4) Load 24(highfin)
              26:   10(fvec2) VectorShuffle 25 25 0 1
                              ReturnValue 26
                              FunctionEnd
20(boolfun(vb2;):    15(bool) Function None 18
         19(bv2):     17(ptr) FunctionParameter
              21:             Label
              28:   16(bvec2) Load 19(bv2)
              32:   16(bvec2) IEqual 28 31
              33:    15(bool) All 32
                              ReturnValue 33
                              FunctionEnd
