I'm using glCopyBufferSubData to copy chunks of memory in a single GL_ARRAY_BUFFER that is bound as read and write target. The array buffer size is 16000000 and the copy call is glCopyBufferSubData(GL_ARRAY_BUFFER, GL_ARRAY_BUFFER, 2097152, 4194304, 2097152). Here I get an invalid value error, but why? The read and write buffer don't overlap and the buffer size is greater than readoffset+copysize as well as writeoffset+copysize. If I'm using 2097152-1 as copysize all works fine. Any suggestions?
System: Catalyst 11.1, Win7 64Bit and Radeon HD5900 series.