
    checkGetBufferSubData(gl.NO_ERROR, "srcData");

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

    debug("");
    debug("write-fence-write-wait-read");
    gl.copyBufferSubData(gl.ARRAY_BUFFER, gl.COPY_WRITE_BUFFER, 0, 0, 8);
    {
        const p = fence();
        gl.copy