spv.always-discard.frag

Linked fragment stage:


// Module Version 99
// Generated by (magic number): 51a00bb
// Id's are bound by 81

                              Source GLSL 110
                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main"
                              ExecutionMode 4 OriginLowerLeft
                              Name 4  "main"
                              Name 10  "white"
                              Name 13  "black"
                              Name 16  "color"
                              Name 19  "x"
                              Name 22  "tex_coord"
                              Name 28  "y"
                              Name 33  "radius"
                              Name 56  "gl_FragColor"
                              Decorate 22(tex_coord) Smooth
                              Decorate 56(gl_FragColor) BuiltIn FragColor
               2:             TypeVoid
               3:             TypeFunction 2
               7:             TypeFloat 32
               8:             TypeVector 7(float) 4
               9:             TypePointer Function 8(fvec4)
              11:    7(float) Constant 1065353216
              12:    8(fvec4) ConstantComposite 11 11 11 11
              14:    7(float) Constant 1045220557
              15:    8(fvec4) ConstantComposite 14 14 14 14
              18:             TypePointer Function 7(float)
              20:             TypeVector 7(float) 2
              21:             TypePointer Input 20(fvec2)
   22(tex_coord):     21(ptr) Variable Input
              25:    7(float) Constant 1073741824
              43:             TypeBool
              48:    7(float) Constant 1066192077
              55:             TypePointer Output 8(fvec4)
56(gl_FragColor):     55(ptr) Variable Output
              59:    7(float) Constant 1067030938
              68:    7(float) Constant 1061158912
              73:    7(float) Constant 1098907648
         4(main):           2 Function None 3
               5:             Label
       10(white):      9(ptr) Variable Function
       13(black):      9(ptr) Variable Function
       16(color):      9(ptr) Variable Function
           19(x):     18(ptr) Variable Function
           28(y):     18(ptr) Variable Function
      33(radius):     18(ptr) Variable Function
                              Store 10(white) 12
                              Store 13(black) 15
              17:    8(fvec4) Load 10(white)
                              Store 16(color) 17
              23:   20(fvec2) Load 22(tex_coord)
              24:    7(float) CompositeExtract 23 0
              26:    7(float) FMul 24 25
              27:    7(float) FSub 26 11
                              Store 19(x) 27
              29:   20(fvec2) Load 22(tex_coord)
              30:    7(float) CompositeExtract 29 1
              31:    7(float) FMul 30 25
              32:    7(float) FSub 31 11
                              Store 28(y) 32
              34:    7(float) Load 19(x)
              35:    7(float) Load 19(x)
              36:    7(float) FMul 34 35
              37:    7(float) Load 28(y)
              38:    7(float) Load 28(y)
              39:    7(float) FMul 37 38
              40:    7(float) FAdd 36 39
              41:    7(float) ExtInst 1(GLSL.std.450) 31(Sqrt) 40
                              Store 33(radius) 41
              42:    7(float) Load 33(radius)
              44:    43(bool) FOrdGreaterThan 42 11
                              SelectionMerge 46 None
                              BranchConditional 44 45 46
              45:               Label
              47:    7(float)   Load 33(radius)
              49:    43(bool)   FOrdGreaterThan 47 48
                                SelectionMerge 51 None
                                BranchConditional 49 50 51
              50:                 Label
              52:    8(fvec4)     Load 16(color)
              53:    8(fvec4)     CompositeConstruct 11 11 11 11
              54:    8(fvec4)     FAdd 52 53
                                  Store 16(color) 54
                                  Branch 51
              51:               Label
              57:    8(fvec4)   Load 16(color)
                                Store 56(gl_FragColor) 57
              58:    7(float)   Load 33(radius)
              60:    43(bool)   FOrdGreaterThan 58 59
                                SelectionMerge 62 None
                                BranchConditional 60 61 62
              61:                 Label
              63:    8(fvec4)     Load 16(color)
              64:    8(fvec4)     CompositeConstruct 11 11 11 11
              65:    8(fvec4)     FAdd 63 64
                                  Store 16(color) 65
                                  Branch 62
              62:               Label
                                Branch 46
              46:             Label
                              Kill
              66:             Label
              67:    7(float) Load 33(radius)
              69:    43(bool) FOrdGreaterThanEqual 67 68
                              SelectionMerge 71 None
                              BranchConditional 69 70 71
              70:               Label
              72:    7(float)   Load 33(radius)
              74:    7(float)   ExtInst 1(GLSL.std.450) 26(Pow) 72 73
              75:    7(float)   FDiv 74 25
              76:    7(float)   ExtInst 1(GLSL.std.450) 4(FAbs) 75
              77:    8(fvec4)   Load 16(color)
              78:    8(fvec4)   CompositeConstruct 76 76 76 76
              79:    8(fvec4)   FSub 77 78
                                Store 16(color) 79
                                Branch 71
              71:             Label
              80:    8(fvec4) Load 16(color)
                              Store 56(gl_FragColor) 80
                              Branch 6
               6:             Label
                              Return
                              FunctionEnd
