spv.samplePosition.frag
// Module Version 10000
// Generated by (magic number): 80008
// Id's are bound by 30

                              Capability Shader
                              Capability SampleRateShading
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 9 22 24
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 450
                              Name 4  "main"
                              Name 9  "gl_SamplePosition"
                              Name 22  "color"
                              Name 24  "samp"
                              Decorate 9(gl_SamplePosition) BuiltIn SamplePosition
                              Decorate 22(color) Location 0
                              Decorate 24(samp) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 2
               8:             TypePointer Input 7(fvec2)
9(gl_SamplePosition):      8(ptr) Variable Input
              10:             TypeInt 32 0
              11:     10(int) Constant 1
              12:             TypePointer Input 6(float)
              15:    6(float) Constant 1056964608
              16:             TypeBool
              20:             TypeVector 6(float) 4
              21:             TypePointer Output 20(fvec4)
       22(color):     21(ptr) Variable Output
              23:             TypePointer Input 20(fvec4)
        24(samp):     23(ptr) Variable Input
              27:    6(float) Constant 1073741824
         4(main):           2 Function None 3
               5:             Label
              13:     12(ptr) AccessChain 9(gl_SamplePosition) 11
              14:    6(float) Load 13
              17:    16(bool) FOrdLessThan 14 15
                              SelectionMerge 19 None
                              BranchConditional 17 18 26
              18:               Label
              25:   20(fvec4)   Load 24(samp)
                                Store 22(color) 25
                                Branch 19
              26:               Label
              28:   20(fvec4)   Load 24(samp)
              29:   20(fvec4)   VectorTimesScalar 28 27
                                Store 22(color) 29
                                Branch 19
              19:             Label
                              Return
                              FunctionEnd
