spv.intrinsicsSpirvExecutionMode.frag
Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 12

                              Capability Shader
                              Capability StencilExportEXT
                              Extension  "SPV_EXT_shader_stencil_export"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 8 10
                              ExecutionMode 4 OriginUpperLeft
                              ExecutionMode 4 StencilRefReplacingEXT
                              Source GLSL 450
                              SourceExtension  "GL_EXT_spirv_intrinsics"
                              Name 4  "main"
                              Name 8  "gl_FragStencilRef"
                              Name 10  "color"
                              Decorate 8(gl_FragStencilRef) Location 0
                              Decorate 8(gl_FragStencilRef) BuiltIn FragStencilRefEXT
                              Decorate 10(color) Flat
                              Decorate 10(color) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 32 1
               7:             TypePointer Output 6(int)
8(gl_FragStencilRef):      7(ptr) Variable Output
               9:             TypePointer Input 6(int)
       10(color):      9(ptr) Variable Input
         4(main):           2 Function None 3
               5:             Label
              11:      6(int) Load 10(color)
                              Store 8(gl_FragStencilRef) 11
                              Return
                              FunctionEnd
