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

                              Capability Shader
                              Capability FragmentFullyCoveredEXT
                              Extension  "SPV_EXT_fragment_fully_covered"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 9 12
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 450
                              SourceExtension  "GL_NV_conservative_raster_underestimation"
                              Name 4  "main"
                              Name 9  "color"
                              Name 12  "gl_FragFullyCoveredNV"
                              Decorate 9(color) Location 0
                              Decorate 12(gl_FragFullyCoveredNV) BuiltIn FullyCoveredEXT
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypePointer Output 7(fvec4)
        9(color):      8(ptr) Variable Output
              10:             TypeBool
              11:             TypePointer Input 10(bool)
12(gl_FragFullyCoveredNV):     11(ptr) Variable Input
              14:    6(float) Constant 0
              15:    6(float) Constant 1065353216
         4(main):           2 Function None 3
               5:             Label
              13:    10(bool) Load 12(gl_FragFullyCoveredNV)
              16:    6(float) Select 13 15 14
              17:    7(fvec4) CompositeConstruct 16 14 14 14
                              Store 9(color) 17
                              Return
                              FunctionEnd
