spv.1.3.8bitstorage-ssbo.vert
// Module Version 10300
// Generated by (magic number): 80007
// Id's are bound by 28

                              Capability Shader
                              Capability CapabilityStorageBuffer8BitAccess
                              Extension  "SPV_KHR_8bit_storage"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Vertex 4  "main" 9 18
                              Source GLSL 450
                              SourceExtension  "GL_EXT_shader_8bit_storage"
                              Name 4  "main"
                              Name 9  "color"
                              Name 12  "Vertices"
                              MemberName 12(Vertices) 0  "vertices"
                              Name 14  ""
                              Name 18  "gl_VertexIndex"
                              Decorate 9(color) Location 0
                              Decorate 11 ArrayStride 1
                              MemberDecorate 12(Vertices) 0 NonWritable
                              MemberDecorate 12(Vertices) 0 Offset 0
                              Decorate 12(Vertices) Block
                              Decorate 14 DescriptorSet 0
                              Decorate 14 Binding 0
                              Decorate 18(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:             TypeRuntimeArray 10(int8_t)
    12(Vertices):             TypeStruct 11
              13:             TypePointer StorageBuffer 12(Vertices)
              14:     13(ptr) Variable StorageBuffer
              15:             TypeInt 32 1
              16:     15(int) Constant 0
              17:             TypePointer Input 15(int)
18(gl_VertexIndex):     17(ptr) Variable Input
              20:             TypePointer StorageBuffer 10(int8_t)
              23:             TypeInt 32 0
         4(main):           2 Function None 3
               5:             Label
              19:     15(int) Load 18(gl_VertexIndex)
              21:     20(ptr) AccessChain 14 16 19
              22:  10(int8_t) Load 21
              24:     23(int) UConvert 22
              25:     15(int) Bitcast 24
              26:    6(float) ConvertSToF 25
              27:    7(fvec4) CompositeConstruct 26 26 26 26
                              Store 9(color) 27
                              Return
                              FunctionEnd
