spv.150.geom
error: SPIRV-Tools Validation Errors
error: Capability GeometryStreams is not allowed by Vulkan 1.0 specification (or requires extension)
  OpCapability GeometryStreams

// Module Version 10000
// Generated by (magic number): 80007
// Id's are bound by 71

                              Capability Geometry
                              Capability GeometryPointSize
                              Capability GeometryStreams
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Geometry 4  "main" 10 18 29 33 47 49 51 70
                              ExecutionMode 4 InputTrianglesAdjacency
                              ExecutionMode 4 Invocations 1
                              ExecutionMode 4 OutputTriangleStrip
                              ExecutionMode 4 OutputVertices 30
                              Source GLSL 150
                              Name 4  "main"
                              Name 8  "fromVertex"
                              MemberName 8(fromVertex) 0  "color"
                              Name 10  ""
                              Name 13  "fromVertex"
                              MemberName 13(fromVertex) 0  "color"
                              Name 18  "fromV"
                              Name 27  "gl_PerVertex"
                              MemberName 27(gl_PerVertex) 0  "gl_Position"
                              MemberName 27(gl_PerVertex) 1  "gl_PointSize"
                              MemberName 27(gl_PerVertex) 2  "gl_ClipDistance"
                              Name 29  ""
                              Name 30  "gl_PerVertex"
                              MemberName 30(gl_PerVertex) 0  "gl_Position"
                              MemberName 30(gl_PerVertex) 1  "gl_PointSize"
                              MemberName 30(gl_PerVertex) 2  "gl_ClipDistance"
                              Name 33  "gl_in"
                              Name 47  "gl_PrimitiveID"
                              Name 49  "gl_PrimitiveIDIn"
                              Name 51  "gl_Layer"
                              Name 68  "toFragment"
                              MemberName 68(toFragment) 0  "color"
                              Name 70  "toF"
                              Decorate 8(fromVertex) Block
                              Decorate 8(fromVertex) Stream 3
                              Decorate 10 Stream 3
                              Decorate 13(fromVertex) Block
                              MemberDecorate 27(gl_PerVertex) 0 BuiltIn Position
                              MemberDecorate 27(gl_PerVertex) 1 BuiltIn PointSize
                              MemberDecorate 27(gl_PerVertex) 2 BuiltIn ClipDistance
                              Decorate 27(gl_PerVertex) Block
                              Decorate 27(gl_PerVertex) Stream 0
                              Decorate 29 Stream 0
                              MemberDecorate 30(gl_PerVertex) 0 BuiltIn Position
                              MemberDecorate 30(gl_PerVertex) 1 BuiltIn PointSize
                              MemberDecorate 30(gl_PerVertex) 2 BuiltIn ClipDistance
                              Decorate 30(gl_PerVertex) Block
                              Decorate 47(gl_PrimitiveID) Stream 0
                              Decorate 47(gl_PrimitiveID) BuiltIn PrimitiveId
                              Decorate 49(gl_PrimitiveIDIn) BuiltIn PrimitiveId
                              Decorate 51(gl_Layer) Stream 0
                              Decorate 51(gl_Layer) BuiltIn Layer
                              Decorate 68(toFragment) Block
                              Decorate 68(toFragment) Stream 3
                              Decorate 70(toF) Stream 3
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 3
   8(fromVertex):             TypeStruct 7(fvec3)
               9:             TypePointer Output 8(fromVertex)
              10:      9(ptr) Variable Output
              11:             TypeInt 32 1
              12:     11(int) Constant 0
  13(fromVertex):             TypeStruct 7(fvec3)
              14:             TypeInt 32 0
              15:     14(int) Constant 6
              16:             TypeArray 13(fromVertex) 15
              17:             TypePointer Input 16
       18(fromV):     17(ptr) Variable Input
              19:             TypePointer Input 7(fvec3)
              22:             TypePointer Output 7(fvec3)
              24:             TypeVector 6(float) 4
              25:     14(int) Constant 1
              26:             TypeArray 6(float) 25
27(gl_PerVertex):             TypeStruct 24(fvec4) 6(float) 26
              28:             TypePointer Output 27(gl_PerVertex)
              29:     28(ptr) Variable Output
30(gl_PerVertex):             TypeStruct 24(fvec4) 6(float) 26
              31:             TypeArray 30(gl_PerVertex) 15
              32:             TypePointer Input 31
       33(gl_in):     32(ptr) Variable Input
              34:             TypePointer Input 24(fvec4)
              37:             TypePointer Output 24(fvec4)
              39:     11(int) Constant 1
              40:     11(int) Constant 3
              41:             TypePointer Input 6(float)
              44:             TypePointer Output 6(float)
              46:             TypePointer Output 11(int)
47(gl_PrimitiveID):     46(ptr) Variable Output
              48:             TypePointer Input 11(int)
49(gl_PrimitiveIDIn):     48(ptr) Variable Input
    51(gl_Layer):     46(ptr) Variable Output
              52:     11(int) Constant 2
              53:    6(float) Constant 1073741824
  68(toFragment):             TypeStruct 7(fvec3)
              69:             TypePointer Output 68(toFragment)
         70(toF):     69(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
              20:     19(ptr) AccessChain 18(fromV) 12 12
              21:    7(fvec3) Load 20
              23:     22(ptr) AccessChain 10 12
                              Store 23 21
              35:     34(ptr) AccessChain 33(gl_in) 12 12
              36:   24(fvec4) Load 35
              38:     37(ptr) AccessChain 29 12
                              Store 38 36
              42:     41(ptr) AccessChain 33(gl_in) 40 39
              43:    6(float) Load 42
              45:     44(ptr) AccessChain 29 39
                              Store 45 43
              50:     11(int) Load 49(gl_PrimitiveIDIn)
                              Store 47(gl_PrimitiveID) 50
                              Store 51(gl_Layer) 52
                              EmitVertex
              54:     19(ptr) AccessChain 18(fromV) 12 12
              55:    7(fvec3) Load 54
              56:    7(fvec3) VectorTimesScalar 55 53
              57:     22(ptr) AccessChain 10 12
                              Store 57 56
              58:     34(ptr) AccessChain 33(gl_in) 12 12
              59:   24(fvec4) Load 58
              60:   24(fvec4) VectorTimesScalar 59 53
              61:     37(ptr) AccessChain 29 12
                              Store 61 60
              62:     41(ptr) AccessChain 33(gl_in) 40 39
              63:    6(float) Load 62
              64:    6(float) FMul 53 63
              65:     44(ptr) AccessChain 29 39
                              Store 65 64
              66:     11(int) Load 49(gl_PrimitiveIDIn)
              67:     11(int) IAdd 66 39
                              Store 47(gl_PrimitiveID) 67
                              Store 51(gl_Layer) 40
                              EmitVertex
                              EndPrimitive
                              Return
                              FunctionEnd
