1cb93a386Sopenharmony_ciuniform half4 colorGreen;
2cb93a386Sopenharmony_ci
3cb93a386Sopenharmony_ci// GLSL 4.1 and below enforce that qualifiers must occur in a strict order. (See "Order of
4cb93a386Sopenharmony_ci// Qualifiers" in the GLSL documentation.) GLSL 4.2 and above no longer enforce order; SkSL also
5cb93a386Sopenharmony_ci// does not. However, SkSL will always emit qualifiers in the order expected by GLSL 4.1.
6cb93a386Sopenharmony_ci
7cb93a386Sopenharmony_ci// These qualifiers are reversed from the expected order, but SkSL should compile and run anyway.
8cb93a386Sopenharmony_cinoinline void const_after_in(in const vec2 x) {}
9cb93a386Sopenharmony_cinoinline void inout_after_high_precision(highp inout vec2 x) {}
10cb93a386Sopenharmony_cinoinline void out_after_high_precision(highp out vec2 x) {}
11cb93a386Sopenharmony_ci
12cb93a386Sopenharmony_civec4 main(vec2 coords) {
13cb93a386Sopenharmony_ci    const_after_in(coords);
14cb93a386Sopenharmony_ci    inout_after_high_precision(coords);
15cb93a386Sopenharmony_ci    out_after_high_precision(coords);
16cb93a386Sopenharmony_ci
17cb93a386Sopenharmony_ci    return colorGreen;
18cb93a386Sopenharmony_ci}
19