layout (
    origin_upper_left,
    push_constant,
    blend_support_all_equations,
    color,
    location = 1,
    offset = 1,
    binding = 1,
    index = 1,
    set = 1,
    builtin = 1,
    input_attachment_index = 1,
    spirv,
    metal,
    gl)
void on_return() {}

void on_param(
layout (
    origin_upper_left,
    push_constant,
    blend_support_all_equations,
    color,
    location = 1,
    offset = 1,
    binding = 1,
    index = 1,
    set = 1,
    builtin = 1,
    input_attachment_index = 1,
    spirv,
    metal,
    gl) float x) {}

/*%%*
only one backend qualifier can be used
layout qualifier 'origin_upper_left' is not permitted here
layout qualifier 'push_constant' is not permitted here
layout qualifier 'blend_support_all_equations' is not permitted here
layout qualifier 'color' is not permitted here
layout qualifier 'location' is not permitted here
layout qualifier 'offset' is not permitted here
layout qualifier 'binding' is not permitted here
layout qualifier 'index' is not permitted here
layout qualifier 'set' is not permitted here
layout qualifier 'builtin' is not permitted here
layout qualifier 'input_attachment_index' is not permitted here
layout qualifier 'spirv' is not permitted here
layout qualifier 'metal' is not permitted here
layout qualifier 'gl' is not permitted here
only one backend qualifier can be used
layout qualifier 'origin_upper_left' is not permitted here
layout qualifier 'push_constant' is not permitted here
layout qualifier 'blend_support_all_equations' is not permitted here
layout qualifier 'color' is not permitted here
layout qualifier 'location' is not permitted here
layout qualifier 'offset' is not permitted here
layout qualifier 'binding' is not permitted here
layout qualifier 'index' is not permitted here
layout qualifier 'set' is not permitted here
layout qualifier 'builtin' is not permitted here
layout qualifier 'input_attachment_index' is not permitted here
layout qualifier 'spirv' is not permitted here
layout qualifier 'metal' is not permitted here
layout qualifier 'gl' is not permitted here
*%%*/
