[ Thread Index |
Date Index
| More lists.liballeg.org/allegro-developers Archives
]
I just stumbled upon two unused macros in src/i386/iscanmmx.s, apparently a
pasto from src/i386/iscan.s.
Removed thusly on trunk and branch.
--
Eric Botcazou
Index: src/i386/iscanmmx.s
===================================================================
RCS file: /cvsroot/alleg/allegro/src/i386/iscanmmx.s,v
retrieving revision 1.2
diff -u -r1.2 iscanmmx.s
--- src/i386/iscanmmx.s 12 Feb 2001 06:05:18 -0000 1.2
+++ src/i386/iscanmmx.s 15 Jul 2003 08:46:28 -0000
@@ -768,124 +768,6 @@
fxch %st(2) /* swap zvu stack to uvz */ ; \
fxch %st(1) /* swap uvz stack back to vuz */
-/* main body of the perspective-correct texture mapping routine */
-#define INIT_PTEX(extra...) \
- pushl %ebp ; \
- movl %esp, %ebp ; \
- subl $100, %esp /* local variables */ ; \
- pushl %ebx ; \
- pushl %esi ; \
- pushl %edi ; \
- ; \
- movl INFO, %esi /* load registers */ ; \
- ; \
- flds POLYSEG_Z(%esi) /* z at bottom of fpu stack */ ; \
- flds POLYSEG_FU(%esi) /* followed by u */ ; \
- flds POLYSEG_FV(%esi) /* followed by v */ ; \
- ; \
- flds POLYSEG_DFU(%esi) /* multiply diffs by four */ ; \
- flds POLYSEG_DFV(%esi) ; \
- flds POLYSEG_DZ(%esi) ; \
- fxch %st(2) /* u v z */ ; \
- fadd %st(0), %st(0) /* 2u v z */ ; \
- fxch %st(1) /* v 2u z */ ; \
- fadd %st(0), %st(0) /* 2v 2u z */ ; \
- fxch %st(2) /* z 2u 2v */ ; \
- fadd %st(0), %st(0) /* 2z 2u 2v */ ; \
- fxch %st(1) /* 2u 2z 2v */ ; \
- fadd %st(0), %st(0) /* 4u 2z 2v */ ; \
- fxch %st(2) /* 2v 2z 4u */ ; \
- fadd %st(0), %st(0) /* 4v 2z 4u */ ; \
- fxch %st(1) /* 2z 4v 4u */ ; \
- fadd %st(0), %st(0) /* 4z 4v 4u */ ; \
- fxch %st(2) /* 4u 4v 4z */ ; \
- fstps DU4 ; \
- fstps DV4 ; \
- fstps DZ4 ; \
- ; \
- START_FP_DIV() ; \
- ; \
- extra ; \
- ; \
- movl POLYSEG_VSHIFT(%esi), %ecx ; \
- movl POLYSEG_VMASK(%esi), %eax ; \
- movl POLYSEG_UMASK(%esi), %edx ; \
- shll %cl, %eax /* adjust v mask and shift value */ ; \
- negl %ecx ; \
- addl $16, %ecx ; \
- movl %ecx, VSHIFT ; \
- movl %eax, VMASK ; \
- movl %edx, UMASK ; \
- ; \
- END_FP_DIV() ; \
- fistpl V1 /* store v */ ; \
- fistpl U1 /* store u */ ; \
- UPDATE_FP_POS_4() ; \
- START_FP_DIV() ; \
- ; \
- movl ADDR, %edi ; \
- movl V1, %edx ; \
- movl U1, %ebx ; \
- movl POLYSEG_TEXTURE(%esi), %esi ; \
- movl $0, COUNT /* COUNT ranges from 3 to -1 */ ; \
- jmp 3f ; \
- ; \
- _align_ ; \
-1: /* step 2: compute DU, DV for next 4 steps */ ; \
- movl $3, COUNT ; \
- ; \
- END_FP_DIV() /* finish the divide */ ; \
- fistpl V1 ; \
- fistpl U1 ; \
- UPDATE_FP_POS_4() /* 4 pixels away */ ; \
- START_FP_DIV() ; \
- ; \
- movl V1, %eax ; \
- movl U1, %ecx ; \
- subl %edx, %eax ; \
- subl %ebx, %ecx ; \
- sarl $2, %eax ; \
- sarl $2, %ecx ; \
- movl %eax, DV ; \
- movl %ecx, DU ; \
-2: /* step 3 & 4: next U, V */ ; \
- addl DV, %edx ; \
- addl DU, %ebx ; \
-3: /* step 1: just use U and V */ ; \
- movl %edx, %eax /* get v */ ; \
- movb VSHIFT, %cl ; \
- sarl %cl, %eax ; \
- andl VMASK, %eax ; \
- ; \
- movl %ebx, %ecx /* get u */ ; \
- sarl $16, %ecx ; \
- andl UMASK, %ecx ; \
- addl %ecx, %eax
-
-#define END_PTEX() \
- decl W ; \
- jle 6f ; \
- decl COUNT ; \
- jg 2b ; \
- nop ; \
- jl 1b ; \
- movl V1, %edx ; \
- movl U1, %ebx ; \
- jmp 3b ; \
- _align_ ; \
-6: ; \
- fstp %st(0) /* pop fpu stack */ ; \
- fstp %st(0) ; \
- fstp %st(0) ; \
- fstp %st(0) ; \
- ; \
- popl %edi ; \
- popl %esi ; \
- popl %ebx ; \
- movl %ebp, %esp ; \
- popl %ebp
-
-
/* main body of the perspective-correct texture mapping routine,
using 3D enhancement CPUs */