spv.precision.frag
Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.

// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 127

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 23 59 61 73 116
                              ExecutionMode 4 OriginUpperLeft
                              Source ESSL 310
                              Name 4  "main"
                              Name 12  "foo(vf3;"
                              Name 11  "mv3"
                              Name 19  "boolfun(vb2;"
                              Name 18  "bv2"
                              Name 23  "highfin"
                              Name 38  "sum"
                              Name 40  "uniform_medium"
                              Name 42  "uniform_high"
                              Name 48  "uniform_low"
                              Name 53  "arg1"
                              Name 55  "arg2"
                              Name 57  "d"
                              Name 59  "lowfin"
                              Name 61  "mediumfin"
                              Name 65  "global_highp"
                              Name 69  "local_highp"
                              Name 73  "mediumfout"
                              Name 104  "ub2"
                              Name 105  "param"
                              Name 114  "S"
                              MemberName 114(S) 0  "a"
                              MemberName 114(S) 1  "b"
                              Name 116  "s"
                              Decorate 12(foo(vf3;) RelaxedPrecision
                              Decorate 11(mv3) RelaxedPrecision
                              Decorate 38(sum) RelaxedPrecision
                              Decorate 40(uniform_medium) RelaxedPrecision
                              Decorate 41 RelaxedPrecision
                              Decorate 46 RelaxedPrecision
                              Decorate 48(uniform_low) RelaxedPrecision
                              Decorate 49 RelaxedPrecision
                              Decorate 50 RelaxedPrecision
                              Decorate 51 RelaxedPrecision
                              Decorate 53(arg1) RelaxedPrecision
                              Decorate 55(arg2) RelaxedPrecision
                              Decorate 57(d) RelaxedPrecision
                              Decorate 59(lowfin) RelaxedPrecision
                              Decorate 60 RelaxedPrecision
                              Decorate 61(mediumfin) RelaxedPrecision
                              Decorate 62 RelaxedPrecision
                              Decorate 63 RelaxedPrecision
                              Decorate 73(mediumfout) RelaxedPrecision
                              Decorate 74 RelaxedPrecision
                              Decorate 75 RelaxedPrecision
                              Decorate 76 RelaxedPrecision
                              Decorate 77 RelaxedPrecision
                              Decorate 78 RelaxedPrecision
                              Decorate 79 RelaxedPrecision
                              Decorate 83 RelaxedPrecision
                              Decorate 85 RelaxedPrecision
                              Decorate 87 RelaxedPrecision
                              Decorate 88 RelaxedPrecision
                              Decorate 90 RelaxedPrecision
                              Decorate 91 RelaxedPrecision
                              Decorate 94 RelaxedPrecision
                              Decorate 95 RelaxedPrecision
                              Decorate 96 RelaxedPrecision
                              Decorate 97 RelaxedPrecision
                              Decorate 98 RelaxedPrecision
                              Decorate 99 RelaxedPrecision
                              Decorate 100 RelaxedPrecision
                              Decorate 101 RelaxedPrecision
                              Decorate 102 RelaxedPrecision
                              Decorate 110 RelaxedPrecision
                              Decorate 112 RelaxedPrecision
                              Decorate 113 RelaxedPrecision
                              MemberDecorate 114(S) 1 RelaxedPrecision
                              Decorate 120 RelaxedPrecision
                              Decorate 124 RelaxedPrecision
                              Decorate 125 RelaxedPrecision
                              Decorate 126 RelaxedPrecision
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 3
               8:             TypePointer Function 7(fvec3)
               9:             TypeVector 6(float) 2
              10:             TypeFunction 9(fvec2) 8(ptr)
              14:             TypeBool
              15:             TypeVector 14(bool) 2
              16:             TypePointer Function 15(bvec2)
              17:             TypeFunction 14(bool) 16(ptr)
              21:             TypeVector 6(float) 4
              22:             TypePointer Input 21(fvec4)
     23(highfin):     22(ptr) Variable Input
              29:    14(bool) ConstantFalse
              30:    14(bool) ConstantTrue
              31:   15(bvec2) ConstantComposite 29 30
              36:             TypeInt 32 1
              37:             TypePointer Function 36(int)
              39:             TypePointer Private 36(int)
40(uniform_medium):     39(ptr) Variable Private
42(uniform_high):     39(ptr) Variable Private
 48(uniform_low):     39(ptr) Variable Private
              52:             TypePointer Function 6(float)
              54:    6(float) Constant 1078774989
              56:    6(float) Constant 1232730691
              58:             TypePointer Input 6(float)
      59(lowfin):     58(ptr) Variable Input
   61(mediumfin):     58(ptr) Variable Input
              64:             TypePointer Private 6(float)
65(global_highp):     64(ptr) Variable Private
              68:             TypePointer Function 21(fvec4)
              72:             TypePointer Output 21(fvec4)
  73(mediumfout):     72(ptr) Variable Output
              82:     36(int) Constant 4
              84:             TypeVector 36(int) 2
              92:             TypeInt 32 0
              93:     92(int) Constant 0
             103:             TypePointer Private 15(bvec2)
        104(ub2):    103(ptr) Variable Private
             111:    6(float) Constant 1065353216
          114(S):             TypeStruct 6(float) 6(float)
             115:             TypePointer Input 114(S)
          116(s):    115(ptr) Variable Input
             117:     36(int) Constant 0
             122:     36(int) Constant 1
         4(main):           2 Function None 3
               5:             Label
         38(sum):     37(ptr) Variable Function
        53(arg1):     52(ptr) Variable Function
        55(arg2):     52(ptr) Variable Function
           57(d):     52(ptr) Variable Function
 69(local_highp):     68(ptr) Variable Function
      105(param):     16(ptr) Variable Function
              41:     36(int) Load 40(uniform_medium)
              43:     36(int) Load 42(uniform_high)
              44:     36(int) IAdd 41 43
                              Store 38(sum) 44
              45:     36(int) Load 42(uniform_high)
              46:     36(int) Load 38(sum)
              47:     36(int) IAdd 46 45
                              Store 38(sum) 47
              49:     36(int) Load 48(uniform_low)
              50:     36(int) Load 38(sum)
              51:     36(int) IAdd 50 49
                              Store 38(sum) 51
                              Store 53(arg1) 54
                              Store 55(arg2) 56
              60:    6(float) Load 59(lowfin)
              62:    6(float) Load 61(mediumfin)
              63:    6(float) ExtInst 1(GLSL.std.450) 67(Distance) 60 62
                              Store 57(d) 63
              66:   21(fvec4) Load 23(highfin)
              67:    6(float) ExtInst 1(GLSL.std.450) 66(Length) 66
                              Store 65(global_highp) 67
              70:    6(float) Load 65(global_highp)
              71:   21(fvec4) CompositeConstruct 70 70 70 70
                              Store 69(local_highp) 71
              74:    6(float) Load 57(d)
              75:    6(float) ExtInst 1(GLSL.std.450) 13(Sin) 74
              76:   21(fvec4) CompositeConstruct 75 75 75 75
              77:    6(float) Load 55(arg2)
              78:   21(fvec4) CompositeConstruct 77 77 77 77
              79:   21(fvec4) FAdd 76 78
              80:   21(fvec4) Load 69(local_highp)
              81:   21(fvec4) FAdd 79 80
                              Store 73(mediumfout) 81
              83:     36(int) Load 48(uniform_low)
              85:   84(ivec2) CompositeConstruct 83 83
              86:     36(int) Load 42(uniform_high)
              87:   84(ivec2) CompositeConstruct 86 86
              88:   84(ivec2) IMul 85 87
              89:     36(int) Load 42(uniform_high)
              90:   84(ivec2) CompositeConstruct 89 89
              91:   84(ivec2) IAdd 88 90
              94:     36(int) CompositeExtract 91 0
              95:     36(int) IAdd 82 94
              96:     36(int) Load 38(sum)
              97:     36(int) IAdd 96 95
                              Store 38(sum) 97
              98:     36(int) Load 38(sum)
              99:    6(float) ConvertSToF 98
             100:   21(fvec4) CompositeConstruct 99 99 99 99
             101:   21(fvec4) Load 73(mediumfout)
             102:   21(fvec4) FAdd 101 100
                              Store 73(mediumfout) 102
             106:   15(bvec2) Load 104(ub2)
                              Store 105(param) 106
             107:    14(bool) FunctionCall 19(boolfun(vb2;) 105(param)
                              SelectionMerge 109 None
                              BranchConditional 107 108 109
             108:               Label
             110:   21(fvec4)   Load 73(mediumfout)
             112:   21(fvec4)   CompositeConstruct 111 111 111 111
             113:   21(fvec4)   FAdd 110 112
                                Store 73(mediumfout) 113
                                Branch 109
             109:             Label
             118:     58(ptr) AccessChain 116(s) 117
             119:    6(float) Load 118
             120:   21(fvec4) Load 73(mediumfout)
             121:   21(fvec4) VectorTimesScalar 120 119
                              Store 73(mediumfout) 121
             123:     58(ptr) AccessChain 116(s) 122
             124:    6(float) Load 123
             125:   21(fvec4) Load 73(mediumfout)
             126:   21(fvec4) VectorTimesScalar 125 124
                              Store 73(mediumfout) 126
                              Return
                              FunctionEnd
    12(foo(vf3;):    9(fvec2) Function None 10
         11(mv3):      8(ptr) FunctionParameter
              13:             Label
              24:   21(fvec4) Load 23(highfin)
              25:    9(fvec2) VectorShuffle 24 24 0 1
                              ReturnValue 25
                              FunctionEnd
19(boolfun(vb2;):    14(bool) Function None 17
         18(bv2):     16(ptr) FunctionParameter
              20:             Label
              28:   15(bvec2) Load 18(bv2)
              32:   15(bvec2) LogicalEqual 28 31
              33:    14(bool) All 32
                              ReturnValue 33
                              FunctionEnd
