1617a3babSopenharmony_ci#version 460
2617a3babSopenharmony_ci
3617a3babSopenharmony_cilayout (location = 0) out vec4 io;
4617a3babSopenharmony_ci
5617a3babSopenharmony_ci// default uniforms will be gathered into a uniform block
6617a3babSopenharmony_ci// final global block will merge uniforms from all linked files
7617a3babSopenharmony_ciuniform vec2 a;     // declared in both stages with different type
8617a3babSopenharmony_ci
9617a3babSopenharmony_civec4 foo() {
10617a3babSopenharmony_ci    return a.xyxy;
11617a3babSopenharmony_ci}
12617a3babSopenharmony_ci
13617a3babSopenharmony_civoid main() {
14617a3babSopenharmony_ci    io = foo();
15617a3babSopenharmony_ci}