spv.always-discard.frag

Linked fragment stage:


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

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 21 59
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 140
                              Name 4  "main"
                              Name 9  "white"
                              Name 12  "black"
                              Name 15  "color"
                              Name 18  "x"
                              Name 21  "tex_coord"
                              Name 30  "y"
                              Name 36  "radius"
                              Name 59  "gl_FragColor"
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypePointer Function 7(fvec4)
              10:    6(float) Constant 1065353216
              11:    7(fvec4) ConstantComposite 10 10 10 10
              13:    6(float) Constant 1045220557
              14:    7(fvec4) ConstantComposite 13 13 13 13
              17:             TypePointer Function 6(float)
              19:             TypeVector 6(float) 2
              20:             TypePointer Input 19(fvec2)
   21(tex_coord):     20(ptr) Variable Input
              22:             TypeInt 32 0
              23:     22(int) Constant 0
              24:             TypePointer Input 6(float)
              27:    6(float) Constant 1073741824
              31:     22(int) Constant 1
              46:             TypeBool
              51:    6(float) Constant 1066192077
              58:             TypePointer Output 7(fvec4)
59(gl_FragColor):     58(ptr) Variable Output
              62:    6(float) Constant 1067030938
              71:    6(float) Constant 1061158912
              76:    6(float) Constant 1098907648
         4(main):           2 Function None 3
               5:             Label
        9(white):      8(ptr) Variable Function
       12(black):      8(ptr) Variable Function
       15(color):      8(ptr) Variable Function
           18(x):     17(ptr) Variable Function
           30(y):     17(ptr) Variable Function
      36(radius):     17(ptr) Variable Function
                              Store 9(white) 11
                              Store 12(black) 14
              16:    7(fvec4) Load 9(white)
                              Store 15(color) 16
              25:     24(ptr) AccessChain 21(tex_coord) 23
              26:    6(float) Load 25
              28:    6(float) FMul 26 27
              29:    6(float) FSub 28 10
                              Store 18(x) 29
              32:     24(ptr) AccessChain 21(tex_coord) 31
              33:    6(float) Load 32
              34:    6(float) FMul 33 27
              35:    6(float) FSub 34 10
                              Store 30(y) 35
              37:    6(float) Load 18(x)
              38:    6(float) Load 18(x)
              39:    6(float) FMul 37 38
              40:    6(float) Load 30(y)
              41:    6(float) Load 30(y)
              42:    6(float) FMul 40 41
              43:    6(float) FAdd 39 42
              44:    6(float) ExtInst 1(GLSL.std.450) 31(Sqrt) 43
                              Store 36(radius) 44
              45:    6(float) Load 36(radius)
              47:    46(bool) FOrdGreaterThan 45 10
                              SelectionMerge 49 None
                              BranchConditional 47 48 49
              48:               Label
              50:    6(float)   Load 36(radius)
              52:    46(bool)   FOrdGreaterThan 50 51
                                SelectionMerge 54 None
                                BranchConditional 52 53 54
              53:                 Label
              55:    7(fvec4)     Load 15(color)
              56:    7(fvec4)     CompositeConstruct 10 10 10 10
              57:    7(fvec4)     FAdd 55 56
                                  Store 15(color) 57
                                  Branch 54
              54:               Label
              60:    7(fvec4)   Load 15(color)
                                Store 59(gl_FragColor) 60
              61:    6(float)   Load 36(radius)
              63:    46(bool)   FOrdGreaterThan 61 62
                                SelectionMerge 65 None
                                BranchConditional 63 64 65
              64:                 Label
              66:    7(fvec4)     Load 15(color)
              67:    7(fvec4)     CompositeConstruct 10 10 10 10
              68:    7(fvec4)     FAdd 66 67
                                  Store 15(color) 68
                                  Branch 65
              65:               Label
                                Branch 49
              49:             Label
                              Kill
                              FunctionEnd
