Blame i965-interleaved-arrays-fix.patch
|
Kristian Høgsberg |
0d83db9 |
From: Keith Whitwell <keith@tungstengraphics.com>
|
|
Kristian Høgsberg |
0d83db9 |
Date: Fri, 13 Oct 2006 11:21:55 +0000 (+0000)
|
|
Kristian Høgsberg |
0d83db9 |
Subject: Upload of interleaved arrays currently assumes that position is the
|
|
Kristian Høgsberg |
0d83db9 |
X-Git-Url: http://gitweb.freedesktop.org/?p=users/krh/mesa.git;a=commitdiff;h=a8a86ce53490bedb43ea414ead7e9d4cf30fc1de
|
|
Kristian Høgsberg |
0d83db9 |
|
|
Kristian Høgsberg |
0d83db9 |
Upload of interleaved arrays currently assumes that position is the
|
|
Kristian Høgsberg |
0d83db9 |
first element in the interleaved group. Add a test to catch cases
|
|
Kristian Høgsberg |
0d83db9 |
where this isn't true and use per-array uploads instead. Fixes compiz
|
|
Kristian Høgsberg |
0d83db9 |
glitches on x64.
|
|
Kristian Høgsberg |
0d83db9 |
---
|
|
Kristian Høgsberg |
0d83db9 |
|
|
Kristian Høgsberg |
0d83db9 |
--- a/src/mesa/drivers/dri/i965/brw_draw_upload.c
|
|
Kristian Høgsberg |
0d83db9 |
+++ b/src/mesa/drivers/dri/i965/brw_draw_upload.c
|
|
Kristian Høgsberg |
0d83db9 |
@@ -435,6 +435,7 @@ GLboolean brw_upload_vertices( struct br
|
|
Kristian Høgsberg |
0d83db9 |
ptr = input->glarray->Ptr;
|
|
Kristian Høgsberg |
0d83db9 |
}
|
|
Kristian Høgsberg |
0d83db9 |
else if (interleave != input->glarray->StrideB ||
|
|
Kristian Høgsberg |
0d83db9 |
+ (const char *)input->glarray->Ptr - (const char *)ptr < 0 ||
|
|
Kristian Høgsberg |
0d83db9 |
(const char *)input->glarray->Ptr - (const char *)ptr > interleave) {
|
|
Kristian Høgsberg |
0d83db9 |
interleave = 0;
|
|
Kristian Høgsberg |
0d83db9 |
}
|