spv.420.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 72

                              Capability Geometry
                              Capability GeometryPointSize
                              Capability ImageGatherExtended
                              Capability GeometryStreams
                              Capability MultiViewport
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Geometry 4  "main" 14 23 28 33 46
                              ExecutionMode 4 Triangles
                              ExecutionMode 4 Invocations 4
                              ExecutionMode 4 OutputLineStrip
                              ExecutionMode 4 OutputVertices 127
                              Source GLSL 420
                              Name 4  "main"
                              Name 8  "p"
                              Name 9  "gl_PerVertex"
                              MemberName 9(gl_PerVertex) 0  "gl_PointSize"
                              Name 14  "gl_in"
                              Name 21  "gl_PerVertex"
                              MemberName 21(gl_PerVertex) 0  "gl_PointSize"
                              Name 23  ""
                              Name 28  "gl_ViewportIndex"
                              Name 31  "id"
                              Name 33  "gl_InvocationID"
                              Name 37  "v"
                              Name 41  "s2D"
                              Name 46  "coord"
                              Name 64  "i"
                              Name 67  "indexable"
                              MemberDecorate 9(gl_PerVertex) 0 BuiltIn PointSize
                              Decorate 9(gl_PerVertex) Block
                              MemberDecorate 21(gl_PerVertex) 0 BuiltIn PointSize
                              Decorate 21(gl_PerVertex) Block
                              Decorate 21(gl_PerVertex) Stream 0
                              Decorate 23 Stream 0
                              Decorate 28(gl_ViewportIndex) Stream 0
                              Decorate 28(gl_ViewportIndex) BuiltIn ViewportIndex
                              Decorate 33(gl_InvocationID) BuiltIn InvocationId
                              Decorate 41(s2D) DescriptorSet 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypePointer Function 6(float)
 9(gl_PerVertex):             TypeStruct 6(float)
              10:             TypeInt 32 0
              11:     10(int) Constant 3
              12:             TypeArray 9(gl_PerVertex) 11
              13:             TypePointer Input 12
       14(gl_in):     13(ptr) Variable Input
              15:             TypeInt 32 1
              16:     15(int) Constant 1
              17:     15(int) Constant 0
              18:             TypePointer Input 6(float)
21(gl_PerVertex):             TypeStruct 6(float)
              22:             TypePointer Output 21(gl_PerVertex)
              23:     22(ptr) Variable Output
              25:             TypePointer Output 6(float)
              27:             TypePointer Output 15(int)
28(gl_ViewportIndex):     27(ptr) Variable Output
              29:     15(int) Constant 7
              30:             TypePointer Function 15(int)
              32:             TypePointer Input 15(int)
33(gl_InvocationID):     32(ptr) Variable Input
              35:             TypeVector 6(float) 4
              36:             TypePointer Function 35(fvec4)
              38:             TypeImage 6(float) 2D sampled format:Unknown
              39:             TypeSampledImage 38
              40:             TypePointer UniformConstant 39
         41(s2D):     40(ptr) Variable UniformConstant
              43:             TypeVector 6(float) 2
              44:             TypeArray 43(fvec2) 11
              45:             TypePointer Input 44
       46(coord):     45(ptr) Variable Input
              47:             TypePointer Input 43(fvec2)
              50:             TypeVector 15(int) 2
              51:     10(int) Constant 5
              52:             TypeArray 50(ivec2) 51
              53:   50(ivec2) ConstantComposite 17 16
              54:     15(int) Constant 4294967294
              55:   50(ivec2) ConstantComposite 16 54
              56:     15(int) Constant 3
              57:   50(ivec2) ConstantComposite 17 56
              58:     15(int) Constant 4294967293
              59:   50(ivec2) ConstantComposite 58 17
              60:     15(int) Constant 2
              61:   50(ivec2) ConstantComposite 60 16
              62:          52 ConstantComposite 53 55 57 59 61
              63:             TypePointer Private 15(int)
           64(i):     63(ptr) Variable Private
              66:             TypePointer Function 52
              68:             TypePointer Function 50(ivec2)
         4(main):           2 Function None 3
               5:             Label
            8(p):      7(ptr) Variable Function
          31(id):     30(ptr) Variable Function
           37(v):     36(ptr) Variable Function
   67(indexable):     66(ptr) Variable Function
              19:     18(ptr) AccessChain 14(gl_in) 16 17
              20:    6(float) Load 19
                              Store 8(p) 20
              24:    6(float) Load 8(p)
              26:     25(ptr) AccessChain 23 17
                              Store 26 24
                              Store 28(gl_ViewportIndex) 29
                              EmitStreamVertex 16
                              EndStreamPrimitive 17
                              EmitVertex
                              EndPrimitive
              34:     15(int) Load 33(gl_InvocationID)
                              Store 31(id) 34
              42:          39 Load 41(s2D)
              48:     47(ptr) AccessChain 46(coord) 17
              49:   43(fvec2) Load 48
              65:     15(int) Load 64(i)
                              Store 67(indexable) 62
              69:     68(ptr) AccessChain 67(indexable) 65
              70:   50(ivec2) Load 69
              71:   35(fvec4) ImageGather 42 49 17 Offset 70
                              Store 37(v) 71
                              Return
                              FunctionEnd
