2 ; $Source: x:/prj/tech/libsrc/g2/RCS/fl8o2ni.asm $
5 ; $Date: 1996/10/16 16:07:24 $
7 ; Inner loop of opaque linear mapping primitive.
9 ; This file is part of the g2 library.
21 extern
_g2d_tmap_info:dword
47 mov edi, _g2d_tmap_info
[G2S_TMAP_P_DEST
]
51 sub edx, eax ; get length
54 add eax, edi ; p_dest + x_left
56 sal esi, 0ffh
; v_int<<wlog
58 add edi, _g2d_tmap_info
[G2S_TMAP_DROW
]
61 mov _g2d_tmap_info
[G2S_TMAP_P_DEST
], edi
63 mov edi, eax ; edi = p_dest *
68 mov eax, _g2d_tmap_info
[G2S_TMAP_BM
]
72 add esi, ebx ; offset = u_int + v_int<<wlog
73 mov ebx, ecx ; ebx = v_frac *
75 mov ecx, edx ; length *
76 mov edx, ebp ; u_frac *
78 add esi, GRS_BITMAP_BITS
[eax]
79 ; p_src = bm->bits + offset *
88 adc esi,_g2d_tmap_info
[G2S_TMAP_DSRC
][4*eax]
89 add ebx,_g2d_tmap_info
[G2S_TMAP_DV_FRAC
]
99 ; takes eax=x_left, edx=x_right, ebx:u, ecx:v
100 public flat8_flat8_opaque_p2_nowrap_il_
101 flat8_flat8_opaque_p2_nowrap_il_:
106 ; takes eax=x_left, edx=x_right, ebx=u, ecx=v
107 ; returns ecx = length, edi=p_dst, esi=p_src, edx=u_frac, ebx=v_frac
108 call g2_flat8_tmap_setup
110 add ebx, _g2d_tmap_info
[G2S_TMAP_DV_FRAC
]
116 mov ebp, _g2d_tmap_info
[G2S_TMAP_DU_FRAC
]
137 mov ebp, _g2d_tmap_info
[G2S_TMAP_DU_FRAC
]
146 mov ecx, _g2d_tmap_info
[G2S_TMAP_DV_FRAC
]
159 mov edi,_g2d_tmap_info
[G2S_TMAP_DSRC
][4*eax]
167 mov edi,_g2d_tmap_info
[G2S_TMAP_DSRC
][4*eax]
176 mov edi,_g2d_tmap_info
[G2S_TMAP_DSRC
][4*eax]
183 mov edi,_g2d_tmap_info
[G2S_TMAP_DSRC
][4*eax]
198 mov ecx, _g2d_tmap_info
[G2S_TMAP_DV_FRAC
]