source: trunk/src/opengl/mesa/vertex.asm@ 3721

Last change on this file since 3721 was 2962, checked in by jeroen, 25 years ago

* empty log message *

File size: 2.2 KB
Line 
1; $Id: vertex.asm,v 1.1 2000-03-01 18:49:39 jeroen Exp $
2;
3; Assembly versions of the general vertex transform
4;
5
6 .586p
7
8CODE32 SEGMENT DWORD USE32 PUBLIC 'CODE'
9CODE32 ENDS
10DATA32 SEGMENT DWORD USE32 PUBLIC 'DATA'
11ASSUME DS:FLAT, SS:FLAT, ES:FLAT
12DATA32 ENDS
13
14CODE32 SEGMENT
15
16PUBLIC _gl_v16_x86_general_xform
17_gl_v16_x86_general_xform:
18
19
20 push EDI
21 push ESI
22
23 mov EAX, dword ptr [ESP + 12]
24 mov ESI, dword ptr [ESP + 16]
25 mov EDX, dword ptr [ESP + 20]
26 mov EDI, dword ptr [ESP + 24]
27 mov ECX, dword ptr [ESP + 28]
28
29
30v16x86_loop:
31 fld dword ptr [EDX + 0h]
32 fmul dword ptr [ESI + 0h]
33 fld dword ptr [EDX + 0h]
34 fmul dword ptr [ESI + 4h]
35 fld dword ptr [EDX + 0h]
36 fmul dword ptr [ESI + 8h]
37 fld dword ptr [EDX + 0h]
38 fmul dword ptr [ESI + 0ch]
39 fld dword ptr [EDX + 04h]
40 fmul dword ptr [ESI + 010h]
41 fld dword ptr [EDX + 04h]
42 fmul dword ptr [ESI + 014h]
43 fld dword ptr [EDX + 04h]
44 fmul dword ptr [ESI + 018h]
45 fld dword ptr [EDX + 04h]
46 fmul dword ptr [ESI + 1ch]
47 fxch ST(3)
48 faddp ST(7), ST(0)
49 fxch ST(1)
50 faddp ST(5), ST(0)
51 faddp ST(3), ST(0)
52 faddp ST(1), ST(0)
53 fld dword ptr [EDX + 08h]
54 fmul dword ptr [ESI + 20h]
55 fld dword ptr [EDX + 8h]
56 fmul dword ptr [ESI + 24h]
57 fld dword ptr [EDX + 8h]
58 fmul dword ptr [ESI + 28h]
59 fld dword ptr [EDX + 8h]
60 fmul dword ptr [ESI + 2ch]
61 fxch ST(3)
62 faddp ST(7), ST(0)
63 fxch ST(1)
64 faddp ST(5), ST(0)
65 faddp ST(3), ST(0)
66 faddp ST(1), ST(0)
67 fxch ST(3)
68 fadd dword ptr [ESI + 30h]
69 fxch ST(2)
70 fadd dword ptr [ESI + 34h]
71 fxch ST(1)
72 fadd dword ptr [ESI + 38h]
73 fxch ST(3)
74 fadd dword ptr [ESI + 3ch]
75 fxch ST(2)
76 fstp dword ptr [EAX + 00h]
77 fstp dword ptr [EAX + 04h]
78 fxch ST(1)
79 fstp dword ptr [EAX + 08h]
80 fstp dword ptr [EAX + 0ch]
81 add EAX, 64
82 add EDX, EDI
83 dec ECX
84 jne v16x86_loop
85
86 pop ESI
87 pop EDI
88 ret
89
90CODE32 ENDS
91
92end
Note: See TracBrowser for help on using the repository browser.