diff options
author | Keith Whitwell <[email protected]> | 2006-10-13 11:21:55 +0000 |
---|---|---|
committer | Keith Whitwell <[email protected]> | 2006-10-13 11:21:55 +0000 |
commit | a2c50b0f4ad16855cf8a2ff2ab4029342f4297dd (patch) | |
tree | ee65d1d23c303094d5acd713337a75e762ce6bc4 /src | |
parent | fd6341e57494e80f02aaf69461a7169e9048c39f (diff) |
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.
Diffstat (limited to 'src')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_draw_upload.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_draw_upload.c b/src/mesa/drivers/dri/i965/brw_draw_upload.c index 8c6b5a6d2c4..cde0aa6481b 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; } |