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

                              Capability Shader
                              Capability FragmentBarycentricNV
                              Extension  "SPV_NV_fragment_shader_barycentric"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 8 11 20
                              ExecutionMode 4 OriginUpperLeft
                              Source ESSL 320
                              SourceExtension  "GL_NV_fragment_shader_barycentric"
                              Name 4  "main"
                              Name 8  "value"
                              Name 11  "gl_BaryCoordNoPerspNV"
                              Name 20  "vertexIDs"
                              Decorate 8(value) Location 1
                              Decorate 11(gl_BaryCoordNoPerspNV) BuiltIn BaryCoordNoPerspNV
                              Decorate 20(vertexIDs) Location 0
                              Decorate 20(vertexIDs) 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_BaryCoordNoPerspNV):     10(ptr) Variable Input
              12:             TypeInt 32 0
              13:     12(int) Constant 0
              14:             TypePointer Input 6(float)
              17:     12(int) Constant 3
              18:             TypeArray 6(float) 17
              19:             TypePointer Input 18
   20(vertexIDs):     19(ptr) Variable Input
              21:             TypeInt 32 1
              22:     21(int) Constant 0
              26:     12(int) Constant 1
              29:     21(int) Constant 1
              34:     12(int) Constant 2
              37:     21(int) Constant 2
         4(main):           2 Function None 3
               5:             Label
              15:     14(ptr) AccessChain 11(gl_BaryCoordNoPerspNV) 13
              16:    6(float) Load 15
              23:     14(ptr) AccessChain 20(vertexIDs) 22
              24:    6(float) Load 23
              25:    6(float) FMul 16 24
              27:     14(ptr) AccessChain 11(gl_BaryCoordNoPerspNV) 26
              28:    6(float) Load 27
              30:     14(ptr) AccessChain 20(vertexIDs) 29
              31:    6(float) Load 30
              32:    6(float) FMul 28 31
              33:    6(float) FAdd 25 32
              35:     14(ptr) AccessChain 11(gl_BaryCoordNoPerspNV) 34
              36:    6(float) Load 35
              38:     14(ptr) AccessChain 20(vertexIDs) 37
              39:    6(float) Load 38
              40:    6(float) FMul 36 39
              41:    6(float) FAdd 33 40
                              Store 8(value) 41
                              Return
                              FunctionEnd
