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

                              Capability Shader
                              Capability FragmentBarycentricNV
                              Extension  "SPV_NV_fragment_shader_barycentric"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 8 11 21
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 450
                              SourceExtension  "GL_NV_fragment_shader_barycentric"
                              Name 4  "main"
                              Name 8  "value"
                              Name 11  "gl_BaryCoordNV"
                              Name 17  "vertices"
                              MemberName 17(vertices) 0  "attrib"
                              Name 21  "v"
                              Decorate 8(value) Location 1
                              Decorate 11(gl_BaryCoordNV) BuiltIn BaryCoordNV
                              Decorate 17(vertices) Block
                              Decorate 21(v) Location 0
                              Decorate 21(v) PerVertexNV
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypePointer Output 6(float)
        8(value):      7(ptr) Variable Output
               9:             TypeVector 6(float) 3
              10:             TypePointer Input 9(fvec3)
11(gl_BaryCoordNV):     10(ptr) Variable Input
              12:             TypeInt 32 0
              13:     12(int) Constant 0
              14:             TypePointer Input 6(float)
    17(vertices):             TypeStruct 6(float)
              18:     12(int) Constant 3
              19:             TypeArray 17(vertices) 18
              20:             TypePointer Input 19
           21(v):     20(ptr) Variable Input
              22:             TypeInt 32 1
              23:     22(int) Constant 0
              27:     12(int) Constant 1
              30:     22(int) Constant 1
              35:     12(int) Constant 2
              38:     22(int) Constant 2
         4(main):           2 Function None 3
               5:             Label
              15:     14(ptr) AccessChain 11(gl_BaryCoordNV) 13
              16:    6(float) Load 15
              24:     14(ptr) AccessChain 21(v) 23 23
              25:    6(float) Load 24
              26:    6(float) FMul 16 25
              28:     14(ptr) AccessChain 11(gl_BaryCoordNV) 27
              29:    6(float) Load 28
              31:     14(ptr) AccessChain 21(v) 30 23
              32:    6(float) Load 31
              33:    6(float) FMul 29 32
              34:    6(float) FAdd 26 33
              36:     14(ptr) AccessChain 11(gl_BaryCoordNV) 35
              37:    6(float) Load 36
              39:     14(ptr) AccessChain 21(v) 38 23
              40:    6(float) Load 39
              41:    6(float) FMul 37 40
              42:    6(float) FAdd 34 41
                              Store 8(value) 42
                              Return
                              FunctionEnd
