From the GL_ARB_copy_buffer spec: "An INVALID_VALUE error is generated if any of readoffset, writeoffset, or size are negative [...]" Fixes oglconform's copybuffer/negative.CNNegativeValues test. NOTE: This is a candidate for stable release branches. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>tags/instanced_arrays-v2
@@ -1360,6 +1360,12 @@ _mesa_CopyBufferSubData(GLenum readTarget, GLenum writeTarget, | |||
return; | |||
} | |||
if (size < 0) { | |||
_mesa_error(ctx, GL_INVALID_VALUE, | |||
"glCopyBufferSubData(writeOffset = %d)", (int) size); | |||
return; | |||
} | |||
if (readOffset + size > src->Size) { | |||
_mesa_error(ctx, GL_INVALID_VALUE, | |||
"glCopyBufferSubData(readOffset + size = %d)", |