SOURCES: Mesa-dri-asm.patch (NEW) - add missing asm files

jpc jpc at pld-linux.org
Thu Oct 20 21:45:21 CEST 2005


Author: jpc                          Date: Thu Oct 20 19:45:21 2005 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- add missing asm files

---- Files affected:
SOURCES:
   Mesa-dri-asm.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/Mesa-dri-asm.patch
diff -u /dev/null SOURCES/Mesa-dri-asm.patch:1.1
--- /dev/null	Thu Oct 20 21:45:21 2005
+++ SOURCES/Mesa-dri-asm.patch	Thu Oct 20 21:45:16 2005
@@ -0,0 +1,1008 @@
+--- 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)
<<Diff was trimmed, longer than 597 lines>>



More information about the pld-cvs-commit mailing list