spv.8bitstorage-ubo.vert
// Module Version 10000
// Generated by (magic number): 80007
// Id's are bound by 29

                              Capability Shader
                              Capability CapabilityUniformAndStorageBuffer8BitAccess
                              Extension  "SPV_KHR_8bit_storage"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Vertex 4  "main" 9 20
                              Source GLSL 450
                              SourceExtension  "GL_EXT_shader_8bit_storage"
                              Name 4  "main"
                              Name 9  "color"
                              Name 14  "Vertices"
                              MemberName 14(Vertices) 0  "vertices"
                              Name 16  ""
                              Name 20  "gl_VertexIndex"
                              Decorate 9(color) Location 0
                              Decorate 13 ArrayStride 16
                              MemberDecorate 14(Vertices) 0 Offset 0
                              Decorate 14(Vertices) Block
                              Decorate 16 DescriptorSet 0
                              Decorate 16 Binding 0
                              Decorate 20(gl_VertexIndex) BuiltIn VertexIndex
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypePointer Output 7(fvec4)
        9(color):      8(ptr) Variable Output
              10:             TypeInt 8 0
              11:             TypeInt 32 0
              12:     11(int) Constant 512
              13:             TypeArray 10(int8_t) 12
    14(Vertices):             TypeStruct 13
              15:             TypePointer Uniform 14(Vertices)
              16:     15(ptr) Variable Uniform
              17:             TypeInt 32 1
              18:     17(int) Constant 0
              19:             TypePointer Input 17(int)
20(gl_VertexIndex):     19(ptr) Variable Input
              22:             TypePointer Uniform 10(int8_t)
         4(main):           2 Function None 3
               5:             Label
              21:     17(int) Load 20(gl_VertexIndex)
              23:     22(ptr) AccessChain 16 18 21
              24:  10(int8_t) Load 23
              25:     11(int) UConvert 24
              26:     17(int) Bitcast 25
              27:    6(float) ConvertSToF 26
              28:    7(fvec4) CompositeConstruct 27 27 27 27
                              Store 9(color) 28
                              Return
                              FunctionEnd
