pingou / rpms / mesa

Forked from rpms/mesa 6 years ago
Clone
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
 	 }