function setUniformBlock(gl, programInfo, uniformBlockInfo) {
    if (bindUniformBlock(gl, programInfo, uniformBlockInfo)) {
      gl.bufferData(gl.UNIFORM_BUFFER, uniformBlockInfo.array, gl.DYNAMIC_DRAW);
    }
  }
Uploads the current uniform values to the corresponding WebGLBuffer
and binds that buffer to the program's corresponding bind point for the uniform block object.

If you haven't changed any values and you only need to bind the uniform block object
call {@link module:twgl.bindUniformBlock} instead.

@param {WebGL2RenderingContext} gl A WebGL 2 rendering context.
@param {(module:twgl.ProgramInfo|module:twgl.UniformBlockSpec)} programInfo a `ProgramInfo`
    as returned from {@link module:twgl.createProgramInfo} or or `UniformBlockSpec` as
    returned from {@link module:twgl.createUniformBlockSpecFromProgram}.
@param {module:twgl.UniformBlockInfo} uniformBlockInfo a `UniformBlockInfo` as returned from
    {@link module:twgl.createUniformBlockInfo}.
@memberOf module:twgl/programs