From: Keith Whitwell Date: Fri, 13 Oct 2006 11:21:55 +0000 (+0000) Subject: Upload of interleaved arrays currently assumes that position is the X-Git-Tag: 062012170305~20361 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a2c50b0f4ad16855cf8a2ff2ab4029342f4297dd;p=profile%2Fivi%2Fmesa.git Upload of interleaved arrays currently assumes that position is the first element in the interleaved group. Add a test to catch cases where this isn't true and use per-array uploads instead. Fixes compiz glitches on x64. --- diff --git a/src/mesa/drivers/dri/i965/brw_draw_upload.c b/src/mesa/drivers/dri/i965/brw_draw_upload.c index 8c6b5a6..cde0aa6 100644 --- a/src/mesa/drivers/dri/i965/brw_draw_upload.c +++ b/src/mesa/drivers/dri/i965/brw_draw_upload.c @@ -435,6 +435,7 @@ GLboolean brw_upload_vertices( struct brw_context *brw, ptr = input->glarray->Ptr; } else if (interleave != input->glarray->StrideB || + (const char *)input->glarray->Ptr - (const char *)ptr < 0 || (const char *)input->glarray->Ptr - (const char *)ptr > interleave) { interleave = 0; }