vk.relaxed.errorcheck.vert
Shader version: 460
0:? Sequence
0:9  Function Definition: foo( ( global highp 4-component vector of float)
0:9    Function Parameters: 
0:10    Sequence
0:10      Branch: Return with expression
0:10        vector swizzle ( temp highp 4-component vector of float)
0:10          a: direct index for structure ( uniform highp 2-component vector of float)
0:10            'anon@0' (layout( column_major std140) uniform block{ uniform highp 2-component vector of float a})
0:10            Constant:
0:10              0 (const uint)
0:10          Sequence
0:10            Constant:
0:10              0 (const int)
0:10            Constant:
0:10              1 (const int)
0:10            Constant:
0:10              0 (const int)
0:10            Constant:
0:10              1 (const int)
0:13  Function Definition: main( ( global void)
0:13    Function Parameters: 
0:14    Sequence
0:14      move second child to first child ( temp highp 4-component vector of float)
0:14        'io' (layout( location=0) smooth out highp 4-component vector of float)
0:14        Function Call: foo( ( global highp 4-component vector of float)
0:?   Linker Objects
0:?     'io' (layout( location=0) smooth out highp 4-component vector of float)
0:?     'anon@0' (layout( column_major std140) uniform block{ uniform highp 2-component vector of float a})
0:?     'gl_VertexID' ( in int VertexIndex)
0:?     'gl_InstanceID' ( in int InstanceIndex)

vk.relaxed.errorcheck.frag
Shader version: 460
gl_FragCoord origin is upper left
0:? Sequence
0:10  Function Definition: foo( ( global highp 4-component vector of float)
0:10    Function Parameters: 
0:11    Sequence
0:11      Branch: Return with expression
0:11        a: direct index for structure ( uniform highp 4-component vector of float)
0:11          'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a})
0:11          Constant:
0:11            0 (const uint)
0:14  Function Definition: main( ( global void)
0:14    Function Parameters: 
0:15    Sequence
0:15      move second child to first child ( temp highp 4-component vector of float)
0:15        'o' ( out highp 4-component vector of float)
0:15        add ( temp highp 4-component vector of float)
0:15          'io' (layout( location=0) smooth in highp 4-component vector of float)
0:15          Function Call: foo( ( global highp 4-component vector of float)
0:?   Linker Objects
0:?     'io' (layout( location=0) smooth in highp 4-component vector of float)
0:?     'o' ( out highp 4-component vector of float)
0:?     'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a})


Linked vertex stage:


Linked fragment stage:

ERROR: Linking unknown stage stage: Types must match:
    a: " uniform highp 2-component vector of float" versus " uniform highp 4-component vector of float"

Shader version: 460
0:? Sequence
0:9  Function Definition: foo( ( global highp 4-component vector of float)
0:9    Function Parameters: 
0:10    Sequence
0:10      Branch: Return with expression
0:10        vector swizzle ( temp highp 4-component vector of float)
0:10          a: direct index for structure ( uniform highp 2-component vector of float)
0:10            'anon@0' (layout( column_major std140) uniform block{ uniform highp 2-component vector of float a})
0:10            Constant:
0:10              0 (const uint)
0:10          Sequence
0:10            Constant:
0:10              0 (const int)
0:10            Constant:
0:10              1 (const int)
0:10            Constant:
0:10              0 (const int)
0:10            Constant:
0:10              1 (const int)
0:13  Function Definition: main( ( global void)
0:13    Function Parameters: 
0:14    Sequence
0:14      move second child to first child ( temp highp 4-component vector of float)
0:14        'io' (layout( location=0) smooth out highp 4-component vector of float)
0:14        Function Call: foo( ( global highp 4-component vector of float)
0:?   Linker Objects
0:?     'io' (layout( location=0) smooth out highp 4-component vector of float)
0:?     'anon@0' (layout( column_major std140) uniform block{ uniform highp 2-component vector of float a})
0:?     'gl_VertexID' ( in int VertexIndex)
0:?     'gl_InstanceID' ( in int InstanceIndex)
Shader version: 460
gl_FragCoord origin is upper left
0:? Sequence
0:10  Function Definition: foo( ( global highp 4-component vector of float)
0:10    Function Parameters: 
0:11    Sequence
0:11      Branch: Return with expression
0:11        a: direct index for structure ( uniform highp 4-component vector of float)
0:11          'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a})
0:11          Constant:
0:11            0 (const uint)
0:14  Function Definition: main( ( global void)
0:14    Function Parameters: 
0:15    Sequence
0:15      move second child to first child ( temp highp 4-component vector of float)
0:15        'o' ( out highp 4-component vector of float)
0:15        add ( temp highp 4-component vector of float)
0:15          'io' (layout( location=0) smooth in highp 4-component vector of float)
0:15          Function Call: foo( ( global highp 4-component vector of float)
0:?   Linker Objects
0:?     'io' (layout( location=0) smooth in highp 4-component vector of float)
0:?     'o' ( out highp 4-component vector of float)
0:?     'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a})

Validation failed
SPIR-V is not generated for failed compile or link
