+++ /dev/null
---- Mesa-6.3.2.orig/Makefile 2005-08-16 16:36:04.000000000 -0700
-+++ Mesa-6.3.2/Makefile 2005-08-21 20:59:37.000000000 -0700
-@@ -270,7 +270,7 @@
- $(DIRECTORY)/src/mesa/drivers/dri/common/xmlpool/*.[ch] \
- $(DIRECTORY)/src/mesa/drivers/dri/common/xmlpool/*.po \
- $(DIRECTORY)/src/mesa/drivers/dri/dri_client/imports/*.h \
-- $(DIRECTORY)/src/mesa/drivers/dri/*/*.[ch] \
-+ $(DIRECTORY)/src/mesa/drivers/dri/*/*.[chS] \
- $(DIRECTORY)/src/mesa/drivers/dri/*/Makefile \
- $(DIRECTORY)/src/mesa/drivers/dri/*/Doxyfile \
- $(DIRECTORY)/src/mesa/drivers/dri/*/server/*.[ch]
-diff -urN Mesa-6.3.2.orig/src/mesa/drivers/dri/r200/r200_vtxtmp_x86.S Mesa-6.3.2/src/mesa/drivers/dri/r200/r200_vtxtmp_x86.S
---- Mesa-6.3.2.orig/src/mesa/drivers/dri/r200/r200_vtxtmp_x86.S 1969-12-31 16:00:00.000000000 -0800
-+++ Mesa-6.3.2/src/mesa/drivers/dri/r200/r200_vtxtmp_x86.S 2004-06-02 15:09:11.000000000 -0700
-@@ -0,0 +1,495 @@
-+/* $XFree86: xc/lib/GL/mesa/src/drv/r200/r200_vtxtmp_x86.S,v 1.2 2002/11/07 18:31:59 tsi Exp $ */
-+/**************************************************************************
-+
-+Copyright 2002 Tungsten Graphics Inc., Cedar Park, Texas.
-+
-+All Rights Reserved.
-+
-+Permission is hereby granted, free of charge, to any person obtaining a
-+copy of this software and associated documentation files (the "Software"),
-+to deal in the Software without restriction, including without limitation
-+on the rights to use, copy, modify, merge, publish, distribute, sub
-+license, and/or sell copies of the Software, and to permit persons to whom
-+the Software is furnished to do so, subject to the following conditions:
-+
-+The above copyright notice and this permission notice (including the next
-+paragraph) shall be included in all copies or substantial portions of the
-+Software.
-+
-+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-+FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-+ATI, TUNGSTEN GRAPHICS AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM,
-+DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
-+OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
-+USE OR OTHER DEALINGS IN THE SOFTWARE.
-+
-+**************************************************************************/
-+
-+#define GLOBL( x ) \
-+.globl x; \
-+x:
-+
-+.data
-+.align 4
-+
-+/*
-+ vertex 3f vertex size 4
-+*/
-+
-+GLOBL ( _x86_Vertex3f_4 )
-+ movl (0), %ecx
-+ movl 4(%esp), %eax
-+ movl 8(%esp), %edx
-+ movl %eax, (%ecx)
-+ movl %edx, 4(%ecx)
-+ movl 12(%esp), %eax
-+ movl (0), %edx
-+ movl %eax, 8(%ecx)
-+ movl %edx, 12(%ecx)
-+ movl (0), %eax
-+ addl $16, %ecx
-+ dec %eax
-+ movl %ecx, (0)
-+ movl %eax, (0)
-+ je .1
-+ ret
-+.1: jmp *0
-+
-+GLOBL ( _x86_Vertex3f_4_end )
-+
-+/*
-+ vertex 3f vertex size 6
-+*/
-+GLOBL ( _x86_Vertex3f_6 )
-+ push %edi
-+ movl (0), %edi
-+ movl 8(%esp), %eax
-+ movl 12(%esp), %edx
-+ movl 16(%esp), %ecx
-+ movl %eax, (%edi)
-+ movl %edx, 4(%edi)
-+ movl %ecx, 8(%edi)
-+ movl (0), %eax
-+ movl (0), %edx
-+ movl (0), %ecx
-+ movl %eax, 12(%edi)
-+ movl %edx, 16(%edi)
-+ movl %ecx, 20(%edi)
-+ addl $24, %edi
-+ movl (0), %eax
-+ movl %edi, (0)
-+ dec %eax
-+ pop %edi
-+ movl %eax, (0)
-+ je .2
-+ ret
-+.2: jmp *0
-+GLOBL ( _x86_Vertex3f_6_end )
-+/*
-+ vertex 3f generic size
-+*/
-+GLOBL ( _x86_Vertex3f )
-+ push %edi
-+ push %esi
-+ movl $0, %esi
-+ movl (0), %edi
-+ movl 12(%esp), %eax
-+ movl 16(%esp), %edx
-+ movl 20(%esp), %ecx
-+ movl %eax, (%edi)
-+ movl %edx, 4(%edi)
-+ movl %ecx, 8(%edi)
-+ addl $12, %edi
-+ movl $0, %ecx
-+ repz
-+ movsl %ds:(%esi), %es:(%edi)
-+ movl (0), %eax
-+ movl %edi, (0)
-+ dec %eax
-+ movl %eax, (0)
-+ pop %esi
-+ pop %edi
-+ je .3
-+ ret
-+.3: jmp *0
-+
-+GLOBL ( _x86_Vertex3f_end )
-+
-+/*
-+ Vertex 3fv vertex size 6
-+*/
-+GLOBL ( _x86_Vertex3fv_6 )
-+ movl (0), %eax
-+ movl 4(%esp), %ecx
-+ movl (%ecx), %edx
-+ movl %edx, (%eax)
-+ movl 4(%ecx), %edx
-+ movl 8(%ecx), %ecx
-+ movl %edx, 4(%eax)
-+ movl %ecx, 8(%eax)
-+ movl (28), %edx
-+ movl (32), %ecx
-+ movl %edx, 12(%eax)
-+ movl %ecx, 16(%eax)
-+ movl (36), %edx
-+ movl %edx, 20(%eax)
-+ addl $24, %eax
-+ movl %eax, 0
-+ movl 4, %eax
-+ dec %eax
-+ movl %eax, 4
-+ je .4
-+ ret
-+.4: jmp *8
-+
-+GLOBL ( _x86_Vertex3fv_6_end )
-+
-+/*
-+ Vertex 3fv vertex size 8
-+*/
-+GLOBL ( _x86_Vertex3fv_8 )
-+ movl (0), %eax
-+ movl 4(%esp), %ecx
-+ movl (%ecx), %edx
-+ movl %edx ,(%eax)
-+ movl 4(%ecx) ,%edx
-+ movl 8(%ecx) ,%ecx
-+ movl %edx, 4(%eax)
-+ movl %ecx, 8(%eax)
-+ movl (28), %edx
-+ movl (32), %ecx
-+ movl %edx, 12(%eax)
-+ movl %ecx, 16(%eax)
-+ movl (28), %edx
-+ movl (32), %ecx
-+ movl %edx, 20(%eax)
-+ movl %ecx, 24(%eax)
-+ movl (36), %edx
-+ movl %edx, 28(%eax)
-+ addl $32, %eax
-+ movl %eax, (0)
-+ movl 4, %eax
-+ dec %eax
-+ movl %eax, (4)
-+ je .5
-+ ret
-+.5: jmp *8
-+
-+GLOBL ( _x86_Vertex3fv_8_end )
-+
-+/*
-+ Vertex 3fv generic vertex size
-+*/
-+GLOBL ( _x86_Vertex3fv )
-+ movl 4(%esp), %edx
-+ push %edi
-+ push %esi
-+ movl (0x1010101), %edi
-+ movl (%edx), %eax
-+ movl 4(%edx), %ecx
-+ movl 8(%edx), %esi
-+ movl %eax, (%edi)
-+ movl %ecx, 4(%edi)
-+ movl %esi, 8(%edi)
-+ addl $12, %edi
-+ movl $6, %ecx
-+ movl $0x58, %esi
-+ repz
-+ movsl %ds:(%esi), %es:(%edi)
-+ movl %edi, (0x1010101)
-+ movl (0x2020202), %eax
-+ pop %esi
-+ pop %edi
-+ dec %eax
-+ movl %eax, (0x2020202)
-+ je .6
-+ ret
-+.6: jmp *0
-+GLOBL ( _x86_Vertex3fv_end )
-+
-+
-+/**
-+ * Generic handler for 2 float format data. This can be used for
-+ * TexCoord2f and possibly other functions.
-+ */
-+
-+GLOBL ( _x86_Attribute2f )
-+ movl $0x0, %edx
-+ movl 4(%esp), %eax
-+ movl 8(%esp), %ecx
-+ movl %eax, (%edx)
-+ movl %ecx, 4(%edx)
-+ ret
-+GLOBL ( _x86_Attribute2f_end )
-+
-+
-+/**
-+ * Generic handler for 2 float vector format data. This can be used for
-+ * TexCoord2fv and possibly other functions.
-+ */
-+
-+GLOBL( _x86_Attribute2fv)
-+ movl 4(%esp), %eax /* load 'v' off stack */
-+ movl (%eax), %ecx /* load v[0] */
-+ movl 4(%eax), %eax /* load v[1] */
-+ movl %ecx, 0 /* store v[0] to current vertex */
-+ movl %eax, 4 /* store v[1] to current vertex */
-+ ret
-+GLOBL ( _x86_Attribute2fv_end )
-+
-+
-+/**
-+ * Generic handler for 3 float format data. This can be used for
-+ * Normal3f, Color3f (when the color target is also float), or
-+ * TexCoord3f.
-+ */
-+
-+GLOBL ( _x86_Attribute3f )
-+ movl 4(%esp), %ecx
-+ movl 8(%esp), %edx
-+ movl 12(%esp), %eax
-+ movl %ecx, 0
-+ movl %edx, 4
-+ movl %eax, 8
-+ ret
-+GLOBL ( _x86_Attribute3f_end )
-+
-+/**
-+ * Generic handler for 3 float vector format data. This can be used for
-+ * Normal3f, Color3f (when the color target is also float), or
-+ * TexCoord3f.
-+ */
-+
-+GLOBL( _x86_Attribute3fv)
-+ movl 4(%esp), %eax /* load 'v' off stack */
-+ movl (%eax), %ecx /* load v[0] */
-+ movl 4(%eax), %edx /* load v[1] */
-+ movl 8(%eax), %eax /* load v[2] */
-+ movl %ecx, 0 /* store v[0] to current vertex */
-+ movl %edx, 4 /* store v[1] to current vertex */
-+ movl %eax, 8 /* store v[2] to current vertex */
-+ ret
-+GLOBL ( _x86_Attribute3fv_end )
-+
-+
-+/*
-+ Color 4ubv_ub
-+*/
-+GLOBL ( _x86_Color4ubv_ub )
-+ movl 4(%esp), %eax
-+ movl $0x12345678, %edx
-+ movl (%eax), %eax
-+ movl %eax, (%edx)
-+ ret
-+GLOBL ( _x86_Color4ubv_ub_end )
-+
-+/*
-+ Color 4ubv 4f
-+*/
-+GLOBL ( _x86_Color4ubv_4f )
-+ push %ebx
-+ movl $0, %edx
-+ xor %eax, %eax
-+ xor %ecx, %ecx
-+ movl 8(%esp), %ebx
-+ movl (%ebx), %ebx
-+ mov %bl, %al
-+ mov %bh, %cl
-+ movl (%edx,%eax,4),%eax
-+ movl (%edx,%ecx,4),%ecx
-+ movl %eax, (0xdeadbeaf)
-+ movl %ecx, (0xdeadbeaf)
-+ xor %eax, %eax
-+ xor %ecx, %ecx
-+ shr $16, %ebx
-+ mov %bl, %al
-+ mov %bh, %cl
-+ movl (%edx,%eax,4), %eax
-+ movl (%edx,%ecx,4), %ecx
-+ movl %eax, (0xdeadbeaf)
-+ movl %ecx, (0xdeadbeaf)
-+ pop %ebx
-+ ret
-+GLOBL ( _x86_Color4ubv_4f_end )
-+
-+/*
-+
-+ Color4ub_ub
-+*/
-+GLOBL( _x86_Color4ub_ub )
-+ push %ebx
-+ movl 8(%esp), %eax
-+ movl 12(%esp), %edx
-+ movl 16(%esp), %ecx
-+ movl 20(%esp), %ebx
-+ mov %al, (0)
-+ mov %dl, (0)
-+ mov %cl, (0)
-+ mov %bl, (0)
-+ pop %ebx
-+ ret
-+GLOBL( _x86_Color4ub_ub_end )
-+
-+
-+/* \todo: change the "and $7, %eax" to something like "target & 4 ? target & 5 : target & 3)" */
-+/*
-+ MultiTexCoord2fv st0/st1
-+*/
-+GLOBL( _x86_MultiTexCoord2fv )
-+ movl 4(%esp), %eax
-+ movl 8(%esp), %ecx
-+ and $7, %eax
-+ movl (%ecx), %edx
-+ shl $3, %eax
-+ movl 4(%ecx), %ecx
-+ movl %edx, 0xdeadbeef(%eax)
-+ movl %ecx, 0xdeadbeef(%eax)
-+ ret
-+GLOBL( _x86_MultiTexCoord2fv_end )
-+
-+/*
-+ MultiTexCoord2fv
-+*/
-+
-+GLOBL( _x86_MultiTexCoord2fv_2 )
-+ movl 4(%esp,1), %eax
-+ movl 8(%esp,1), %ecx
-+ and $0x7, %eax
-+ movl 0(,%eax,4), %edx
-+ movl (%ecx), %eax
-+ movl %eax, (%edx)
-+ movl 4(%ecx), %eax
-+ movl %eax, 4(%edx)
-+ ret
-+GLOBL( _x86_MultiTexCoord2fv_2_end )
-+
-+/*
-+ MultiTexCoord2f st0/st1
-+*/
-+GLOBL( _x86_MultiTexCoord2f )
-+ movl 4(%esp), %eax
-+ movl 8(%esp), %edx
-+ movl 12(%esp), %ecx
-+ and $7, %eax
-+ shl $3, %eax
-+ movl %edx, 0xdeadbeef(%eax)
-+ movl %ecx, 0xdeadbeef(%eax)
-+ ret
-+GLOBL( _x86_MultiTexCoord2f_end )
-+
-+/*
-+ MultiTexCoord2f
-+*/
-+GLOBL( _x86_MultiTexCoord2f_2 )
-+ movl 4(%esp), %eax
-+ movl 8(%esp), %edx
-+ movl 12(%esp,1), %ecx
-+ and $7,%eax
-+ movl 0(,%eax,4), %eax
-+ movl %edx, (%eax)
-+ movl %ecx, 4(%eax)
-+ ret
-+GLOBL( _x86_MultiTexCoord2f_2_end )
-+
-+#if defined(USE_SSE_ASM)
-+/**
-+ * This can be used as a template for either Color3fv (when the color
-+ * target is also a 3f) or Normal3fv.
-+ */
-+
-+GLOBL( _sse_Attribute3fv )
-+ movl 4(%esp), %eax
-+ movlps (%eax), %xmm0
-+ movl 8(%eax), %eax
-+ movlps %xmm0, 0
-+ movl %eax, 8
-+ ret
-+GLOBL( _sse_Attribute3fv_end )
-+
-+/**
-+ * This can be used as a template for either Color3f (when the color
-+ * target is also a 3f) or Normal3f.
-+ */
-+
-+GLOBL( _sse_Attribute3f )
-+ movlps 4(%esp), %xmm0
-+ movl 12(%esp), %eax
-+ movlps %xmm0, 0
-+ movl %eax, 8
-+ ret
-+GLOBL( _sse_Attribute3f_end )
-+
-+
-+/**
-+ * Generic handler for 2 float vector format data. This can be used for
-+ * TexCoord2fv and possibly other functions.
-+ */
-+
-+GLOBL( _sse_Attribute2fv )
-+ movl 4(%esp), %eax
-+ movlps (%eax), %xmm0
-+ movlps %xmm0, 0
-+ ret
-+GLOBL( _sse_Attribute2fv_end )
-+
-+
-+/**
-+ * Generic handler for 2 float format data. This can be used for
-+ * TexCoord2f and possibly other functions.
-+ */
-+
-+GLOBL( _sse_Attribute2f )
-+ movlps 4(%esp), %xmm0
-+ movlps %xmm0, 0
-+ ret
-+GLOBL( _sse_Attribute2f_end )
-+
-+/*
-+ MultiTexCoord2fv st0/st1
-+*/
-+GLOBL( _sse_MultiTexCoord2fv )
-+ movl 4(%esp), %eax
-+ movl 8(%esp), %ecx
-+ and $7, %eax
-+ movlps (%ecx), %xmm0
-+ movlps %xmm0, 0xdeadbeef(,%eax,8)
-+ ret
-+GLOBL( _sse_MultiTexCoord2fv_end )
-+
-+/*
-+ MultiTexCoord2fv
-+*/
-+GLOBL( _sse_MultiTexCoord2fv_2 )
-+ movl 4(%esp), %eax
-+ movl 8(%esp), %ecx
-+ and $0x7, %eax
-+ movl 0(,%eax,4), %edx
-+ movlps (%ecx), %xmm0
-+ movlps %xmm0, (%edx)
-+ ret
-+GLOBL( _sse_MultiTexCoord2fv_2_end )
-+
-+/*
-+ MultiTexCoord2f st0/st1
-+*/
-+GLOBL( _sse_MultiTexCoord2f )
-+ movl 4(%esp), %eax
-+ and $7, %eax
-+ movlps 8(%esp), %xmm0
-+ movlps %xmm0, 0xdeadbeef(,%eax,8)
-+ ret
-+GLOBL( _sse_MultiTexCoord2f_end )
-+
-+/*
-+ MultiTexCoord2f
-+*/
-+GLOBL( _sse_MultiTexCoord2f_2 )
-+ movl 4(%esp), %eax
-+ movlps 8(%esp), %xmm0
-+ and $7,%eax
-+ movl 0(,%eax,4), %eax
-+ movlps %xmm0, (%eax)
-+ ret
-+GLOBL( _sse_MultiTexCoord2f_2_end )
-+#endif
-diff -urN Mesa-6.3.2.orig/src/mesa/drivers/dri/radeon/radeon_vtxtmp_x86.S Mesa-6.3.2/src/mesa/drivers/dri/radeon/radeon_vtxtmp_x86.S
---- Mesa-6.3.2.orig/src/mesa/drivers/dri/radeon/radeon_vtxtmp_x86.S 1969-12-31 16:00:00.000000000 -0800
-+++ Mesa-6.3.2/src/mesa/drivers/dri/radeon/radeon_vtxtmp_x86.S 2004-04-26 03:10:23.000000000 -0700
-@@ -0,0 +1,494 @@
-+/* $XFree86: xc/lib/GL/mesa/src/drv/radeon/radeon_vtxtmp_x86.S,v 1.1 2002/10/30 12:51:58 alanh Exp $ */
-+/**************************************************************************
-+
-+Copyright 2002 Tungsten Graphics Inc., Cedar Park, Texas.
-+
-+All Rights Reserved.
-+
-+Permission is hereby granted, free of charge, to any person obtaining a
-+copy of this software and associated documentation files (the "Software"),
-+to deal in the Software without restriction, including without limitation
-+on the rights to use, copy, modify, merge, publish, distribute, sub
-+license, and/or sell copies of the Software, and to permit persons to whom
-+the Software is furnished to do so, subject to the following conditions:
-+
-+The above copyright notice and this permission notice (including the next
-+paragraph) shall be included in all copies or substantial portions of the
-+Software.
-+
-+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-+FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-+ATI, TUNGSTEN GRAPHICS AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM,
-+DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
-+OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
-+USE OR OTHER DEALINGS IN THE SOFTWARE.
-+
-+**************************************************************************/
-+
-+#define GLOBL( x ) \
-+.globl x; \
-+x:
-+
-+.data
-+.align 4
-+
-+/*
-+ vertex 3f vertex size 4
-+*/
-+
-+GLOBL ( _x86_Vertex3f_4 )
-+ movl (0), %ecx
-+ movl 4(%esp), %eax
-+ movl 8(%esp), %edx
-+ movl %eax, (%ecx)
-+ movl %edx, 4(%ecx)
-+ movl 12(%esp), %eax
-+ movl (0), %edx
-+ movl %eax, 8(%ecx)
-+ movl %edx, 12(%ecx)
-+ movl (0), %eax
-+ addl $16, %ecx
-+ dec %eax
-+ movl %ecx, (0)
-+ movl %eax, (0)
-+ je .1
-+ ret
-+.1: jmp *0
-+
-+GLOBL ( _x86_Vertex3f_4_end )
-+
-+/*
-+ vertex 3f vertex size 6
-+*/
-+GLOBL ( _x86_Vertex3f_6 )
-+ push %edi
-+ movl (0), %edi
-+ movl 8(%esp), %eax
-+ movl 12(%esp), %edx
-+ movl 16(%esp), %ecx
-+ movl %eax, (%edi)
-+ movl %edx, 4(%edi)
-+ movl %ecx, 8(%edi)
-+ movl (0), %eax
-+ movl (0), %edx
-+ movl (0), %ecx
-+ movl %eax, 12(%edi)
-+ movl %edx, 16(%edi)
-+ movl %ecx, 20(%edi)
-+ addl $24, %edi
-+ movl (0), %eax
-+ movl %edi, (0)
-+ dec %eax
-+ pop %edi
-+ movl %eax, (0)
-+ je .2
-+ ret
-+.2: jmp *0
-+GLOBL ( _x86_Vertex3f_6_end )
-+/*
-+ vertex 3f generic size
-+*/
-+GLOBL ( _x86_Vertex3f )
-+ push %edi
-+ push %esi
-+ movl $0, %esi
-+ movl (0), %edi
-+ movl 12(%esp), %eax
-+ movl 16(%esp), %edx
-+ movl 20(%esp), %ecx
-+ movl %eax, (%edi)
-+ movl %edx, 4(%edi)
-+ movl %ecx, 8(%edi)
-+ addl $12, %edi
-+ movl $0, %ecx
-+ repz
-+ movsl %ds:(%esi), %es:(%edi)
-+ movl (0), %eax
-+ movl %edi, (0)
-+ dec %eax
-+ movl %eax, (0)
-+ pop %esi
-+ pop %edi
-+ je .3
-+ ret
-+.3: jmp *0
-+
-+GLOBL ( _x86_Vertex3f_end )
-+
-+/*
-+ Vertex 3fv vertex size 6
-+*/
-+GLOBL ( _x86_Vertex3fv_6 )
-+ movl (0), %eax
-+ movl 4(%esp), %ecx
-+ movl (%ecx), %edx
-+ movl %edx, (%eax)
-+ movl 4(%ecx), %edx
-+ movl 8(%ecx), %ecx
-+ movl %edx, 4(%eax)
-+ movl %ecx, 8(%eax)
-+ movl (28), %edx
-+ movl (32), %ecx
-+ movl %edx, 12(%eax)
-+ movl %ecx, 16(%eax)
-+ movl (36), %edx
-+ movl %edx, 20(%eax)
-+ addl $24, %eax
-+ movl %eax, 0
-+ movl 4, %eax
-+ dec %eax
-+ movl %eax, 4
-+ je .4
-+ ret
-+.4: jmp *8
-+
-+GLOBL ( _x86_Vertex3fv_6_end )
-+
-+/*
-+ Vertex 3fv vertex size 8
-+*/
-+GLOBL ( _x86_Vertex3fv_8 )
-+ movl (0), %eax
-+ movl 4(%esp), %ecx
-+ movl (%ecx), %edx
-+ movl %edx ,(%eax)
-+ movl 4(%ecx) ,%edx
-+ movl 8(%ecx) ,%ecx
-+ movl %edx, 4(%eax)
-+ movl %ecx, 8(%eax)
-+ movl (28), %edx
-+ movl (32), %ecx
-+ movl %edx, 12(%eax)
-+ movl %ecx, 16(%eax)
-+ movl (28), %edx
-+ movl (32), %ecx
-+ movl %edx, 20(%eax)
-+ movl %ecx, 24(%eax)
-+ movl (36), %edx
-+ movl %edx, 28(%eax)
-+ addl $32, %eax
-+ movl %eax, (0)
-+ movl 4, %eax
-+ dec %eax
-+ movl %eax, (4)
-+ je .5
-+ ret
-+.5: jmp *8
-+
-+GLOBL ( _x86_Vertex3fv_8_end )
-+
-+/*
-+ Vertex 3fv generic vertex size
-+*/
-+GLOBL ( _x86_Vertex3fv )
-+ movl 4(%esp), %edx
-+ push %edi
-+ push %esi
-+ movl (0x1010101), %edi
-+ movl (%edx), %eax
-+ movl 4(%edx), %ecx
-+ movl 8(%edx), %esi
-+ movl %eax, (%edi)
-+ movl %ecx, 4(%edi)
-+ movl %esi, 8(%edi)
-+ addl $12, %edi
-+ movl $6, %ecx
-+ movl $0x58, %esi
-+ repz
-+ movsl %ds:(%esi), %es:(%edi)
-+ movl %edi, (0x1010101)
-+ movl (0x2020202), %eax
-+ pop %esi
-+ pop %edi
-+ dec %eax
-+ movl %eax, (0x2020202)
-+ je .6
-+ ret
-+.6: jmp *0
-+GLOBL ( _x86_Vertex3fv_end )
-+
-+
-+/**
-+ * Generic handler for 2 float format data. This can be used for
-+ * TexCoord2f and possibly other functions.
-+ */
-+
-+GLOBL ( _x86_Attribute2f )
-+ movl $0x0, %edx
-+ movl 4(%esp), %eax
-+ movl 8(%esp), %ecx
-+ movl %eax, (%edx)
-+ movl %ecx, 4(%edx)
-+ ret
-+GLOBL ( _x86_Attribute2f_end )
-+
-+
-+/**
-+ * Generic handler for 2 float vector format data. This can be used for
-+ * TexCoord2fv and possibly other functions.
-+ */
-+
-+GLOBL( _x86_Attribute2fv)
-+ movl 4(%esp), %eax /* load 'v' off stack */
-+ movl (%eax), %ecx /* load v[0] */
-+ movl 4(%eax), %eax /* load v[1] */
-+ movl %ecx, 0 /* store v[0] to current vertex */
-+ movl %eax, 4 /* store v[1] to current vertex */
-+ ret
-+GLOBL ( _x86_Attribute2fv_end )
-+
-+
-+/**
-+ * Generic handler for 3 float format data. This can be used for
-+ * Normal3f, Color3f (when the color target is also float), or
-+ * TexCoord3f.
-+ */
-+
-+GLOBL ( _x86_Attribute3f )
-+ movl 4(%esp), %ecx
-+ movl 8(%esp), %edx
-+ movl 12(%esp), %eax
-+ movl %ecx, 0
-+ movl %edx, 4
-+ movl %eax, 8
-+ ret
-+GLOBL ( _x86_Attribute3f_end )
-+
-+/**
-+ * Generic handler for 3 float vector format data. This can be used for
-+ * Normal3f, Color3f (when the color target is also float), or
-+ * TexCoord3f.
-+ */
-+
-+GLOBL( _x86_Attribute3fv)
-+ movl 4(%esp), %eax /* load 'v' off stack */
-+ movl (%eax), %ecx /* load v[0] */
-+ movl 4(%eax), %edx /* load v[1] */
-+ movl 8(%eax), %eax /* load v[2] */
-+ movl %ecx, 0 /* store v[0] to current vertex */
-+ movl %edx, 4 /* store v[1] to current vertex */
-+ movl %eax, 8 /* store v[2] to current vertex */
-+ ret
-+GLOBL ( _x86_Attribute3fv_end )
-+
-+
-+/*
-+ Color 4ubv_ub
-+*/
-+GLOBL ( _x86_Color4ubv_ub )
-+ movl 4(%esp), %eax
-+ movl $0x12345678, %edx
-+ movl (%eax), %eax
-+ movl %eax, (%edx)
-+ ret
-+GLOBL ( _x86_Color4ubv_ub_end )
-+
-+/*
-+ Color 4ubv 4f
-+*/
-+GLOBL ( _x86_Color4ubv_4f )
-+ push %ebx
-+ movl $0, %edx
-+ xor %eax, %eax
-+ xor %ecx, %ecx
-+ movl 8(%esp), %ebx
-+ movl (%ebx), %ebx
-+ mov %bl, %al
-+ mov %bh, %cl
-+ movl (%edx,%eax,4),%eax
-+ movl (%edx,%ecx,4),%ecx
-+ movl %eax, (0xdeadbeaf)
-+ movl %ecx, (0xdeadbeaf)
-+ xor %eax, %eax
-+ xor %ecx, %ecx
-+ shr $16, %ebx
-+ mov %bl, %al
-+ mov %bh, %cl
-+ movl (%edx,%eax,4), %eax
-+ movl (%edx,%ecx,4), %ecx
-+ movl %eax, (0xdeadbeaf)
-+ movl %ecx, (0xdeadbeaf)
-+ pop %ebx
-+ ret
-+GLOBL ( _x86_Color4ubv_4f_end )
-+
-+/*
-+
-+ Color4ub_ub
-+*/
-+GLOBL( _x86_Color4ub_ub )
-+ push %ebx
-+ movl 8(%esp), %eax
-+ movl 12(%esp), %edx
-+ movl 16(%esp), %ecx
-+ movl 20(%esp), %ebx
-+ mov %al, (0)
-+ mov %dl, (0)
-+ mov %cl, (0)
-+ mov %bl, (0)
-+ pop %ebx
-+ ret
-+GLOBL( _x86_Color4ub_ub_end )
-+
-+
-+/*
-+ MultiTexCoord2fv st0/st1
-+*/
-+GLOBL( _x86_MultiTexCoord2fv )
-+ movl 4(%esp), %eax
-+ movl 8(%esp), %ecx
-+ and $1, %eax
-+ movl (%ecx), %edx
-+ shl $3, %eax
-+ movl 4(%ecx), %ecx
-+ movl %edx, 0xdeadbeef(%eax)
-+ movl %ecx, 0xdeadbeef(%eax)
-+ ret
-+GLOBL( _x86_MultiTexCoord2fv_end )
-+
-+/*
-+ MultiTexCoord2fv
-+*/
-+
-+GLOBL( _x86_MultiTexCoord2fv_2 )
-+ movl 4(%esp,1), %eax
-+ movl 8(%esp,1), %ecx
-+ and $0x1, %eax
-+ movl 0(,%eax,4), %edx
-+ movl (%ecx), %eax
-+ movl %eax, (%edx)
-+ movl 4(%ecx), %eax
-+ movl %eax, 4(%edx)
-+ ret
-+GLOBL( _x86_MultiTexCoord2fv_2_end )
-+
-+/*
-+ MultiTexCoord2f st0/st1
-+*/
-+GLOBL( _x86_MultiTexCoord2f )
-+ movl 4(%esp), %eax
-+ movl 8(%esp), %edx
-+ movl 12(%esp), %ecx
-+ and $1, %eax
-+ shl $3, %eax
-+ movl %edx, 0xdeadbeef(%eax)
-+ movl %ecx, 0xdeadbeef(%eax)
-+ ret
-+GLOBL( _x86_MultiTexCoord2f_end )
-+
-+/*
-+ MultiTexCoord2f
-+*/
-+GLOBL( _x86_MultiTexCoord2f_2 )
-+ movl 4(%esp), %eax
-+ movl 8(%esp), %edx
-+ movl 12(%esp,1), %ecx
-+ and $1,%eax
-+ movl 0(,%eax,4), %eax
-+ movl %edx, (%eax)
-+ movl %ecx, 4(%eax)
-+ ret
-+GLOBL( _x86_MultiTexCoord2f_2_end )
-+
-+#if defined(USE_SSE_ASM)
-+/**
-+ * This can be used as a template for either Color3fv (when the color
-+ * target is also a 3f) or Normal3fv.
-+ */
-+
-+GLOBL( _sse_Attribute3fv )
-+ movl 4(%esp), %eax
-+ movlps (%eax), %xmm0
-+ movl 8(%eax), %eax
-+ movlps %xmm0, 0
-+ movl %eax, 8
-+ ret
-+GLOBL( _sse_Attribute3fv_end )
-+
-+/**
-+ * This can be used as a template for either Color3f (when the color
-+ * target is also a 3f) or Normal3f.
-+ */
-+
-+GLOBL( _sse_Attribute3f )
-+ movlps 4(%esp), %xmm0
-+ movl 12(%esp), %eax
-+ movlps %xmm0, 0
-+ movl %eax, 8
-+ ret
-+GLOBL( _sse_Attribute3f_end )
-+
-+
-+/**
-+ * Generic handler for 2 float vector format data. This can be used for
-+ * TexCoord2fv and possibly other functions.
-+ */
-+
-+GLOBL( _sse_Attribute2fv )
-+ movl 4(%esp), %eax
-+ movlps (%eax), %xmm0
-+ movlps %xmm0, 0
-+ ret
-+GLOBL( _sse_Attribute2fv_end )
-+
-+
-+/**
-+ * Generic handler for 2 float format data. This can be used for
-+ * TexCoord2f and possibly other functions.
-+ */
-+
-+GLOBL( _sse_Attribute2f )
-+ movlps 4(%esp), %xmm0
-+ movlps %xmm0, 0
-+ ret
-+GLOBL( _sse_Attribute2f_end )
-+
-+/*
-+ MultiTexCoord2fv st0/st1
-+*/
-+GLOBL( _sse_MultiTexCoord2fv )
-+ movl 4(%esp), %eax
-+ movl 8(%esp), %ecx
-+ and $1, %eax
-+ movlps (%ecx), %xmm0
-+ movlps %xmm0, 0xdeadbeef(,%eax,8)
-+ ret
-+GLOBL( _sse_MultiTexCoord2fv_end )
-+
-+/*
-+ MultiTexCoord2fv
-+*/
-+GLOBL( _sse_MultiTexCoord2fv_2 )
-+ movl 4(%esp), %eax
-+ movl 8(%esp), %ecx
-+ and $0x1, %eax
-+ movl 0(,%eax,4), %edx
-+ movlps (%ecx), %xmm0
-+ movlps %xmm0, (%edx)
-+ ret
-+GLOBL( _sse_MultiTexCoord2fv_2_end )
-+
-+/*
-+ MultiTexCoord2f st0/st1
-+*/
-+GLOBL( _sse_MultiTexCoord2f )
-+ movl 4(%esp), %eax
-+ and $1, %eax
-+ movlps 8(%esp), %xmm0
-+ movlps %xmm0, 0xdeadbeef(,%eax,8)
-+ ret
-+GLOBL( _sse_MultiTexCoord2f_end )
-+
-+/*
-+ MultiTexCoord2f
-+*/
-+GLOBL( _sse_MultiTexCoord2f_2 )
-+ movl 4(%esp), %eax
-+ movlps 8(%esp), %xmm0
-+ and $1,%eax
-+ movl 0(,%eax,4), %eax
-+ movlps %xmm0, (%eax)
-+ ret
-+GLOBL( _sse_MultiTexCoord2f_2_end )
-+#endif