spv.intrinsicsSpirvLiteral.vert
Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 12

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Vertex 4  "main"
                              Source GLSL 450
                              SourceExtension  "GL_EXT_spirv_intrinsics"
                              Name 4  "main"
                              Name 9  "vec4Out"
                              Name 10  "vec4In"
                              Decorate 9(vec4Out) Location 1
                              Decorate 10(vec4In) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypePointer Function 7(fvec4)
         4(main):           2 Function None 3
               5:             Label
      9(vec4Out):      8(ptr) Variable Function
      10(vec4In):      8(ptr) Variable Function
              11:    7(fvec4) Load 10(vec4In) None
                              Store 9(vec4Out) 11 Volatile 
                              Return
                              FunctionEnd
