eee3138b创建于 2023年4月18日历史提交
hlsl.structarray.flatten.geom
Shader version: 500
invocations = -1
max_vertices = 4
input primitive = lines
output primitive = triangle_strip
0:? Sequence
0:16  Function Definition: @main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21; ( temp void)
0:16    Function Parameters: 
0:16      'vin' ( in 2-element array of structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:16      'outStream' ( out structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:?     Sequence
0:19      move second child to first child ( temp 4-component vector of float)
0:19        color: direct index for structure ( temp 4-component vector of float)
0:19          'vout' ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:19          Constant:
0:19            1 (const int)
0:19        color: direct index for structure ( temp 4-component vector of float)
0:19          direct index ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:19            'vin' ( in 2-element array of structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:19            Constant:
0:19              1 (const int)
0:19          Constant:
0:19            1 (const int)
0:20      move second child to first child ( temp 2-component vector of float)
0:20        uv: direct index for structure ( temp 2-component vector of float)
0:20          'vout' ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:20          Constant:
0:20            2 (const int)
0:20        uv: direct index for structure ( temp 2-component vector of float)
0:20          direct index ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:20            'vin' ( in 2-element array of structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:20            Constant:
0:20              1 (const int)
0:20          Constant:
0:20            2 (const int)
0:21      move second child to first child ( temp 4-component vector of float)
0:21        position: direct index for structure ( temp 4-component vector of float)
0:21          'vout' ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:21          Constant:
0:21            0 (const int)
0:21        position: direct index for structure ( temp 4-component vector of float)
0:21          direct index ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:21            'vin' ( in 2-element array of structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:21            Constant:
0:21              1 (const int)
0:21          Constant:
0:21            0 (const int)
0:22      Sequence
0:22        Sequence
0:22          move second child to first child ( temp 4-component vector of float)
0:?             'outStream.position' ( out 4-component vector of float Position)
0:22            position: direct index for structure ( temp 4-component vector of float)
0:22              'vout' ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:22              Constant:
0:22                0 (const int)
0:22          move second child to first child ( temp 4-component vector of float)
0:?             'outStream.color' (layout( location=0) out 4-component vector of float)
0:22            color: direct index for structure ( temp 4-component vector of float)
0:22              'vout' ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:22              Constant:
0:22                1 (const int)
0:22          move second child to first child ( temp 2-component vector of float)
0:?             'outStream.uv' (layout( location=1) out 2-component vector of float)
0:22            uv: direct index for structure ( temp 2-component vector of float)
0:22              'vout' ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:22              Constant:
0:22                2 (const int)
0:22        EmitVertex ( temp void)
0:16  Function Definition: main( ( temp void)
0:16    Function Parameters: 
0:?     Sequence
0:16      Sequence
0:16        move second child to first child ( temp 4-component vector of float)
0:16          position: direct index for structure ( temp 4-component vector of float)
0:16            direct index ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:?               'vin' ( temp 2-element array of structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:16              Constant:
0:16                0 (const int)
0:16            Constant:
0:16              0 (const int)
0:16          direct index (layout( location=0) in 4-component vector of float)
0:?             'vin.position' (layout( location=0) in 2-element array of 4-component vector of float)
0:16            Constant:
0:16              0 (const int)
0:16        move second child to first child ( temp 4-component vector of float)
0:16          color: direct index for structure ( temp 4-component vector of float)
0:16            direct index ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:?               'vin' ( temp 2-element array of structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:16              Constant:
0:16                0 (const int)
0:16            Constant:
0:16              1 (const int)
0:16          direct index (layout( location=1) in 4-component vector of float)
0:?             'vin.color' (layout( location=1) in 2-element array of 4-component vector of float)
0:16            Constant:
0:16              0 (const int)
0:16        move second child to first child ( temp 2-component vector of float)
0:16          uv: direct index for structure ( temp 2-component vector of float)
0:16            direct index ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:?               'vin' ( temp 2-element array of structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:16              Constant:
0:16                0 (const int)
0:16            Constant:
0:16              2 (const int)
0:16          direct index (layout( location=2) in 2-component vector of float)
0:?             'vin.uv' (layout( location=2) in 2-element array of 2-component vector of float)
0:16            Constant:
0:16              0 (const int)
0:16        move second child to first child ( temp 4-component vector of float)
0:16          position: direct index for structure ( temp 4-component vector of float)
0:16            direct index ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:?               'vin' ( temp 2-element array of structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:16              Constant:
0:16                1 (const int)
0:16            Constant:
0:16              0 (const int)
0:16          direct index (layout( location=0) in 4-component vector of float)
0:?             'vin.position' (layout( location=0) in 2-element array of 4-component vector of float)
0:16            Constant:
0:16              1 (const int)
0:16        move second child to first child ( temp 4-component vector of float)
0:16          color: direct index for structure ( temp 4-component vector of float)
0:16            direct index ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:?               'vin' ( temp 2-element array of structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:16              Constant:
0:16                1 (const int)
0:16            Constant:
0:16              1 (const int)
0:16          direct index (layout( location=1) in 4-component vector of float)
0:?             'vin.color' (layout( location=1) in 2-element array of 4-component vector of float)
0:16            Constant:
0:16              1 (const int)
0:16        move second child to first child ( temp 2-component vector of float)
0:16          uv: direct index for structure ( temp 2-component vector of float)
0:16            direct index ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:?               'vin' ( temp 2-element array of structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:16              Constant:
0:16                1 (const int)
0:16            Constant:
0:16              2 (const int)
0:16          direct index (layout( location=2) in 2-component vector of float)
0:?             'vin.uv' (layout( location=2) in 2-element array of 2-component vector of float)
0:16            Constant:
0:16              1 (const int)
0:16      Function Call: @main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21; ( temp void)
0:?         'vin' ( temp 2-element array of structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:?         'outStream' ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:?   Linker Objects
0:?     'vin.position' (layout( location=0) in 2-element array of 4-component vector of float)
0:?     'vin.color' (layout( location=1) in 2-element array of 4-component vector of float)
0:?     'vin.uv' (layout( location=2) in 2-element array of 2-component vector of float)
0:?     'outStream.position' ( out 4-component vector of float Position)
0:?     'outStream.color' (layout( location=0) out 4-component vector of float)
0:?     'outStream.uv' (layout( location=1) out 2-component vector of float)


Linked geometry stage:


Shader version: 500
invocations = 1
max_vertices = 4
input primitive = lines
output primitive = triangle_strip
0:? Sequence
0:16  Function Definition: @main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21; ( temp void)
0:16    Function Parameters: 
0:16      'vin' ( in 2-element array of structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:16      'outStream' ( out structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:?     Sequence
0:19      move second child to first child ( temp 4-component vector of float)
0:19        color: direct index for structure ( temp 4-component vector of float)
0:19          'vout' ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:19          Constant:
0:19            1 (const int)
0:19        color: direct index for structure ( temp 4-component vector of float)
0:19          direct index ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:19            'vin' ( in 2-element array of structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:19            Constant:
0:19              1 (const int)
0:19          Constant:
0:19            1 (const int)
0:20      move second child to first child ( temp 2-component vector of float)
0:20        uv: direct index for structure ( temp 2-component vector of float)
0:20          'vout' ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:20          Constant:
0:20            2 (const int)
0:20        uv: direct index for structure ( temp 2-component vector of float)
0:20          direct index ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:20            'vin' ( in 2-element array of structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:20            Constant:
0:20              1 (const int)
0:20          Constant:
0:20            2 (const int)
0:21      move second child to first child ( temp 4-component vector of float)
0:21        position: direct index for structure ( temp 4-component vector of float)
0:21          'vout' ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:21          Constant:
0:21            0 (const int)
0:21        position: direct index for structure ( temp 4-component vector of float)
0:21          direct index ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:21            'vin' ( in 2-element array of structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:21            Constant:
0:21              1 (const int)
0:21          Constant:
0:21            0 (const int)
0:22      Sequence
0:22        Sequence
0:22          move second child to first child ( temp 4-component vector of float)
0:?             'outStream.position' ( out 4-component vector of float Position)
0:22            position: direct index for structure ( temp 4-component vector of float)
0:22              'vout' ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:22              Constant:
0:22                0 (const int)
0:22          move second child to first child ( temp 4-component vector of float)
0:?             'outStream.color' (layout( location=0) out 4-component vector of float)
0:22            color: direct index for structure ( temp 4-component vector of float)
0:22              'vout' ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:22              Constant:
0:22                1 (const int)
0:22          move second child to first child ( temp 2-component vector of float)
0:?             'outStream.uv' (layout( location=1) out 2-component vector of float)
0:22            uv: direct index for structure ( temp 2-component vector of float)
0:22              'vout' ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:22              Constant:
0:22                2 (const int)
0:22        EmitVertex ( temp void)
0:16  Function Definition: main( ( temp void)
0:16    Function Parameters: 
0:?     Sequence
0:16      Sequence
0:16        move second child to first child ( temp 4-component vector of float)
0:16          position: direct index for structure ( temp 4-component vector of float)
0:16            direct index ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:?               'vin' ( temp 2-element array of structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:16              Constant:
0:16                0 (const int)
0:16            Constant:
0:16              0 (const int)
0:16          direct index (layout( location=0) in 4-component vector of float)
0:?             'vin.position' (layout( location=0) in 2-element array of 4-component vector of float)
0:16            Constant:
0:16              0 (const int)
0:16        move second child to first child ( temp 4-component vector of float)
0:16          color: direct index for structure ( temp 4-component vector of float)
0:16            direct index ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:?               'vin' ( temp 2-element array of structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:16              Constant:
0:16                0 (const int)
0:16            Constant:
0:16              1 (const int)
0:16          direct index (layout( location=1) in 4-component vector of float)
0:?             'vin.color' (layout( location=1) in 2-element array of 4-component vector of float)
0:16            Constant:
0:16              0 (const int)
0:16        move second child to first child ( temp 2-component vector of float)
0:16          uv: direct index for structure ( temp 2-component vector of float)
0:16            direct index ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:?               'vin' ( temp 2-element array of structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:16              Constant:
0:16                0 (const int)
0:16            Constant:
0:16              2 (const int)
0:16          direct index (layout( location=2) in 2-component vector of float)
0:?             'vin.uv' (layout( location=2) in 2-element array of 2-component vector of float)
0:16            Constant:
0:16              0 (const int)
0:16        move second child to first child ( temp 4-component vector of float)
0:16          position: direct index for structure ( temp 4-component vector of float)
0:16            direct index ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:?               'vin' ( temp 2-element array of structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:16              Constant:
0:16                1 (const int)
0:16            Constant:
0:16              0 (const int)
0:16          direct index (layout( location=0) in 4-component vector of float)
0:?             'vin.position' (layout( location=0) in 2-element array of 4-component vector of float)
0:16            Constant:
0:16              1 (const int)
0:16        move second child to first child ( temp 4-component vector of float)
0:16          color: direct index for structure ( temp 4-component vector of float)
0:16            direct index ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:?               'vin' ( temp 2-element array of structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:16              Constant:
0:16                1 (const int)
0:16            Constant:
0:16              1 (const int)
0:16          direct index (layout( location=1) in 4-component vector of float)
0:?             'vin.color' (layout( location=1) in 2-element array of 4-component vector of float)
0:16            Constant:
0:16              1 (const int)
0:16        move second child to first child ( temp 2-component vector of float)
0:16          uv: direct index for structure ( temp 2-component vector of float)
0:16            direct index ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:?               'vin' ( temp 2-element array of structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:16              Constant:
0:16                1 (const int)
0:16            Constant:
0:16              2 (const int)
0:16          direct index (layout( location=2) in 2-component vector of float)
0:?             'vin.uv' (layout( location=2) in 2-element array of 2-component vector of float)
0:16            Constant:
0:16              1 (const int)
0:16      Function Call: @main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21; ( temp void)
0:?         'vin' ( temp 2-element array of structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:?         'outStream' ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
0:?   Linker Objects
0:?     'vin.position' (layout( location=0) in 2-element array of 4-component vector of float)
0:?     'vin.color' (layout( location=1) in 2-element array of 4-component vector of float)
0:?     'vin.uv' (layout( location=2) in 2-element array of 2-component vector of float)
0:?     'outStream.position' ( out 4-component vector of float Position)
0:?     'outStream.color' (layout( location=0) out 4-component vector of float)
0:?     'outStream.uv' (layout( location=1) out 2-component vector of float)

// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 82

                              Capability Geometry
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Geometry 4  "main" 38 41 45 51 56 62
                              ExecutionMode 4 InputLines
                              ExecutionMode 4 Invocations 1
                              ExecutionMode 4 OutputTriangleStrip
                              ExecutionMode 4 OutputVertices 4
                              Source HLSL 500
                              Name 4  "main"
                              Name 9  "VertexData"
                              MemberName 9(VertexData) 0  "position"
                              MemberName 9(VertexData) 1  "color"
                              MemberName 9(VertexData) 2  "uv"
                              Name 14  "PS_IN"
                              MemberName 14(PS_IN) 0  "position"
                              MemberName 14(PS_IN) 1  "color"
                              MemberName 14(PS_IN) 2  "uv"
                              Name 19  "@main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21;"
                              Name 17  "vin"
                              Name 18  "outStream"
                              Name 21  "vout"
                              Name 38  "outStream.position"
                              Name 41  "outStream.color"
                              Name 45  "outStream.uv"
                              Name 48  "vin"
                              Name 51  "vin.position"
                              Name 56  "vin.color"
                              Name 62  "vin.uv"
                              Name 76  "outStream"
                              Name 77  "param"
                              Name 79  "param"
                              Decorate 38(outStream.position) BuiltIn Position
                              Decorate 41(outStream.color) Location 0
                              Decorate 45(outStream.uv) Location 1
                              Decorate 51(vin.position) Location 0
                              Decorate 56(vin.color) Location 1
                              Decorate 62(vin.uv) Location 2
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypeVector 6(float) 2
   9(VertexData):             TypeStruct 7(fvec4) 7(fvec4) 8(fvec2)
              10:             TypeInt 32 0
              11:     10(int) Constant 2
              12:             TypeArray 9(VertexData) 11
              13:             TypePointer Function 12
       14(PS_IN):             TypeStruct 7(fvec4) 7(fvec4) 8(fvec2)
              15:             TypePointer Function 14(PS_IN)
              16:             TypeFunction 2 13(ptr) 15(ptr)
              22:             TypeInt 32 1
              23:     22(int) Constant 1
              24:             TypePointer Function 7(fvec4)
              28:     22(int) Constant 2
              29:             TypePointer Function 8(fvec2)
              33:     22(int) Constant 0
              37:             TypePointer Output 7(fvec4)
38(outStream.position):     37(ptr) Variable Output
41(outStream.color):     37(ptr) Variable Output
              44:             TypePointer Output 8(fvec2)
45(outStream.uv):     44(ptr) Variable Output
              49:             TypeArray 7(fvec4) 11
              50:             TypePointer Input 49
51(vin.position):     50(ptr) Variable Input
              52:             TypePointer Input 7(fvec4)
   56(vin.color):     50(ptr) Variable Input
              60:             TypeArray 8(fvec2) 11
              61:             TypePointer Input 60
      62(vin.uv):     61(ptr) Variable Input
              63:             TypePointer Input 8(fvec2)
         4(main):           2 Function None 3
               5:             Label
         48(vin):     13(ptr) Variable Function
   76(outStream):     15(ptr) Variable Function
       77(param):     13(ptr) Variable Function
       79(param):     15(ptr) Variable Function
              53:     52(ptr) AccessChain 51(vin.position) 33
              54:    7(fvec4) Load 53
              55:     24(ptr) AccessChain 48(vin) 33 33
                              Store 55 54
              57:     52(ptr) AccessChain 56(vin.color) 33
              58:    7(fvec4) Load 57
              59:     24(ptr) AccessChain 48(vin) 33 23
                              Store 59 58
              64:     63(ptr) AccessChain 62(vin.uv) 33
              65:    8(fvec2) Load 64
              66:     29(ptr) AccessChain 48(vin) 33 28
                              Store 66 65
              67:     52(ptr) AccessChain 51(vin.position) 23
              68:    7(fvec4) Load 67
              69:     24(ptr) AccessChain 48(vin) 23 33
                              Store 69 68
              70:     52(ptr) AccessChain 56(vin.color) 23
              71:    7(fvec4) Load 70
              72:     24(ptr) AccessChain 48(vin) 23 23
                              Store 72 71
              73:     63(ptr) AccessChain 62(vin.uv) 23
              74:    8(fvec2) Load 73
              75:     29(ptr) AccessChain 48(vin) 23 28
                              Store 75 74
              78:          12 Load 48(vin)
                              Store 77(param) 78
              80:           2 FunctionCall 19(@main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21;) 77(param) 79(param)
              81:   14(PS_IN) Load 79(param)
                              Store 76(outStream) 81
                              Return
                              FunctionEnd
19(@main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21;):           2 Function None 16
         17(vin):     13(ptr) FunctionParameter
   18(outStream):     15(ptr) FunctionParameter
              20:             Label
        21(vout):     15(ptr) Variable Function
              25:     24(ptr) AccessChain 17(vin) 23 23
              26:    7(fvec4) Load 25
              27:     24(ptr) AccessChain 21(vout) 23
                              Store 27 26
              30:     29(ptr) AccessChain 17(vin) 23 28
              31:    8(fvec2) Load 30
              32:     29(ptr) AccessChain 21(vout) 28
                              Store 32 31
              34:     24(ptr) AccessChain 17(vin) 23 33
              35:    7(fvec4) Load 34
              36:     24(ptr) AccessChain 21(vout) 33
                              Store 36 35
              39:     24(ptr) AccessChain 21(vout) 33
              40:    7(fvec4) Load 39
                              Store 38(outStream.position) 40
              42:     24(ptr) AccessChain 21(vout) 23
              43:    7(fvec4) Load 42
                              Store 41(outStream.color) 43
              46:     29(ptr) AccessChain 21(vout) 28
              47:    8(fvec2) Load 46
                              Store 45(outStream.uv) 47
                              EmitVertex
                              Return
                              FunctionEnd