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

                              Capability Shader
                              Capability SampleMaskOverrideCoverageNV
                              Extension  "SPV_NV_sample_mask_override_coverage"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 11 19
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 450
                              SourceExtension  "GL_NV_sample_mask_override_coverage"
                              Name 4  "main"
                              Name 11  "gl_SampleMask"
                              Name 19  "color"
                              Decorate 11(gl_SampleMask) BuiltIn SampleMask
                              Decorate 11(gl_SampleMask) OverrideCoverageNV
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 32 1
               7:             TypeInt 32 0
               8:      7(int) Constant 1
               9:             TypeArray 6(int) 8
              10:             TypePointer Output 9
11(gl_SampleMask):     10(ptr) Variable Output
              12:      6(int) Constant 0
              13:      6(int) Constant 4294967295
              14:             TypePointer Output 6(int)
              16:             TypeFloat 32
              17:             TypeVector 16(float) 4
              18:             TypePointer Input 17(fvec4)
       19(color):     18(ptr) Variable Input
         4(main):           2 Function None 3
               5:             Label
              15:     14(ptr) AccessChain 11(gl_SampleMask) 12
                              Store 15 13
                              Return
                              FunctionEnd
