From a2c50b0f4ad16855cf8a2ff2ab4029342f4297dd Mon Sep 17 00:00:00 2001 From: Keith Whitwell Date: Fri, 13 Oct 2006 11:21:55 +0000 Subject: [PATCH] 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. --- src/mesa/drivers/dri/i965/brw_draw_upload.c | 1 + 1 file changed, 1 insertion(+) 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; } -- 2.7.4