function createProgramInfoFromProgram(gl, program) {
    var uniformSetters = createUniformSetters(gl, program);
    var attribSetters = createAttributeSetters(gl, program);
    var programInfo = {
      program: program,
      uniformSetters: uniformSetters,
      attribSetters: attribSetters,
    };

    if (utils.isWebGL2(gl)) {
      programInfo.uniformBlockSpec = createUniformBlockSpecFromProgram(gl, program);
    }

    return programInfo;
  }
Creates a ProgramInfo from an existing program.

A ProgramInfo contains

    programInfo = {
       program: WebGLProgram,
       uniformSetters: object of setters as returned from createUniformSetters,
       attribSetters: object of setters as returned from createAttribSetters,
    }

@param {WebGLRenderingContext} gl The WebGLRenderingContext
       to use.
@param {WebGLProgram} program an existing WebGLProgram.
@return {module:twgl.ProgramInfo} The created ProgramInfo.
@memberOf module:twgl/programs