On 06/08/2012 10:18 PM, Kenneth Graunke wrote:
 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.

Signed-off-by: Kenneth Graunke<[email protected]>

Reviewed-by: Ian Romanick <[email protected]>

You should cherry pick this to 8.0 right away.

---
  src/mesa/main/bufferobj.c |    6 ++++++
  1 file changed, 6 insertions(+)

diff --git a/src/mesa/main/bufferobj.c b/src/mesa/main/bufferobj.c
index 5415665..846260d 100644
--- a/src/mesa/main/bufferobj.c
+++ b/src/mesa/main/bufferobj.c
@@ -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)",

_______________________________________________
mesa-dev mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to