def compose_shader(glsl_code):
    """Merge GLSL shader code from a list of strings.

    Parameters
    ----------
    glsl_code : list of str (code or filenames).

    Returns
    -------
    code : str
        GLSL shader code.

    """
    if not glsl_code:
        return ""

    if not all(isinstance(i, str) for i in glsl_code):
        raise IOError('The only supported format are string.')

    if isinstance(glsl_code, str):
        return glsl_code

    code = ""
    for content in glsl_code:
        code += '\n'
        code += content
    return code