spv.arbPostDepthCoverage.frag
// Module Version 10000
// Generated by (magic number): 80002
// Id's are bound by 18

                              Capability Shader
                              Capability SampleRateShading
                              Capability SampleMaskPostDepthCoverage
                              Extension  "SPV_KHR_post_depth_coverage"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 8 13
                              ExecutionMode 4 OriginUpperLeft
                              ExecutionMode 4 EarlyFragmentTests
                              ExecutionMode 4 PostDepthCoverage
                              Source GLSL 450
                              SourceExtension  "GL_ARB_post_depth_coverage"
                              SourceExtension  "GL_EXT_post_depth_coverage"
                              Name 4  "main"
                              Name 8  "readSampleMaskIn"
                              Name 13  "gl_SampleMaskIn"
                              Decorate 8(readSampleMaskIn) Location 0
                              Decorate 13(gl_SampleMaskIn) Flat
                              Decorate 13(gl_SampleMaskIn) BuiltIn SampleMask
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 32 1
               7:             TypePointer Output 6(int)
8(readSampleMaskIn):      7(ptr) Variable Output
               9:             TypeInt 32 0
              10:      9(int) Constant 1
              11:             TypeArray 6(int) 10
              12:             TypePointer Input 11
13(gl_SampleMaskIn):     12(ptr) Variable Input
              14:      6(int) Constant 0
              15:             TypePointer Input 6(int)
         4(main):           2 Function None 3
               5:             Label
              16:     15(ptr) AccessChain 13(gl_SampleMaskIn) 14
              17:      6(int) Load 16
                              Store 8(readSampleMaskIn) 17
                              Return
                              FunctionEnd
