erSubData(gl.COPY_READ_BUFFER, gl.COPY_WRITE_BUFFER, 0, 0, 8);
    checkGetBufferSubData(gl.NO_ERROR, "srcData");
    await fence();

    debug("");
    debug("write-fence-fence-wait-read");
    gl.copyBufferSubData(gl.COPY_READ_BUFFER, gl.COPY_WRITE_BUFFER, 0, 0, 8);
    fence(); // no await
    await fence();
    checkGetBufferSubData(gl.NO_ERROR, "srcData");

    debug("");
    debug("write-fence-wait-read");
    gl.copyBufferSubData(gl.COPY_READ_BUFFER, gl.COPY_WRITE_BUFFER, 0, 0, 8);
    await fence();